我正在为我的 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"