推荐|3分钟实现Zabbix电话短信钉钉飞书微信报警

Zabbix是现在企业用的比较多的开源监控系统,Zabbix电话短信报警更是运维不可缺少的报警渠道。

前面一篇介绍了Zabbix5.4版本如何通过Spug推送助手发送电话短信报警,但用户反馈Zabbix4.x版本有很大不同,这篇文章就基于Zabbix4.x版本介绍一下如何实现Zabbix电话短信和各种机器人报警,配置完发现,这篇使用文档在Zabbix5配置步骤同样适用!😊

打开推送助手官网,选择Zabbix模板

推送助手官网push.spug.cc / 模板市场 / Zabbix模板 / 使用模版 / 配置模板对象

拷贝保存模板编码

配置完成推送对象后,拷贝模板ID

Zabbix添加报警媒介

  • Zabbix / Administration / Media Types / create media type
  Name:推送助手报警
  Type:Script
  Script name:spug_push_alert.sh
  Script parameters1:abPampgaabc   //粘贴上面拷贝的推助手模版编码
  Script parameters2:{ALERT.MESSAGE}

添加zabbix报警报警脚本

登录zabbix-server服务器,添加zabbix执行的报警媒介脚本

$ vim /usr/lib/zabbix/alertscripts/spug_push_alert.sh

#!/bin/bash
/usr/bin/curl -X POST -d "$2" https://push.spug.cc/send/$1


# 添加脚本执行权限
$ chmod +x  /usr/lib/zabbix/alertscripts/spug_push.sh

添加Zabbix报警用户

Zabbix / Administration / Users / create user / Media选择上面创建的[推送助手报警] / Add

添加Zabbix触发器

Zabbix / Configuration / Action / create action

  • Action / Operations / 复制添加下面的Operations-Default message默认消息内容
  • Opeartions / New / operation detail / Send to User / 选择推送助手电话短信报警用户 / Add 保存

# Operations - Default message:
status={TRIGGER.STATUS}&name={EVENT.NAME}&severity={EVENT.SEVERITY}&date={EVENT.DATE}&time={EVENT.TIME}&age={EVENT.AGE}&ip={HOST.IP}&hostname={HOST.NAME}&key={TRIGGER.KEY1}&value={ITEM.LASTVALUE}
  • Action / Recovery options / default message / 复制添加下面的Recovery options - Default message 默认消息内容
  • Opeartions / New / operation detail / Send to User / 选择推送助手电话短信报警用户 / Add 保存

# Recovery options - Default message:
status={TRIGGER.STATUS}&name={EVENT.NAME}&severity={EVENT.SEVERITY}&date={EVENT.DATE}&time={EVENT.TIME}&age={EVENT.AGE}&ip={HOST.IP}&hostname={HOST.NAME}&key={TRIGGER.KEY1}&value={ITEM.LASTVALUE}&recovery_date={EVENT.RECOVERY.DATE}&recovery_time={EVENT.RECOVERY.TIME}

验证电话、短信、机器人报警

  • 可以使用stress压测命令手动触发一下报警,测试一下报警发送。

查看日志

推送助手平台 / 推送日志 也可以看到发送的历史消息。

关于Spug推送助手:

推送助手是一个集成了电话、短信、邮件、飞书、钉钉、微信、企业微信等多通道的消息推送平台。
用户只需要调用一个简单的URL,就可以完成多通道的消息推送。链接:push.spug.cc


更多资讯、视频、欢迎关注公众号: Spug社区

### Zabbix集成企业微信 为了实现Zabbix与企业微信的集成,可以利用Zabbix通知功能来发送告警信息至企业微信。具体操作如下: 安装`curl`命令行工具用于发起HTTP请求[^2]。 #### 创建Media Type 进入Zabbix前端界面,在“Administration”->“Media types”,点击创建媒体类型按钮。“Type of media”选择脚本(script),名称可自定义为企业微信通知。在Script content部分编写调用企业微信API接口的Shell脚本或Python代码片段。对于Shell版本来说,可能像这样: ```bash #!/bin/bash # $1 is the subject, $2 is the message body. corpid='your_corp_id' corpsecret='your_secret_key' agentid='app_agent_id' token_url="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret" msg_url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" json="{\"touser\":\"@all\",\"toparty\":\"\",\"totag\":\"\",\"msgtype\":\"text\",\"agentid\":$agentid,\"text\":{\"content\":\"$1\n$2\"},\"safe\":0}" access_token=$(curl -c "import sys,json;print json.load(sys.stdin)['access_token']") if [[ ! -z "$access_token" ]]; then curl -s -X POST --data-binary "${json}" ${msg_url}${access_token} fi ``` 上述脚本实现了获取Access Token并发送消息给指定的企业微信号的功能[^4]。 #### 添加Action触发条件 前往Configuration -> Actions页面新增动作(Action), 设置触发条件以及关联之前建立好的Media type作为响应方式之一。当满足特定阈值变化或其他事件发生时就会自动向设定的目标推送报警信息了。 --- ### Zabbix集成钉钉 同样地,通过定制化的Alert Script也可以轻松达成Zabbix同DingTalk之间的对接效果。这里给出一段简单的Python示例程序供参考: ```python import requests import json def send_dingtalk_msg(webhook, msg): headers = {'Content-Type': 'application/json'} data = { "msgtype": "text", "text": {"content": f"{msg}"}, "at": {} } response = requests.post(url=webhook, data=json.dumps(data), headers=headers).json() return response['errcode'] == 0 if __name__ == '__main__': webhook = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxx' # 替换成自己的机器人WebHook地址 test_message = '测试来自Zabbix消息提醒!' result = send_dingtalk_msg(webhook, test_message) if not result: print('Failed to post dingtalk.') ``` 这段代码展示了如何构建一个简易函数send_dingtalk_msg()用来接收两个参数——机器人的WebHook URL 和想要传递的信息字符串;接着构造POST请求体并通过requests库提交给目标服务器完成即时通讯应用内的广播发布流程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值