前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zabbix-v4.0系列-配置短信告警功能

zabbix-v4.0系列-配置短信告警功能

作者头像
cosmozhu
发布2020-06-15 06:45:39
2.4K0
发布2020-06-15 06:45:39
举报

在百度上搜索查看了很多文章之后,我终于在本地服务上实现了zabbix短信发送配置。其中有很多小的细节导致了我配置的并不是那么顺利,这篇文章就是解决这个问题的。按照这篇文章相信你一定能快速配置出短信发送的功能。

1. 创建新的通信渠道

默认的通信渠道有Email\Jabber\SMS。这里的SMS指的明显是一个通信设备,通常情况下我们是没有这个设备的。所以对于我们来说短信发送的实现原理就是:在zabbix问题触发后自动调用我们的短信发送脚本,通过脚本发送http请求来发送告警短信。

所以首先,我们需要指定我们的脚本位置以及脚本入参。

点击按钮创建新的媒体类型

类型选择【script】,【Script name】填写所执行的脚本名称(执行脚本一定要放在AlertScriptsPath目录下-可以在/etc/zabbix/zabbix_server.conf文件中查看,默认为/usr/lib/zabbix/alertscripts )。最后添加3个参数,分别是【收信人】、【问题名称】、【问题描述】。

2. 创建用户组\用户

在这个例子中,我们需要监控某个linux服务器,因此我们需要一个运维组和负责运维的同学。(因为Admin的权限过大,所以我们不能用Admin用户去干所有的事情)我们需要创建一个用户组,只让这个组的同学负责linux服务相关的事情。

创建Ops运维组

给Ops添加权限

创建运维同学【看门狗】

添加【看门狗】同学的【手机号】(如果看门狗同学有多个手机号的话,可以用逗号隔开配置多个)、【工作时间】、【负责的问题级别】

3. 在zabbix-server上配置我们的脚本

由于测试环境,我们将推送短信消息的部分替换为在/tmp/SMS-SEND.log打印短信内容。

#!/bin/bash

CAT="/bin/cat"
CURL="/usr/bin/curl"
MOBILE_NUMBER=$1    # 手机号码
MESSAGE_SUBJECT=$2  # 短信主题
MESSAGE_UTF8=$3     # 短信内容

MESSAGE(){
  ${CAT} <<EOF
{
   "bizType": 0,
   "smsSubject": "$MESSAGE_SUBJECT",
   "smsContent": "$MESSAGE_UTF8",
   "userMobile": "$MOBILE_NUMBER"
 }
EOF
}

# Send it
#${CURL} -i \
#--header 'Content-Type: application/json' \
#--header 'Accept: application/json' \
#-X POST -d "$(MESSAGE)" "你们开发提供的短信接口地址"
echo "$(MESSAGE) has send! \n" >> /tmp/SMS-SEND.log

修改sendSMS.sh脚本权限

chown zabbix:zabbix sendSMS.sh
chmod +x sendSMS.sh

4. 创建触发器的动作

选择【triggers】-点击创建动作。

填写自定义名称,如果不配置条件那么这个动作会响应所有触发器。

第一行是在问题发送多久之后推送短信通知,这里是测试环境,我们就设置为60s。

填写推送的用户或用户组。这里推荐使用用户组,以后如果运维团队有新的同学加入,则给新同学创建账号并加入运维组即可。

当问题恢复时,通知跟这个问题有关的所有人

5. 效果验证

好了让我们来停止一个zabbix-agent来看看效果。

[root@vm2 ~]# systemctl stop zabbix-agent

等待5分钟后,zabbix发出警告

后台/tmp/SMS-SEND.log文件中打印出如下日志

然后恢复zabbix-agent,发送恢复短信

相关文章

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建新的通信渠道
  • 2. 创建用户组\用户
  • 3. 在zabbix-server上配置我们的脚本
  • 4. 创建触发器的动作
  • 5. 效果验证
    • 相关文章
    相关产品与服务
    访问管理
    访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档