プロメテウスの設定
リモート読み書き
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では、ルールの記録と アラートが可能です。
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 はシステム・レベルのメトリクスを提供します。
追加のメトリクス・コレクターはデフォルトで有効になっています。例えば、mountstats
は、NFSマウントに関するメトリクスを収集するために使用されます。
mountstats
コレクターを無効にするには、gitlab.rb
を以下の設定で調整し、gitlab-ctl reconfigure
を実行します:
node_exporter['flags'] = {
'collector.mountstats' => false,
}
使用可能なコレクターの詳細については、アップストリームのドキュメントを参照してください。
アラートマネージャーのオプション
アラートマネージャーの グローバルオプションを設定できます。
例えば、以下の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オプションの詳細については、VictorOpsドキュメントを参照してください。