当前位置: 首页 > news >正文

Zabbix7设置告警

Zabbix7设置告警

文章目录

  • Zabbix7设置告警
  • 一、邮件告警设置
    • 1、邮箱设置
    • 2、Zabbix Server UI界面设置告警
    • 3、设置调用用户
    • 4、设置触发器
    • 5、添加动作
  • 二、设置钉钉告警
      • 创建钉钉群
      • 添加机器人–>设置关键词
      • 生成webhook(请保管好webhook的值;后面需要用到。)
    • 服务器上操作
    • web页面操作

一、邮件告警设置

1、邮箱设置

登录163邮箱,设置邮箱调用授权码

在这里插入图片描述

在这里插入图片描述

获取授权码
在这里插入图片描述

查看SMTP服务器地址
在这里插入图片描述

2、Zabbix Server UI界面设置告警

告警->媒介->创建媒介类型

在这里插入图片描述
在这里插入图片描述
点击测试
在这里插入图片描述

在这里插入图片描述
测试邮件发送
在这里插入图片描述

3、设置调用用户

用户->用户->

在这里插入图片描述

添加报警媒介
在这里插入图片描述

在这里插入图片描述

4、设置触发器

数据采集->主机或模版->触发器->创建触发器(假如有触发器可跳过该步骤!!)

在这里插入图片描述
在这里插入图片描述

5、添加动作

设置触发操作

动作的作用是将触发器与告警配置联系在一起。

告警->动作->触发器动作->创建动作

在这里插入图片描述
添加动作
在这里插入图片描述
在这里插入图片描述

二、设置钉钉告警

创建钉钉群

  • 登录钉钉
  • 创建钉钉群

手机、电脑都可以,这里以电脑举例

在这里插入图片描述

这里可以自己随便选择,我选择的是内部群

在这里插入图片描述

邀请好友,起一个群名称就可以了;

在这里插入图片描述

创建完成。

添加机器人–>设置关键词

创建完成之后点击群设置

在这里插入图片描述

往下翻找到“机器人”

在这里插入图片描述

点击添加机器人

在这里插入图片描述

添加”机器人“–>“自定义”

在这里插入图片描述

点击添加

在这里插入图片描述

在这里插入图片描述

生成webhook(请保管好webhook的值;后面需要用到。)

请保管好webhook的值;后面需要用到。

在这里插入图片描述

在这里插入图片描述

服务器上操作

  • 配置钉钉脚本
#将脚本写在/usr/lib/zabbix/alertscripts/目录下
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/##安装python或者python[root@zabbix alertscripts]# vim dingding.py

注意:这里需要提前安装好这几个python模块:requests、json、sys、os、datetime

安装方式为:pip3 install requests 以此类推;

如遇到以下报错就是没有安装requests模块,就需要pip安装一下;

#!/usr/bin/env python
# -*- coding: utf-8 -*- 
import requests
import json
import sys
import os
import datetime
webhook = "https://oapi.dingtalk.com/robot/send?access_token=237132311231w4ru3rweehfiuqeor21o34u1923412werqwrq223"
user=sys.argv[1]
subject=sys.argv[2]
text=sys.argv[3]
data={"msgtype": "text","text": {"content": "%s%s"%(subject,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("/usr/lib/zabbix/alertscripts/log/dingding.log"):f=open("/usr/lib/zabbix/alertscripts/log/dingding.log","a+")
else:f=open("/usr/lib/zabbix/alertscripts/log/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@zabbix alertscripts]# chmod +x dingding.py#修改脚本的属主和属组:
[root@zabbix alertscripts]# chown zabbix.zabbix dingding.py
  • 创建日志文件:
#如果目录不存在,创建它:
mkdir -p /usr/lib/zabbix/alertscripts/log/
#确保 Zabbix 用户有权限写入该目录:
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/log/
chmod 755 /usr/lib/zabbix/alertscripts/log/
  • 测试脚本是否能运行成功:

注意关键词;

#py脚本 手机号 关键词 告警信息
./dingding.py 147852963 告警 test

手机号写的正确的话就可以直接@他,如果随便写的就不会输出,如下图的上(正确手机号)、下(错误手机号)

在这里插入图片描述

成功接收到信息,完成!

web页面操作

  • 告警–>媒介–>创建报警媒介类型

在这里插入图片描述
添加完之后要进行测试,测试成功在进行下一步
在这里插入图片描述

{ALERT.SUBJECT}
{ALERT.MESSAGE}
{ALERT.SENDTO}

用户 –> 用户 –> 报警媒介
在这里插入图片描述
创建触发器

在这里插入图片描述

创建触发器动作

在这里插入图片描述
操作:

在这里插入图片描述

#告警操作内容:
##标题:
服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
##消息内容:
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

验证:
在这里插入图片描述

# 1. 修改脚本中的日志路径
sudo sed -i 's|/usr/lib/zabbix/alertscripts/log|/var/log/zabbix|' /usr/lib/zabbix/alertscripts/dingding.py# 2. 确保日志文件存在
sudo touch /var/log/zabbix/dingding.log
sudo chown zabbix:zabbix /var/log/zabbix/dingding.log
sudo chmod 644 /var/log/zabbix/dingding.log# 3. 验证SELinux上下文
sudo chcon -t zabbix_log_t /var/log/zabbix/dingding.log
http://www.dtcms.com/a/297384.html

相关文章:

  • SQL基础⑭ | 变量、流程控制与游标篇
  • 从语言关联到事件推演的跃迁之路-语义图谱、知识图谱与事理图谱:认知的三维拼图
  • IA课程作业
  • C++调用GnuPlot一维绘图
  • 后端项目中大量 SQL 执行的性能优化
  • Oracle 19C Data Guard :从原理到实践的高可用解决方案
  • 在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)
  • CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器
  • 电科金仓新一代数据库一体机:以 “云数据库 - AI 版” 引领 AI 时代数据库变革
  • 文心4.5开源之路:从封闭到开放的力量
  • PHP 面向对象
  • HTML:从 “小白” 到 “标签侠” 的修炼手册
  • vue 渲染 | 不同类型的元素渲染的方式(vue组件/htmlelement/纯 html)
  • 低空飞行调度系统
  • STM32-PWM输入捕获的配置
  • 私有化大模型架构解决方案构建指南
  • js实现宫格布局图片放大交互动画
  • 文件包含学习总结
  • 数据库设计双刃剑:范式规范与反范式性能的终极权衡
  • 在 IntelliJ IDEA 中打开这个用于设置 Git 用户名(Name)和邮箱(Email)的特定弹窗
  • 【C++详解】模板进阶 非类型模板参数,函数模板特化,类模板全特化、偏特化,模板分离编译
  • Linux下使用VSCode配置GCC环境与调试指南
  • 【JavaEE】Spring Web MVC(上)
  • [spring6: HttpSecurity]-全新写法
  • 【小沐学GIS】基于Unity3d绘制三维数字地球Earth(Unity3d、OpenGL、GIS)
  • Cacti 前台命令注入漏洞(CVE-2022-46169)
  • Dockerfile 文件及指令详解
  • 《C++初阶之STL》【vector容器:详解 + 实现】
  • 【Docker项目实战】在Docker环境下部署go-file文件分享工具
  • 伯俊科技× OB Cloud:零售业落地AI的“三步走”渐进式发展实践