Lokiでdockerコンテナのログを監視する方法(前半)

gavin.zhou
7 min readMar 22, 2021

今回はLokiでdockerコンテナのログを監視する方法です。長いので前半と後半の2つに分けて投稿致します。今回は前半です。

みなさん、こんにちは。最近、友人がdocker コンテナのログを便利に監視する仕事を受けました。

もちろん、docker logs コマンドはコンテナのログを追跡するのには使えますが、監視することはできません。モニタリングとは、コンテナ内のアプリケーションで1時間あたりに発生している標準エラーの数を折れ線グラフで可視化したり、ログの助けを借りて他の種類の可視化をしたりすることを意味します。

ということで、今回の記事では、上記のタスクを簡単に完了させるための方法をご紹介いたします。

Let’s first drill down the problem

まず問題を掘り下げていきましょう。

私たちのコンテナは、ログファイルのようなものをどこかに投げています。必要なのは、これらのログを収集して集約し、4xx の数や “err” ログの数などの*インサイトを見つけるために、これらのログをクエリすることができるツールです。

そして、それらの数値をグラフやチャートで可視化するツールも必要です。

Where can we find our container’s logs?

コンテナのログはどこにあるのでしょうか?

コンテナのログはコンテナ内部のどこかに保存されています。コンテナは基本的にホスト上で実行されているプロセスなので、コンテナのログが保存されている場所がホスト内にあるはずです。

その場所は — /var/lib/docker/<container-id>/<container-id>-json.log です。

<container-id>はログを追跡したいコンテナのIDです。

つまり、追跡したい全てのSTDOUT/STDERRのログはここにあるということです。

Let’s explore the tools which we’ll use

Loki

これはGrafana…

--

--