概要
機能として提供されていないので直接ファイルを編集する必要があります
環境
- 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 件のコメント:
コメントを投稿