ログ@テレメトリー¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. ログ¶
ログとは¶
特定の瞬間に発生したイベントが記載されたデータのこと。
構造からみた種類¶
▼ 非構造化ログ¶
構造が無く、イベントの値だけが表示されたログのこと。
192.168.0.1 [2021-01-01 12:00:00] GET /foo/1 200
▼ 構造化ログ¶
イベントの項目名と値の対応関係を持つログのこと。
JSON型で表すが、拡張子がjson
であるというわけでないことに注意する。
{
"client_ip": "192.168.0.1",
"timestamp": "2021-01-01 12:00:00",
"method": "GET",
"url": "/foo/1",
"status_code": 200,
}
02. ログ収集方式¶
Distributed logging (分散ロギング)¶
マイクロサービスアーキテクチャの各サービスから収集されたログを、バラバラに分析/管理する。
Centralized logging (集中ロギング)¶
マイクロサービスアーキテクチャの各サービスから収集されたログを、一元的に分析/管理する。
各コンテナ (例:アプリコンテナ、サービスメッシュサイドカー) が作成するログに一意なIDを割り当て、人繋ぎに紐付ける必要がある。
例えば、ログ監視バックエンドでこのログをクエリしさえすれば、リクエストの経路がわかる。
# CloudLoggingでログをクエリする
jsonPayload.traceId="<トレースID>"