Prometheusの設定
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
リモート読み取り/書き込み
Prometheusは、リモートサービスへの読み取りと書き込みをサポートしています。
リモートの読み取りまたは書き込みサービスを設定するには、gitlab.rbに以下を含めます。
prometheus['remote_write'] = [
{
url: 'https://some-remote-write-service.example.com',
basic_auth: {
password: 'remote write secret password'
}
}
]
prometheus['remote_read'] = [
{
url: 'https://some-remote-write-service.example.com'
}
]設定オプションの詳細については、Prometheusの設定に関する情報を参照してください:
ルールファイル
Prometheusは、記録およびアラートルールを許可します。
Linuxパッケージのインストールには、/var/opt/gitlab/prometheus/rules/に保存されているデフォルトルールファイルが含まれています。
デフォルトルールをオーバーライドするには、gitlab.rb.でデフォルトリストを変更できます。
ルールなし:
prometheus['rules_files'] = []カスタムリスト:
prometheus['rules_files'] = ['/path/to/rules/*.rules', '/path/to/single/file.rules']外部ラベル
外部ラベルを設定するには:
prometheus['external_labels'] = {
'region' => 'us-west-2',
'source' => 'omnibus',
}デフォルトでは外部ラベルは設定されません。
node_exporter
node_exporterはシステムレベルのメトリクスを提供します。
追加のメトリクスコレクターはデフォルトで有効になっています。例えば、NFSマウントに関するメトリクスを収集するためにmountstatsが使用されます。
mountstatsコレクターを無効にするには、gitlab.rbを以下の設定で調整し、gitlab-ctl reconfigureを実行します:
node_exporter['flags'] = {
'collector.mountstats' => false,
}利用可能なコレクターの詳細については、アップストリームのドキュメントを参照してください。
Alertmanagerオプション
Alertmanagerのグローバルオプションを設定できます。
例えば、以下のgitlab.rb設定は、AlertmanagerがSMTPサーバーに対して自身を識別するために使用するホスト名をオーバーライドします:
alertmanager['global'] = {
'smtp_hello' => 'example.org'
}追加のレシーバーとルート
この例では、VictorOps用の新しいレシーバーを実装します。
/etc/gitlab/gitlab.rbを編集して、新しいレシーバーを追加し、ルートを定義します:alertmanager['receivers'] = [ { 'name' => 'victorOps-receiver', 'victorops_configs' => [ { 'routing_key' => 'Sample_route', 'api_key' => '558e7ebc-XXXX-XXXX-XXXX-XXXXXXXXXXXX', 'entity_display_name' => '{{ .CommonAnnotations.summary }}', 'message_type' => '{{ .CommonLabels.severity }}', 'state_message' => 'Alert: {{ .CommonLabels.alertname }}. Summary:{{ .CommonAnnotations.summary }}. RawData: {{ .CommonLabels }}', 'http_config' => { proxy_url: 'http://internet.proxy.com:3128' } } #, { Next receiver } ] } ] alertmanager['routes'] = [ { 'receiver' => 'victorOps-receiver', 'group_wait' => '30s', 'group_interval' => '5m', 'repeat_interval' => '3h', 'matchers' => [ 'severity = high' ] } #, { Next route } ]GitLabを再設定します:
sudo gitlab-ctl reconfigure
Alertmanagerは、severity = highのアラートをvictorops-receiverにルーティングします。
Alertmanager用VictorOpsオプションの詳細については、こちらをご覧ください。