钉钉机器人接收 Amazon CloudWatch 告警

背景

Amazon CloudWatch 告警支持邮箱和手机短信,但是不直接支持企业钉钉告警
需要自己创建钉钉告警模板,通过AWS Lambda --> AWS sns --> Amazon CloudWatch来实现企业钉钉告警
下面是具体实施步骤,亲测有效
具体可参考官方文档:https://aws.amazon.com/cn/blogs/china/enterprise-wechat-and-dingtalk-receiving-amazon-cloudwatch-alarms/

步骤

1、创建一个AWS sns主题
在这里插入图片描述

2、为创建的主题增加订阅
可以添加邮箱订阅,手机短信订阅或者Lambda订阅

3、创建钉钉机器人
记下Webhook
重点:要记下你的加密手段
在这里插入图片描述

4、创建AWS Lambda 函数
1)创建函数,选择python3.7
在这里插入图片描述

2)为Lambda添加触发器:选择上一步创建的SNS主题作为触发器
在这里插入图片描述


5、编辑环境变量
将钉钉的Webhook填入token的值中
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210720185419308.png

6、创建具有运行时依赖项的函数(zip包)
具体请查看官方文档:https://docs.aws.amazon.com/zh_cn/lambda/latest/dg/python-package-create.html
在这里插入图片描述
最后获得下图,包括requests依赖包和lambda_function.py
在这里插入图片描述
7、上传zip包在这里插入图片描述

8、点击测试,测试成功,之后创建告警选择对应sns就会有对应的事件
在这里插入图片描述
测试的代码

{
  "Records": [
    {
      "EventSource": "aws:sns",
      "Sns": {
        "MessageAttributes": {},
        "SignatureVersion": "1",
        "Type": "Notification",
        "Message": "{\"AlarmName\":\"RC-[HIGH]-grafana-group unhealthy>1\",\"AlarmDescription\":\"Created from EC2 Console\",\"AWSAccountId\":\"xxxxxx\",\"NewStateValue\":\"ALARM\",\"NewStateReason\":\"Threshold Crossed: 1 out of the last 1 datapoints [1.0 (10/10/18 11:52:00)] was greater than or equal to the threshold (1.0) (minimum 1 datapoint for OK -> ALARM transition).\",\"StateChangeTime\":\"2018-10-10T11:53:08.426+0000\",\"Region\":\"China (Ningxia)\",\"OldStateValue\":\"OK\",\"Trigger\":{\"MetricName\":\"UnHealthyHostCount\",\"Namespace\":\"AWS/ApplicationELB\",\"StatisticType\":\"Statistic\",\"Statistic\":\"MAXIMUM\",\"Unit\":null,\"Dimensions\":[{\"name\":\"LoadBalancer\",\"value\":\"app/nx-rc-rancher-inner/0689e303d72560ff\"},{\"name\":\"TargetGroup\",\"value\":\"targetgroup/grafana-ec2-rc-ops/8xxxxx\"}],\"Period\":60,\"EvaluationPeriods\":1,\"ComparisonOperator\":\"GreaterThanOrEqualToThreshold\",\"Threshold\":1.0,\"TreatMissingData\":\"\",\"EvaluateLowSampleCountPercentile\":\"\"}}",
        "UnsubscribeUrl": "https://sns.cn-northwest-1.amazonaws.com.cn/?Action=Unsubscribe&SubscriptionArn=arn:aws-cn:sns:cn-northwest-1:xxxxx:SMS-TEST:46a6b2a2-c594-4d56-ae2f-56243292bdc0",
        "TopicArn": "arn:aws-cn:sns:cn-northwest-1:xxxxx:SMS-TEST",
        "Signature": "YwtAajUhBLhS/Rtwv8dCCcKwVpglHX1hzLa0gnfRdaQ/EH5zdQk9tCAFDxvT/9z+7jiBnIZgZrNX2pCoYgU61ONYuEZ74chbxjwKfF43YxHeTIsuyPBcsTyXLsJhwE+Tem2aXRllmABC4yO0tbDIwTCSSNF8fMwlm5aOc4HO28VhVOLnuqRP1XnAglO7sJfhD6oWjN+vVvyydmkFxbC8NpxgTpuwAwT6zKsUEHWvzmhRe9bhuxwIdg/Agyip6zgGVs0rDLBbh0Tu61RgqgrDxbUp9JPklkbLR5i+ILBd110msHH8rX43KypYuzgjLtvab3YQuioqUotrdJE+/G8MeQ==",
        "SigningCertUrl": "https://sns.cn-northwest-1.amazonaws.com.cn/SimpleNotificationService-23551b0f4cfca4c8a720c40328560ad3.pem",
        "Timestamp": "2018-10-10T11:53:08.484Z",
        "Subject": "OK: \"RC-[HIGH]-grafana-group unhealthy>1\" in China (Ningxia)",
        "MessageId": "99cc6911-5be6-5ae1-bc5d-3d26b182f2ba"
      },
      "EventVersion": "1.0",
      "EventSubscriptionArn": "arn:aws-cn:sns:cn-northwest-1:415056052465:SMS-TEST:46a6b2a2-c594-4d56-ae2f-56243292bdc0"
    }
  ]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值