mtailを用いてPrometheus形式のメトリクスを公開する
概要
mtail(https://github.com/google/mtail )は、Googleが提供するログパースツールで、ログファイルから指定したパターンに一致する行を抽出し、それに基づいてメトリクスを生成して/metrics
エンドポイントにPrometheus
形式で公開することができるソフトウェアである。
mtailの使い方
mtailを利用するには、設定ファイルを定義し、ログファイルのパスとパターンを指定する必要がある。
設定ファイル (例: sample.mtail)
# メトリクスの初期化
counter errors_total
# ログファイル内のマッチングするパターン
/error/ {
errors_total++
}
counter errors_total
は、Prometheus
で使用するメトリクスを定義している。counter
はカウンタータイプのメトリクスで、ログファイル内で特定のエラーパターンが一致するたびに値が増加する。
/error/ {...}
は、ログファイル内のエラーパターンを指定している。この例では、ログの各行が/error/
という文字列を含む場合に、その行が一致すると見なされ、errors_total
カウンターが増加する。
Dockerで起動
FROM centos7:latest
RUN yum install -y wget && yum clean all
WORKDIR /tmp
RUN wget -O mtail.tar.gz https://github.com/google/mtail/releases/download/v3.0.0-rc52/mtail_3.0.0-rc52_linux_amd64.tar.gz && \
tar xzvf mtail.tar.gz && \
chmod +x mtail
CMD ["/tmp/mtail", "-progs", "/path/to/sample.mtail", "-logs", "/path/to/logfile"]
EXPOSE 3903
-progs /path/to/sample.mtail
: mtailが使用する設定ファイル(sample.mtail)のパスを指定している。-logs /path/to/logfile
: mtailが監視するログファイルのパスを指定している。mtailはこのログファイルを監視し、設定ファイルに定義されたパターンに一致する行を検出して対応するメトリクスを生成する。
Tags: