首页 > 其他分享 >zabbix-钉钉报警部署

zabbix-钉钉报警部署

时间:2022-11-02 09:33:37浏览次数:42  
标签:部署 text 报警 webhook datetime zabbix str dingding

zabbix-钉钉报警部署

1. 流程说明

  • 申请钉钉机器人
  • 获取Webhook配置安全设置
  • 获取钉钉号
  • 使用脚本(shell/python)调用钉钉接口: python 输入收件人 信息
  • 配置发件人
  • 配置收件人

2. 实战

2.1 钉钉操作

  • 创建群申请钉钉机器人
  • 记录webhook并配置安全设置

2.2 zabbix服务端端操作

  • 编写脚本
脚本存放目录:/usr/local/share/zabbix/alertscripts
[root@m03-zabiix-server /usr/local/share/zabbix/alertscripts]# cat dingding.py 
#!/usr/bin/env python3
#author: ansheng
#coding:utf-8 
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=4312d449801a429b7111ee05a332ce2b5802fb3827fc8f43ae2578340df07f9c" #这里填钉钉机器人的webhook
 
user=sys.argv[1]
text=sys.argv[3]
data={
    "msgtype": "text",
    "text": {
        "content": text
    },
    "at": {
        "atMobiles": [
            user
        ],
        "isAtAll": False
    }
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/tmp/dingding.log"):
    f=open("/tmp/dingding.log","a+")
else:
    f=open("/tmp/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
    f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送成功"+"\n"+str(text))
    f.close()
else:
    f.write("\n"+str(datetime.datetime.now()) + "    " + str(user) + "    " + "发送失败" + "\n" + str(text))
    f.close()
    
    
[root@m03-zabiix-server /usr/local/share/zabbix/alertscripts]# chmod +x dingding.py      #添加执行权

  • 测试

2.3 web页面操作

  • 添加报警媒介类型

  • 配置收件人

  • 测试,创造一个新故障

标签:部署,text,报警,webhook,datetime,zabbix,str,dingding
From: https://www.cnblogs.com/anslinux/p/16849947.html

相关文章

  • 来至舒大佬的一键部署redis集群playbook
    ----name:installredishosts:allserial:2vars:-version:"redis-7.0.5"-user:"redis"-id:"88"-INSTALL_DIR:"/apps/redis"-CPUS:"......
  • Azure DevOps Server 入门实践与安装部署
    一,引言最近一段时间,公司希望在自己的服务器上安装本地版的AzureDevOpsService(AzureDevOpsServer),用于项目内的测试,学习。本着学习的目的,我也就开始学习在测试服务......
  • 【Azure 应用服务】部署WAR包到App Service访问出现404错误的解决方式
    问题描述在Linux的AppService上,通过FTP把war文件和HTML静态文件上传到wwwroot目录下,静态文件访问成功,但是java应用中的请求都返回404错误 问题解决因为FTP上传文件只......
  • docker部署安装
    Ubuntu22.04(使用apt-get进行安装)#step1:安装必要的一些系统工具sudoapt-getupdatesudoapt-get-yinstallapt-transport-httpsca-certificatescurlsoftware-p......
  • Springboot 项目打成jar包部署到服务器中的方式
    Springboot项目打成jar包部署到服务器中的方式前言:目前,前后端分离的架构已成主流,而使用SpringBoot构建Web应用是非常快速的,项目发布到服务器上的时候,只需要打成一个jar包......
  • 如何将传统 Web 框架迁移部署到 Serverless 架构?
    简介: 与其说Serverless架构是一个新的概念,不如说它是一种全新的思路,一种新的编程范式。与其说Serverless架构是一个新的概念,不如说它是一种全新的思路,一种......
  • redis 5.0.5集群部署与故障模拟
    背景业务稳定性要求需要一套redis集群来保障因此采用rediscluster集群环境名称ip地址cpu内存master端口slave端口redis-65110.65.6.514c8G70017......
  • 基于单片机的温度监控报警系统设计
    博主福利:100G+电子设计学习资源包!​​http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect......
  • 使用Docker部署软件运行环境
    什么是docker?Docker是基于Go语言进行开发实现,一个开源的应用容器引擎。采用Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,也可以实现虚拟化,隔离......
  • rustdesk 远程桌面部署
    windows系统的远程桌面有很多,包括微软自带的mstsc,不过mstsc只能在内网使用,在家庭版操作系统上默认无法使用。还有比较出名的teamviewer、向日葵等,想要获得比较好的连......