2023年12月12日火曜日

omnibus-gitlab の AlertManager でログレベルをデバッグにする方法

omnibus-gitlab の AlertManager でログレベルをデバッグにする方法

概要

機能として提供されていないので直接ファイルを編集する必要があります

環境

  • Gitlab 16.3.6

runit ファイルの編集

--log.level=debug を追記します

  • docker cp root_gitlab_1:/opt/gitlab/service/alertmanager/run .
  • vim run
#!/bin/sh
exec 2>&1

umask 077
exec chpst -P -e /opt/gitlab/etc/alertmanager/env \
  -U gitlab-prometheus:gitlab-prometheus \
  -u gitlab-prometheus:gitlab-prometheus \
  /opt/gitlab/embedded/bin/alertmanager --web.listen-address=0.0.0.0:9093 --storage.path=/var/opt/gitlab/alertmanager/data --config.file=/var/opt/gitlab/alertmanager/alertmanager.yml --log.level=debug

あとは再度コンテナに配置し再起動します

  • docker cp run root_gitlab_1:/opt/gitlab/service/alertmanager/run
  • docker-compose exec gitlab gitlab-ctl restart alertmanager

再起動後ログが debug になっていることを確認します

  • tail -f /path/to/gitlab_mnt/log/alertmanager/current

prometheus の場合は

root_gitlab_1:/opt/gitlab/service/prometheus/run ファイルを同様に編集して配置してあげましょう

コンテナが再起動すると元に戻ってしまう

omnibus-gitlab はコンテナが再起動すると reconfigure が走ってしまいます
reconfigure が走ると内部で chef が実行されるため手動で変更した runit のファイルが上書きされログレベルの設定がなくなります

なのでそれの対処として直接 cookbooks を編集する方法も紹介します

sv-alertmanager-run.erb の編集

  • docker cp root_gitlab_1:/opt/gitlab/embedded/cookbooks/monitoring/templates/sv-alertmanager-run.erb .
  • vim sv-alertmanager-run.erb
#!/bin/sh
exec 2>&1
<%= render("mount_point_check.erb") %>
umask 077
exec chpst -P -e <%= @options[:env_dir] %> \
  -U <%= node['monitoring']['prometheus']['username'] %>:<%= node['monitoring']['prometheus']['group'] %> \
  -u <%= node['monitoring']['prometheus']['username'] %>:<%= node['monitoring']['prometheus']['group'] %> \
  /opt/gitlab/embedded/bin/alertmanager <%= @options[:flags] %> --log.level=debug
  • docker cp sv-alertmanager-run.erb root_gitlab_1:/opt/gitlab/embedded/cookbooks/monitoring/templates/sv-alertmanager-run.erb

これでコンテナが再作成 (down -> up) されない限り runit の実行ファイルに debug オプションが付与され続けます

Prometheus の場合は /opt/gitlab/embedded/cookbooks/monitoring/templates/sv-prometheus-run.erb を編集してください

最後に

omnibus-gitlab に MR して docker-compose から変更できるようにしてもいいのかもしれません

参考サイト

0 件のコメント:

コメントを投稿