如何解决从 CloudWatch 获取事件日志错误消息到 Lambda 并将其发送到 MS Teams Webhook
我正在使用 CloudWatch 代理来捕获 tomcat 日志,这些日志都是错误的。代理将日志流发布到日志组,我想要的是获取这些日志错误并使用 SNS、Lambda 等任何东西将它们发送到 MS Teams 频道。
我唯一的问题是我可以执行上述所有操作,但我无法收到错误消息,例如:
org.hibernate.exception.SQLGrammarException: could not extract ResultSet...
我正在使用以下 python 代码来完成这项工作,这是我从 AWS 文档中挑选的。
#!/usr/bin/python3.7
import urllib3
import json
http = urllib3.PoolManager()
url = "https://outlook.office.com/webhook/xxxxxxxxx"
msg = {
"text": event['Records'][0]['Sns']['Message']
}
encoded_msg = json.dumps(msg).encode('utf-8')
resp = http.request('POST',url,body = encoded_msg)
print({
# "message": event['Records'][0]['Sns']['Message'],"message": " ** Payload ** ","status_code": resp.status,"response": resp.data
})
解决方法
cURL 语法和对其的基本了解,请按照以下步骤操作。
-
从命令行输入以下 cURL 命令:
// 在 macOS 或 Linux 上 curl -H 'Content-Type: application/json' -d '{"text": "Hello World"}'
// 在 Windows 上 curl.exe -H "Content-Type:application/json" -d "{'text':'Hello World'}"
-
如果 POST 成功,您应该会看到 curl 的简单输出 1。
-
检查 Microsoft Team 客户端。您应该会看到发布给团队的新卡片。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。