ZABBIX配置自动发现与自动注册,网易邮箱告警和钉钉告警

一、自动发现

  • zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。

  • 缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。

 1、部署准备

准备三台虚拟机

192.168.80.151;192.168.80.152做自动发现

192.168.80.153  做自动注册

2、配置安装源

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpmyum clean all

3、修改主配置文件

[root@localhost ~]# cd /etc/zabbix/
[root@localhost zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@localhost zabbix]# vim zabbix_agentd.conf 117 Server=192.168.80.150

4、关闭防火墙和上下文

systemctl disable --now firewalldsetenforce 0

5、启动服务

二、设置自动发现

点击监测--自动发现,两台主机已经连接

2、找到告警,发现动作

添加成功后,回到数据采集--主机  刷新等待一会,发现已经创好了

三、自动注册动作

设置自动发现的主机尽量不要再设置自动注册,会有影响

添加成功后回到客户端修改配置

[root@localhost zabbix]# vim zabbix_agentd.conf ServerActive=192.168.80.150Hostname=host1[root@localhost zabbix]# systemctl start zabbix-agent.service 

四、邮件告警设置

1、登录邮箱点击设置,查看SMTP

 复制授权码

2、创建媒介

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

用户网易用户

密码就是上面的授权码

 创建完成点击消息模板,创建问题

 测试邮件发送

3、设置调用用户

4、添加模板

在终端创建一个脚本文件,测试用户登陆数量

[root@localhost zabbix_agentd.d]# cat test.conf 
UserParameter=user_count,w | awk 'NR>=3{print|"wc -l"}'在服务器上测试
[root@zabbix zabbix_agentd.d]# zabbix_get -s 192.168.80.151 -p 10050 -k user_count
4

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

5、创建图形

6、创建触发器

设置关联

点击告警---动作--触发器动作

 操作详情

 7、回到终端测试

观察图形

查看邮件,收到一条问题

五、设置钉钉警告

  • 登录钉钉

  • 创建钉钉群

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

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

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

 点击添加机器人

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

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

服务器上操作

  • 配置钉钉脚本

#将脚本写在/usr/lib/zabbix/alertscripts/目录下
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/##安装python或者python3
[root@zabbix alertscripts]# yum install python3

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

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

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

[root@zabbix ~]# mkdir -p  /usr/lib/zabbix/alertscripts/
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix alertscripts]# vim dingding.py
[root@zabbix alertscripts]# chmod +x dingding.py
[root@zabbix alertscripts]# chown zabbix.zabbix dingding.py
[root@zabbix alertscripts]# cat dingding.py 
#!/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=382cec5bbd171e65780867f926cfdea2ad8faf92d4b7216e48bee4c8a60601d6"
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
  • 创建日志文件:

[root@zabbix alertscripts]# mkdir -p  /usr/lib/zabbix/alertscripts/log[root@zabbix alertscripts]# touch /usr/lib/zabbix/alertscripts/log/dingding.log###递归更改的 属主属组
[root@zabbix alertscripts]# chown zabbix.zabbix -R /usr/lib/zabbix/alertscripts/log###增加权限
[root@zabbix alertscripts]# chmon +x /usr/lib/zabbix/alertscripts/log####
ls -l 查看一下zabbix整个路径的属主属组和权限 一定要是zabbix权限
  • 测试脚本是否能运行成功:

#py脚本 手机号 关键词 告警信息
[root@zabbix alertscripts]# ./dingding.py 17835697281 告警 111
[root@zabbix alertscripts]# ./dingding.py 17835697281 告警 你的热得快炸了
[root@zabbix alertscripts]# ./dingding.py 19829651293 告警 你的热得快炸了

web页面操作

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

  • 配置–>动作–>创建动作

#告警操作内容:
##标题:
服务器:{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}#恢复操作内容
##标题:
服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
##消息内容:
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}

  • 个人中心–>报警媒介–>添加

 添加完成记得点击更新

创建监控项

测试一下,是否有值

创建图表

主机选择,钉钉创建的主机

创建触发器

条件--监控项选择创建的监控项

钉钉查看告警问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90934.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT(五)常用类

1. QString字符串类(掌握) QString是Qt的字符串类,与C的string相比,不再使用ASCII编码,QString使用的是Unicode编码。 QString中每个字符都是一个16位的QChar,而不是8位的char。 QString完全支持中文,但是由于不同的技…

EXCEL怎么提取表名

错误的方法:使用以下方法提取表名的时候,会存在1个问题,公式只在当前工作表生效,换工作表会出现表名覆盖的情况。RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename&quo…

springboot校园外卖配送系统

目 录 第一章 绪 论 1.1背景及意义 1.2国内外研究概况 1.3 研究的内容 第二章 关键技术的研究 2.1开发技术 2.2 Springboot框架介绍 2.3 Vue.js 主要功能 2.4 MVVM模式介绍 2.4 B/S体系工作原理 2.5 MySQL数据库 第三章 系统分析 3.1 系统设计目标 3.2 系统可行性…

【智慧物联网平台】安装部署教程——仙盟创梦IDE

一、部署前准备1. 环境要求基础环境:JDK 1.8、MySQL 5.7/8.0、Maven 3.6、Redis(用于缓存)、Node.js(用于前端构建,可选)。依赖服务:若需对接门禁、道闸等硬件设备,需确保设备网络可…

