龙空技术网

Zabbix5.2由浅入深钉钉机器人告警篇

IT小白Kasar 1744

前言:

眼前咱们对“怎么用终端关闭ubuntu出错声音”可能比较着重,各位老铁们都想要剖析一些“怎么用终端关闭ubuntu出错声音”的相关内容。那么小编也在网摘上搜集了一些关于“怎么用终端关闭ubuntu出错声音””的相关知识,希望同学们能喜欢,小伙伴们快快来学习一下吧!

前面讲了企业微信利用小程序告警的内容,今天就讲讲钉钉告警的内容(脚本文件在文末,测试是P2/P3通用)。

正文

环境

软件版本:Zabbix 5.2系统版本:ubuntu 18.04钉钉账号一个

钉钉配置

本着自身没有钉钉环境的前提下写这篇教程,所以从创建群聊开始。

1.创建群聊,由于普通群聊需要多人以上,而场景群则不需要,如下图

创建场景群聊

名字自取

2.创建自定义群聊机器人

创建群聊机器人入口

创建安全规则,这里选择IP地址

由于很朋友的环境为Linux,所以在获取公网IP有些困惑,建议大家采用以下两种方法

curl ifconfig.mecurl cip.cc

获取公网地址

记住该webhook地址

Zabbix部分配置

1.找到告警脚本的文件存放目录。(在516行)

vim /etc/zabbix/zabbix_server.conf

脚本存放目录为/usr/lib/zabbix/alertscripts

2.添加执行权限,并测试,此时提示如图的错误,python路径问题,解决方式:

find / -name python find / -name python2find / -name python3###找到/usr/bin/python*,如下图2######CentOS 8###dnf -y install python3pip3 install requests

python路径容易造成错误

无法找到命令

ubuntu环境

CentOS7环境

安装python3后

再执行该脚本,就OK了

Zabbix前端操作

1.创建告警媒介

2.创建动作

向下

向下

3.添加用户媒介

故障排查

模拟故障发现,告警的动作有红色的感叹号,媒介的模板没有定义,解决如下图

测试正常

指定人告警也正常

附录

脚本内容

1.发全体人员脚本(markdown)

#!/usr/bin/python3# -*- coding: utf-8 -*-import requestsimport jsonimport sysimport osimport timeheaders = {'Content-Type': 'application/json;charset=utf-8'}time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())api_url = ";def msg(text,user):    json_text= {     "msgtype": "markdown",        "markdown": {            "title":"IT小白Kasar",            "text": text        },        "at": {            "atMobiles": [                user ],            "isAtAll": True        }    } r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json()    code = r["errcode"]if __name__ == '__main__':    text = sys.argv[3]    user = sys.argv[1]    msg(text,user)

2.发全体人员脚本(text)

#!/usr/bin/python3# -*- coding: utf-8 -*-import requestsimport jsonimport sysimport osimport timeheaders = {'Content-Type': 'application/json;charset=utf-8'}time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())api_url = "钉钉机器人webhook地址"def msg(text,user):    json_text= {     "msgtype": "text",        "text": {            "content": text        },        "at": {            "atMobiles": [                user ],            "isAtAll": True        }    } r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json()    code = r["errcode"]if __name__ == '__main__':    text = sys.argv[3]    user = sys.argv[1]    msg(text,user)

2.发指定人员脚本(text)

#!/usr/bin/python3# -*- coding: utf-8 -*-import requestsimport jsonimport sysimport osimport timeheaders = {'Content-Type': 'application/json;charset=utf-8'}time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())api_url = "钉钉机器人webhook地址"def msg(text,user):    json_text= {     "msgtype": "text",        "text": {            "content": text        },        "at": {            "atMobiles": [                user ],            "isAtAll": False        }    } r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json()    code = r["errcode"]if __name__ == '__main__':    text = sys.argv[3]    user = sys.argv[1]    msg(text,user)

总结

整个操作下来并不太难,难点在于解决一些脚本所遇到的问题,相比于之前的企业微信脚本简单多了,下期就是企业微信机器人了,欢迎关注后续文章。

标签: #怎么用终端关闭ubuntu出错声音 #ubuntu 安装钉钉运行不了