メイン コンテンツをスキップする 補完的コンテンツへスキップ

Data APIサーバーのログを監視

Remote Engine Gen2のData APIサーバーのログはデフォルトで公開されており、docker logsコマンドで消費できます。

ログはjson形式で、デフォルトのECS(Elastic Common Schema)パターンに従っています。生のJSON構造の行を読んでもあまり意味がないので、ログ管理プラットフォームにログを取り込ませてインデックス化すれば、より簡単に可視化できるようになります。

このドキュメンテーションでは、ELK (Elasticsearch、Logstash、Kibana)プラットフォームを使ってdataset-api-serverのログを取得して可視化する方法を紹介します。

Data APIサーバーログのアーキテクチャー図。

dataset-api-serverコンテナーにはさまざまな種類のログが記録されます。

  • OData APIのアクセスログ。検索フィールドで/apisフィルターを使えば、アクセスのログのみフィルタリングできます。
  • コンテナーが本当に稼働しているかどうかをDockerが判断するためのプローブ。検索フィールドで/environmentフィルターを使えば、プローブのログのみフィルタリングできます。
  • Data APIバックエンドとの同期ログ。検索フィールドで/synchronizationフィルターを使えば、同期のログのみフィルタリングできます。

始める前に

docker-compose.ymlファイルで、filebeat-ingestプロパティがtrueに設定されていることを確認します。これによってデフォルトでログが公開されるようになります。
dataset-api-server:
[...]
  labels:
    autoheal: 'true'
    filebeat_ingest: 'true' # Send container logs to ELK

ELKスタック

このドキュメンテーションでは、ELKスタック全体がRemote Engine Gen2と同じマシンで独自のDockerマルチコンテナーアプリケーション内で実行されているものと想定しています。また、同じくElastic社が開発したFilebeatという別のコンポーネントによってRemote Engine Gen2からログが読み取られ、ELKスタックにプッシュされます。

このドキュメンテーションはELKスタックのバージョン7.7.0を基にしています。

ドキュメンテーションページの[Downloads] (ダウンロード)タブから、必要なファイル一式が含まれているapi-server-monitoring.zipアーカイブを取得します。

  1. お好きな場所でapi-server-monitoring.zipアーカイブを解凍します。
  2. メインディレクトリーでdocker-compose up -dコマンドを実行します。
  3. http://localhost:5601というURLにアクセスします。
  4. [Management] (管理) > Kibana > [Index Patterns] (インデックスパターン)に移動し、filebeat-*というKibanaインデックスパターンを作成します。時刻には@timestampを使います。
  5. dataset-apis-serverのログは、http://localhost:5601/app/kibana#/discoverにあるKibanaのDiscoverセクションで確認できます。

ELKスタックを停止したい場合は、メインディレクトリーでdocker-compose down -vコマンドを実行します。

ログをフィルタリングおよび検索

dataset-api-serverコンテナーにはさまざまな種類のログが記録されます。

  • OData APIのアクセスログ。検索フィールドで/apisフィルターを使えば、アクセスのログのみフィルタリングできます。
  • コンテナーが本当に稼働しているかどうかをDockerが判断するためのプローブ。検索フィールドで/environmentフィルターを使えば、プローブのログのみフィルタリングできます。
  • Data APIバックエンドとの同期ログ。検索フィールドで/synchronizationフィルターを使えば、同期のログのみフィルタリングできます。
  • ログに記録されたデータをKibanaで直接視覚化する方法を設定します。

    たとえば潜在的なエラー、重大度、対応するタイムスタンプに関する情報を表示して強調するようカラムをソートできます。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。