使用场景:之前有发布过服务器总是死机的问题做了各种的脚本来监测服务器运行状态,但是通过定时任务的监测感觉并不是特别的奏效和无法达到预期效果,所以再偶尔一个机会更新了宝塔面版发现他们做了相关的通知功能,这样当有任务失败时会实时推送便于观察。
配置宝塔:
第一步:配置告警通道,添加自定义Webhook,以便于当设置的告警内容可以通知到接收端。文章源自玩技e族-https://www.playezu.com/829271.html
路径:面板设置>告警设置>添加自定义Webhook文章源自玩技e族-https://www.playezu.com/829271.html
文章源自玩技e族-https://www.playezu.com/829271.html
第二步:配置需要告警的内容,我这边是将所有的报警添加进来了。文章源自玩技e族-https://www.playezu.com/829271.html
告警:面板设置>告警通知>告警列表,将需要报警通知的内容添加到列表中文章源自玩技e族-https://www.playezu.com/829271.html
文章源自玩技e族-https://www.playezu.com/829271.html
第三步:配置请求参数,再配置过程中已将必要参数维护完成,但是不知道宝塔通知调用参数来获取具体通知内容文章源自玩技e族-https://www.playezu.com/829271.html
格式:查阅群晖chat要求传入的数据格式内容,群晖知识中心>>>文章源自玩技e族-https://www.playezu.com/829271.html
获取参数:
宝塔群中咨询:因为群晖chat要求text格式,所以咨询参数。文章源自玩技e族-https://www.playezu.com/829271.html
宝塔开发调试:最终以$1调试输出内容,但是内容为unicode未解码,群晖已适配。
群晖参数
Webhook 由 JSON 格式的承載資料所組成。
若要建立類似上圖所示的訊息,請按照下列方式建立 JSON 承載資料:
{"text": "This is a test"}
請將此 JSON 字串放置在 payload
參數後,並使用 application/x-www-form-urlencoded
來將資料傳送至 Webhook 網址。例如:
POST https://DS_IP/webapi/entry.cgi?api=SYNO.Chat.External&XXXXX Content-Type: application/x-www-form-urlencoded payload=%7B%22text%22%3A%22This%20is%20a%20test.%22%7D
以下為 CURL 範例:
curl -X POST \ --data-urlencode 'payload={"text": "This is a test"}' \ https://DS_IP/webapi/entry.cgi?api=SYNO.Chat.External&XXXXX
若要加入連結:
若要加入連結,您可以直接在 text
中插入連結。例如:
payload={"text": "https://www.synology.com"} 或 payload={"text": "Check this out!! <https://www.synology.com|click here> for details!"}
若要上傳檔案:
可透過傳入 Webhook 將檔案上傳至 Chat。
若要上傳檔案,JSON 承載資料中必須含有 file_url
及一個選用的文字。例如:
payload={"text": "a fun image", "file_url": "http://imgur.com/xxxxx"}
系統將會從 file_url
下載檔案,並將檔案上傳至 Chat。1
内容格式:
结果展示:
由于宝塔已支持大部主流接收机器人,所以自定义webhook中通知的内容格式并没有格式化需要自行程序格式。
脚本替换:
获取群晖chaturl方式可以参考下面的文章:
原创声明:本文章为原创内容,所有文章均由博主亲自撰写,严格遵循原创原则。我们承诺不使用任何人工智能生成的内容,所发布的每一篇文章都经过深思熟虑,旨在为读者提供真实、有价值的观点和信息。我们坚信原创才是知识分享的根本,致力于为广大读者呈现最具真实性和独特性的文章。感谢您的支持与关注,欢迎持续关注我们的原创内容。
湖北省 2F
看看看看看看
印度 B1
@ Admin 怎么样有进行测试吗?
波斯尼亚和黑塞哥维那 1F
找了很久的资料,看看你这个能使不