GitlabをPrometheusで監視する

9.3からサポートされているGitlabのPrometheusのメトリクス公開を試してみた.
環境はsameersbn/docker-gitlabの11.2.3です.
公式イメージでもできるらしいですが未検証なので参考サイトのとこに情報だけ置いておきます.

Gitlab

WebUI側での設定

Webから管理者アカウントでログインして管理画面へアクセスします.
Settings->Metricsの項目にPrometheusがあるのでそこを開きます.
prometheus_multiproc_dirの環境変数が未定義との警告がありますがひとまず有効にします.
有効にした後再起動しないと利用出来ないので再起動する際に設定します.

コンソール側での設定

prometheus_multiproc_dirとモニタリング用のエンドポイントへアクセスできるようにホワイトリストへ追加します.
今回はGitlabのDockerイメージを使用しているので

1  gitlab:
2    restart: always
3    image: sameersbn/gitlab:11.2.3
4    ...
5    environment:
6    ...
7    # Prometheus Config
8    - prometheus_multiproc_dir=/dev/shm
9    - GITLAB_MONITORING_IP_WHITELIST=192.168.xxx.xxx

のように必要な環境変数を設定します.
あとはコンテナに設定を適用して終わりです.

1$ docker-compose up -d

これで
http://gitlab-host/-/metrics
からPrometheus用のフォーマットでメトリクスを収集することができます.

Prometheus

監視対象としていつも通り登録すれば終わりですがいつもと違い/metricsではなく/-/metricsとなるのでそこだけリラベルする必要があります.

1- targets:
2  - gitlab.local:10080
3  labels:
4    __metrics_path__: /-/metrics

参考サイト