1

Kubernates セットアップ用に Prometheus Alertmanager を設定しています。メールでアラートを直接送信することはできますが、代わりに AWS SNS を使用したいと考えていました。後で、AWS-SNS が AlertManager によって公式にサポートされているのではなく、コミュニティによってサポートされていることがわかりました。

alertmanager で AWS SNS を有効にできる github プロジェクトを見つけました。

https://github.com/DataReply/alertmanager-sns-forwarder

しかし、試してみると、CrashloopBackOff ステータスが表示されます。プロジェクトごとに同じ展開 yaml を使用しています。以下は、環境固有の詳細を追加した部分です。

spec:
  replicas: 1
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  template:
    metadata:
      labels:
        component: alertmanager-sns-forwarder
      annotations:
        iam.amazonaws.com/role: cluster-test-Role
    spec:
      restartPolicy: Always
      containers:
      - name: alertmanager-sns-forwarder
        image: datareply/alertmanager-sns-forwarder
        imagePullPolicy: Always
        # You can also specify arguments
        # args: ["--addr=:9087", "--debug", "--arn-prefix=<some_prefix>"]
        env:
          - name: AWS_REGION
            value: "us-east-1"
          - name: AWS_DEFAULT_REGION
            value: "us-east-1"
          - name: SNS_FORWARDER_ADDRESS
            value: "9087"        
          - name: SNS_FORWARDER_DEBUG
            value: "false"
          - name: SNS_FORWARDER_ARN_PREFIX
            value: "arn:aws:sns:us-east-1:8xxxxxxxx:SYSTEST_K8S_ALERTS"

ログを確認しましたが、問題は見つかりませんでした。

kubectl logs -f alertmanager-sns-forwarder-f8b4546b7-97c55 -n monitoring
time="2019-01-09T07:16:19Z" level=info msg="listening on9087"
4

1 に答える 1