Splunk On-CallのPrometheusインテグレーション 🔗
Splunk On-CallとPrometheusのインテグレーションは、オープンソースの時系列データベースによるリアルタイムの監視データと、システムの問題やインシデントに簡単に対処するために必要なコラボレーションツールを提供します。Prometheusの時系列データベースとモニタリングは、リアルタイムでライブ更新されるシステムメトリクスをチームに提供し、エラーの発生やリクエストの失敗をより迅速に示します。
Splunk On-CallとPrometheusのインテグレーションは簡単に設定でき、時系列データを集約してインシデントに一元的に対応することができます。PrometheusはSplunk On-Callとインテグレーションすることで、インシデントをリアルタイムで特定、診断、解決するだけでなく、インシデント発生後のレビューをより詳細に行うことができます。
要件 🔗
このインテグレーションは以下のバージョンのSplunk On-Callと互換性があります:
Starter
Growth
エンタープライズ
このインテグレーションは、AlertManager 0.8.0およびPrometheus 2.0.0ベータ2をサポートしています。
Splunk On-Callで Prometheusを有効化する 🔗
Splunk On-Callから、Integrations、3rd Party Integrations、Prometheus に移動し、Enable Integration を選択します。次のステップで使用するため、Service API Key をコピーします。
PrometheusでSplunk On-Callを設定する 🔗
PrometheusのWebサイトからAlertManagerをダウンロードし、設定します。AlertManagerのYAML設定ファイルに以下のコードを使用します。必ず、api_key
を以前に保存した Service API Key に置き換え、routing_key
を使用するルーティングキーに変更してください。
route:
group_by: ['alertname', 'cluster', 'service']
group_wait: 30s
group_interval: 5m
repeat_interval: 3h
receiver: victorOps-receiver
receivers:
- name: victorOps-receiver
victorops_configs:
- api_key: 558e7ebc-XXXX-XXXX-XXXX-XXXXXXXXXXXX
routing_key: Sample_route
state_message: 'Alert: {{ .CommonLabels.alertname }}. Summary:{{ .CommonAnnotations.summary }}. RawData: {{ .CommonLabels }}'
カスタムフィールドやプロキシURLを使用するには、以下のスニペットをテンプレートとして使用してください:
route:
group_by: ['alertname', 'cluster', 'service']
group_wait: 30s
group_interval: 5m
repeat_interval: 3h
receiver: victorOps-receiver
receivers:
- name: victorOps-receiver
victorops_configs:
- api_key:
routing_key:
entity_display_name: '{{ .CommonAnnotations.summary }}'
message_type: '{{ .CommonLabels.severity }}'
state_message: 'Alert: {{ .CommonLabels.alertname }}. Summary:{{ .CommonAnnotations.summary }}. RawData: {{ .CommonLabels }}'
custom_fields:
: '{{ .CommonLabels.eai_nbr }}'
# We must set a proxy to be able to send alerts to external systems
http_config:
proxy_url: 'http://internet.proxy.com:3128'
コマンドラインからPrometheusを起動し、Alertmanagerと通信するように設定します。この例では、prometheus.ymlがPrometheusの設定ファイルであり、」http://localhost:9093」がPrometheusが指すAlertmanagerのインスタンスです。
./prometheus -config.file=prometheus.yml -alertmanager.url=http://localhost:9093
次に、先ほどのAlertmanager設定ファイルを使用して、コマンドラインからAlertmanagerを起動します。この例では、alertmanager.ymlが設定ファイルの名前です。
./alertmanager -config.file=alertmanager.yml
Prometheusからのアラートは、生成されるとアラートマネージャーに表示されます。
Prometheusによるアラート生成を待ちたくない場合は、Alertmanagerにテストメッセージを送信してください。次の例では、Alertmanagerのインスタンスでcurlを使用しています:
curl -H “Content-Type: application/json” -d '[{“labels”:{“alertname”:“TestAlert”}}]' localhost:9093/api/v1/alerts