搜索看看
Telegram机器人告警通知脚本(shell实现)
Linux使用shell实现Telegram机器人告警通知
,比如我们在server/config/application.yml中的配置的告警脚本为/home/sendMsg.sh
#告警脚本绝对路径(若配置脚本,无论是否配置过邮件,都会执行该脚本),可以为空,参考模板:server/template/sendMsg.sh warnScript: bash /home/sendMsg.sh #是否将告警内容转为unicode(针对告警脚本生效),yes是,no否,钉钉微信等告警建议设置为yes,windows部署server需设置为yes,否则接受到会是乱码 warnToUnicode: no
/home/sendMsg.sh内容如下(记得给脚本赋加可执行权限)
#!/bin/sh content=$1 #content=${content//\\u0020/ } #如果Telegram机器人不能自动将\u0020转为空格,则将这行注释去掉即可 time3=$(date "+%H:%M:%S") content="$time3,$content" #echo "$currTime warn content is : $content" >> ./warn.log TOKEN="xxxxxxxxxxxxx:xxxxxxxxxxxx" #Telegram机器人token chat_ID="xxxxxxxxxxxx" #用户ID或频道、群ID message_text=$content #要发送的信息 MODE='HTML' #解析模式,可选HTML或Markdown URL="https://api.telegram.org/bot${TOKEN}/sendMessage" #api接口 #测试1:终端有日志 #curl -s -X POST $URL -d chat_id=${chat_ID} -d parse_mode=${MODE} -d text="${message_text}" #测试2:终端无日志 curl -s -o /dev/null -X POST $URL -d chat_id=${chat_ID} -d text="${message_text}"
以上配置好后,需要重启下server生效