Alertmanager
Alertmanagerは、Prometheusで発生しているアラートを構成済の受信者に送信します。PrometheusRulesにより、メトリックの値に基づいてアラートがトリガーされます。Alertmanagerでは、構成に応じて、これらのアラートのグループ化、ルーティングおよび通知の無効化が行われます。Alertmanagerでは、電子メール、Slack、PagerDutyおよびその他の一般的な通知サービス用に受信者を統合できます。
Alertmanagerの有効化
まず、Verrazzanoカスタム・リソースのPrometheusオペレータ・コンポーネントにAlertmanagerを構成して、有効化します。
apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
name: custom-prometheus
spec:
components:
prometheusOperator:
overrides:
- values:
alertmanager:
enabled: true
AlertmanagerConfigの作成
次に、AlertmanagerConfigを作成して、Alertmanagerがアラートを送信する受信者を構成します。AlertmanagerConfigを作成するには、Verrazzanoコンソールにアクセスし、次の場所に移動します:
「Monitoring」 > 「Alerting」 > 「AlertmanagerConfigs」
Alertmanagerにより、デプロイされているのと同じネームスペース(デフォルトではverrazzano-monitoring
)で、AlertmanagerConfigsが自動的に検出されます。
Alertmanagerの構成の詳細は、Alertmanagerのドキュメントを参照してください。
PrometheusRuleのデプロイ
Alertmanagerを有効にし、AlertmanagerConfigに受信者とルートを構成したら、アラートをトリガーするルールをデプロイできます。TestAlertRule
を作成するには、次のコマンドを実行します。このPrometheusRuleでは、Prometheusポッドの最後の構成のリロードが失敗した場合にアラートが送信されます。
$ kubectl apply -f - <<EOF
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
labels:
release: prometheus-operator
name: prometheus-operator-test
namespace: verrazzano-monitoring
spec:
groups:
- name: test
rules:
- alert: TestAlertRule
annotations:
description: Test alert rule
runbook_url: test-runbook-url
summary: Test alert rule
expr: |-
prometheus_config_last_reload_successful{job="prometheus-operator-kube-p-prometheus",namespace="verrazzano-monitoring"} == 0
for: 10m
labels:
severity: critical
EOF
独自のPrometheusRulesを作成して、追加のアラートを構成できます。Verrazzanoではデフォルトで、いくつかのアラート・ルールが構成され、PrometheusまたはThanos Rulerで確認できます。
詳細は、「Deploying Prometheus Rules」を参照してください。「Thanos Rulerによるアラート」も参照してください。