コンテンツにスキップ

ログ@テレメトリー

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


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>"