【安全漏洞】防范未然:如何有效关闭不必要的HTTP请求方法,保护你的Web应用

在构建和维护Web应用的过程中,安全问题总是我们最关心的话题之一。今天,我们要探讨的是一个经常被忽视的Web漏洞——未关闭或限制不必要的HTTP请求方法。 虽然我们在日常开发中主要使用 GET 和 POST 这两种请求方法,但像 PUT、DELETE、HEAD、…

嵌入式Linux裸机开发笔记8(IMX6ULL)主频和时钟配置实验(1)

引言在前几章实验中我们都没有涉及到 I.MX6U 的时钟和主频配置操作,全部使用的默认配置, 默认配置下 I.MX6U 工作频率为 396MHz。但是 I.MX6U 系列标准的工作频率为 528MHz,有些 型号甚至可以工作到 696MHz。本章学习 I.MX6U 的时钟系统&…

设计模式(四)创建型:生成器模式详解

设计模式(四)创建型:生成器模式详解生成器模式(Builder Pattern)是 GoF 23 种设计模式中的核心创建型模式之一,其核心价值在于将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建…

《Angular+Spring Boot:ERP前端采购销售库存协同架构解析》

基于Angular与Spring Boot构建的全栈ERP前端,绝非技术的简单叠加,而是通过深度融合两者特性,打造出兼具稳定性与灵活性的业务载体。Angular的组件化架构将复杂界面拆解为可复用的独立单元,依赖注入机制则让服务调用与数据流转条理…

Java 排序

文章目录排序插入排序分析希尔排序分析选择排序分析堆排序分析冒泡排序分析快速排序霍尔法分析挖坑法找基准前后指针法题目快排的优化三数取中法非递归实现快排归并排序分析非递归实现归并排序海量数据的排序非比较的排序计数排序分析基数排序桶排序排序 稳定的排序&#xff1…

日本IT就职面试|仪容礼仪篇分享建议

日系企業で好印象を与える「身だしなみ」と「面接マナー」ガイドこんにちは。 日系企業への就職・転職活動をされている方にとって、「第一印象」は合否を左右する大切なポイントですよね。実は、面接の評価は入室の瞬間から始まっていると言っても過言ではありません。 今回は…

英语听力口语词汇-8.美食类

1.crispy,crisp adj.酥脆的,易碎的 2.sweet adj.甜的 比如说chocolate is so sweet and delicious 3.chewy adj.难嚼的,难咽的 4.oatmeal n.燕麦粉 5.pickle n.泡菜 7.stir-fry v.炒菜 8.bacon n.咸肉,熏肉 9.yummy adj.美味可口的 1…

力扣7:整数反转

力扣7:整数反转题目思路代码题目 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。 思路 这道题我们可以分成两部分来做,一是完成反转二…

PWM信号控制电机

1:环境 STM32F103C8T6 KEIL5.38 2个电机 2个轮子 1个L298N STLINKV2 CH340 1个4位独立按键 杜邦线若干 2:代码 key.h #ifndef __KEY_H #define __KEY_H#include "stm32f10x.h"extern volatile uint8_t key_t ; extern volatile uint8_t …

开源赋能产业,生态共筑未来 | 开源科学计算与系统建模(openSCS)分论坛圆满举行

2025开放原子开源生态大会于7月23日-24日在北京国家会议中心召开。本届大会以“开源赋能产业,生态共筑未来”为主题,汇聚政、产、学、研、用、金、创、投等各领域开源力量,聚焦开源政策导向、生态发展趋势、开源产业实践,共探中国…

Android广播机制体系初识

Android广播机制体系大白话把Android的广播机制想象成小区里的“大喇叭”谁在喊话?任何App或系统都能当“大喇叭”,比如喊一嗓子“电量不足啦!”(这就是发送广播)谁在听?其他App只要“竖起耳朵”&#xff0…

微信小程序点击输入框时,顶部导航栏被遮挡问题如何解决?

前言 不知道大家开发微信小程序的时候有没有遇到这么一个问题,就是在表单页面中,点击输入框后,输入框顶起会把顶部栏给遮挡住,如下图所示:遇到这种情况有没有解决的办法呢?能不能既将页面顶起,同…

通过具有一致性嵌入的大语言模型(LMMs)实现端到端乳腺癌放射治疗计划制定|文献速递-医学影像算法文献分享

Title题目End-to-end breast cancer radiotherapy planning via LMMs with consistencyembedding通过具有一致性嵌入的大语言模型(LMMs)实现端到端乳腺癌放射治疗计划制定01文献速递介绍近年来,受大型语言模型(LLM)启发…

vscode npm run build打包报ELIFECYCLE

npm run build打包报ELIFECYCLE 是内存溢出解决方案:修改build脚本 :"build": "node --max_old_space_size4096 node_modules/vue/cli-service/bin/vue-cli-service.js build",

【lucene】BlockMaxConjunctionScore

BlockMaxConjunctionScorer 是 Lucene 8.5 引入的一个高性能交集打分器(conjunction scorer),专门用于处理 多条件“与”查询(AND 查询) 的场景。它基于 Block-Max WAND(BMW)算法,可…

Androidstudio 上传当前module 或本地jar包到maven服务器。

1.设置gradle版本到8.0 gradle-wrapper.properties文件中设置: distributionUrlhttps\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.0-bin.zip 2.设置项目根目录build.gradle 设置agp版本和maven插件版本(和gralde版本有对应关系&#xff…