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
Tags: