1

我正在为我的 Kubernates 设置设置 Prometheus Alertmanager。我可以直接通过邮件发送警报,但我想改用 AWS SNS。后来我发现 AWS-SNS 并没有得到 AlertManager 的官方支持,而是得到了社区的支持。

我找到了一个 github 项目,我们可以通过它为 alertmanager 启用 AWS SNS。

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