【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)

news2024/11/25 11:07:19

zabbix内容很多,这篇文章继续给大家介绍,zabbix功能很强大,只要是能获取到的数据都可以监控,俗称万物可监控,这也就决定了zabbix有很大的自由度,本篇文章包括自定义监控,自定义报警,自定义图形,自定义模板。

目录

自定义监控

案例1:监控系统登录数量

案例2:监控tcp 22端口是否存活,并做值映射

案例3:自定义监控服务器内存百分比,设置触发器

​案例4: 配置多条件触发

自定义报警

1、配置邮件发件人,我用的qq邮箱,在设置-->账户里,开启服务,其他邮箱同理。

2、配置报警媒介类型

3、开启动作 

​4、配置收件人

​5、dd测压测试是否发送邮箱 

6、自定义告警内容

7、远程执行命令

8、微信报警

自定义图形

1、给自定义监控项创建图形

2、多图形组合成一张图

3、幻灯片演示

自定义模块

1、创建模板

2、复制自定义监控项配置为模板

3、复制触发器

4、复制图形


自定义监控

通过获取系统信息来定义zabbix的监控项、配置zabbix触发器发送告警通知

案例1:监控系统登录数量

1、获取系统登录的用户数
[root@Web01 ~]# w
 19:25:02 up 2 days,  4:00,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      30Mar23 10:37m  0.55s  0.51s bash
root     pts/0    10.0.0.1         11:17    6.00s  0.35s  0.02s w
[root@Web01 ~]# w|grep users|awk '{print $(NF-6)}'
2

2、定义为zabbix的监控项

#配置zabbix文件
[root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.d/system.conf
UserParameter=login_number,w|grep users|awk '{print $(NF-6)}'    #=后面是固定格式
#查看监控项,有语法检查功能
[root@Web01 ~]# zabbix_agentd -p|grep login_number
login_number                                  [t|2]
#重启客户端
[root@Web01 ~]# systemctl restart zabbix-agent

3、使用zabbix服务器端进行采集监控

服务端通过命令行测试是否通过监控项来获取用户自定义的值

[root@Zabbix ~]# yum -y install zabbix-get
[root@Zabbix ~]# zabbix_get -s 172.16.1.7 -p 10050 -k login_number
2

案例2:监控tcp 22端口是否存活,并做值映射

检查TCP端口是否处于侦听状态,返回0未侦听,返回1正在侦听

#zabbix5.0版本不支持netstat命令需要加s权限
[root@Web01 ~]# chmod +s /bin/netstat
[root@Web01 ~]# netstat -tnulp|grep 0.0.0.0:22|wc -l
1
[root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.d/system.conf
UserParameter=login_number,w|grep users|awk '{print $(NF-6)}'
UserParameter=tcp_listen_22,netstat -tnulp|grep '0.0.0.0:22'|wc -l
[root@Web01 ~]# zabbix_agentd -p|grep tcp_listen_22
tcp_listen_22                                 [t|1]
[root@Web01 ~]# systemctl restart zabbix-agent

端口正常监听状态 

 停止服务

[root@Web01 ~]# systemctl stop sshd

自定义配置展示值映射

 

 恢复端口侦听

[root@Web01 ~]# systemctl start sshd

案例3:自定义监控服务器内存百分比,设置触发器

1、自定义监控项

[root@Web01 ~]# free|awk 'NR==2{print $NF/$2*100}'
51.5489
[root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.d/system.conf 
UserParameter=login_number,w|grep users|awk '{print $(NF-6)}'
UserParameter=tcp_listen_22,netstat -tnulp|grep '0.0.0.0:22'|wc -l
UserParameter=mem_free,free|awk 'NR==2{print $NF/$2*100}'
[root@Web01 ~]# systemctl restart zabbix-agent
[root@Web01 ~]# zabbix_agentd -p|grep mem_free
mem_free                                      [t|51.3581]

 2、服务端测试获取key值并添加监控

[root@Zabbix ~]# zabbix_get -s 172.16.1.7 -p 10050 -k mem_free
51.536

 

3、内存可用百分比小于20%,则触发报警规则

 

4、使用dd压测消耗内存

dd if=/dev/zero of=/dev/null bs=600M count=1024

案例4: 配置多条件触发

1、添加swap可用百分比

[root@Web01 zabbix_agentd.d]# free -m|awk 'NR==2{print $
19.856
[root@Web01 zabbix_agentd.d]# cat /etc/zabbix/zabbix_agentd.d/system.conf 
UserParameter=login_number,w|grep users|awk '{print $(NF-6)}'
UserParameter=tcp_listen_22,netstat -tnulp|grep '0.0.0.0:22'|wc -l
UserParameter=mem_free,free|awk 'NR==2{print $NF/$2*100}'
UserParameter=swap_free,free -m|awk 'NR==2{print $3/$2*100}'
[root@Web01 zabbix_agentd.d]# systemctl restart zabbix-agent

2、添加触发器,先添加一个,再点击表达式构造器,再添加另一个

3、使用dd压测,并查看仪表盘 

[root@Web01 zabbix_agentd.d]# dd if=/dev/zero of=/dev/null bs=600M count=1024

自定义报警

1、配置邮件发件人,我用的qq邮箱,在设置-->账户里,开启服务,其他邮箱同理。

 2、配置报警媒介类型

3、开启动作 

4、配置收件人

 5、dd测压测试是否发送邮箱 

dd if=/dev/zero of=/dev/null bs=700M count=1024

 

 6、自定义告警内容

故障操作
默认标题:
故障: {EVENT.NAME}
消息内容:
报警主机: {HOST.NAME1}
报警服务: {ITEM.NAME}
报警key1: {ITEM.KEY1}: {ITEM.VALUE1}
报警key2: {ITEM.KEY2}: {ITEM.VALUE2}
严重级别: {TRIGGER.SEVERITY}

恢复操作
默认标题:
恢复: {EVENT.NAME}
消息内容:
恢复主机: {HOST.NAME1}
恢复服务: {ITEM.NAME}
恢复key1: {ITEM.KEY1}: {ITEM.VALUE1}
恢复key2: {ITEM.KEY2}: {ITEM.VALUE2}

 

自定义操作(图中这里可以不发送给用户群组)

 ​​​

自定义恢复操作 

dd压力测试并查看邮箱

 

7、远程执行命令

因为zabbix服务启动用户为zabbix,所以在远程执行命令时,需要sudo提权

[root@Web01 ~]# grep zabbix /etc/sudoers
root    ALL=(ALL)       ALL
zabbix ALL=(ALL) NOPASSWD: ALL        

#测试zabbix权限
[root@Web01 ~]# su - zabbix -s /bin/bash
Last login: Mon May  8 22:16:48 CST 2023 on pts/0
-bash-4.2$ sudo systemctl restart sshd

[root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.conf|grep EnableRemoteCommands
### Option: EnableRemoteCommands - Deprecated, use AllowKey=system.run[*] or DenyKey=system.run[*] instead
EnableRemoteCommands=1

[root@Web01 ~]# systemctl restart zabbix-agent

[root@Web01 ~]# systemctl stop sshd

自动恢复

 8、微信报警

1、配置脚本文件

#需要用到weixin.py脚本和get-pip.py脚本
vim weixin.py
#修改三行内容,具体信息,参考自己的企业微信
corpid='xxx'
appsecret='xxx'
agentid=1xx

[root@Zabbix ~]# python get-pip.py        #报错是网络问题,重新执行
[root@Zabbix ~]# pip install requests
[root@Zabbix ~]# python weixin.py 'XingMing' '下雨了!' '回家收衣服'    #姓名,首字母大写

[root@zabbix ~]# mv weixin.py /usr/lib/zabbix/alertscripts/        #移动至zabbix指定的目录
[root@zabbix ~]# chmod +x /usr/lib/zabbix/alertscripts/weixin.py    #给予执行权限

企业微信后台需要添加小程序,添加可信域名(需备案),添加可信IP(zabbix的所在网络的公网IP,curl cip.cc) 

2、配置报警媒介类型

3、增加用户的告警媒介,填写收件人

4、配置动作添加微信媒介进行告警测试

 

自定义图形

1、给自定义监控项创建图形

 

 

2、多图形组合成一张图

更改可更换图标,加号可添加行列,减号可删除行列

3、幻灯片演示

点进去即可放映 

自定义模块

1、创建模板

创建模板的作用,主机和模板分离,多台服务器监控相同项目只调用一个模板即可,修改监控项修改模板即可完成对所有服务器的操作

2、复制自定义监控项配置为模板

找到之前web01的主机监控项,选中点击复制

3、复制触发器

与监控项同理,进行复制 

4、复制图形

与监控项、触发器同理,注意:应用集根据需求也可以进行复制

自定义配置的模板信息

5、新建一台服务器关联自定义模板linux-server

[root@Web01 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

[root@Web02 ~]# yum -y install zabbix-agent
[root@Web02 ~]# cat /etc/zabbix/zabbix_agentd.conf|grep Server=
#	Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
# Server=
Server=172.16.1.71

[root@Web01 ~]# scp /etc/zabbix/zabbix_agentd.d/system.conf 10.0.0.8:/etc/zabbix/zabbix_agentd.d/

[root@Web02 ~]# systemctl start zabbix-agent

 各项都监控到了

图形也监控到了


我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

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

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

相关文章

分类预测 | MATLAB实现PSO-DBN粒子群优化深度置信网络多输入分类预测

分类预测 | MATLAB实现PSO-DBN粒子群优化深度置信网络多输入分类预测 目录 分类预测 | MATLAB实现PSO-DBN粒子群优化深度置信网络多输入分类预测效果一览基本介绍模型描述程序设计参考资料效果一览

LC-1262. 可被三整除的最大和(状态机DP)

1262. 可被三整除的最大和 难度中等229 给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 示例 1: 输入:nums [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和是 18&#xff…

图的操作算法详解

一.图 基础概念: 有向图 - 图中每个边都有一个方向,例如社交媒体网站上的关注关系图就是有向图。无向图 - 图中每个边都没有方向,例如朋友之间的相互认识关系图可以是无向图。简单图 - 没有自环和重复边的无向图或有向图,例如一…

025.【树形结构算法】

1. 树的定义 树形结构是由n个元素组成的有限集合,如果n0,那么就称为空树;如果n>0,树形结构应该满足以下条件: 有一个特定的结点,称为根结点或根。 除根结点外,其余结点被分成m(m≥0)个互不…

面试官:一个 TCP 连接可以发多少个 HTTP 请求?

目录 🤔 第一个问题 🤔 第二个问题 🤔 第三个问题 🤔 第四个问题 🤔 第五个问题 曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同…

产品经理面试常见的25个必问题(一)

1、你认为产品经理的工作职责是什么? ●需求阶段(需求收集、需求管理、需求分析、需求评估) ●设计阶段(业务流程、功能模块、原型交互、需求文档) ●开发阶段(需求评审、项目管理、测试验收&#xff09…

centos版本的EDA虚拟机搭建1

0、参考博客 Centos镜像国内最全下载地址 VMware Workstation CPU如何设置才更加合理?如何才能发挥虚拟机最大性能 1、下载网站 http://mirrors.aliyun.com/centos/7/isos/x86_64/centos镜像文件下载完成。 2、vmware搭建centos 新建虚拟机。 选择自定义。 …

mysql中的索引

1、索引是什么? 在mysql当中, 内部系统它有两种查询方式, 一种是(全盘扫描查询),另外一种是通过(索引检索查询),通过添加了索引的字段进行查询, 可以大大提高查询效率 mysql中的索引相当于一本书中的目录&a…

java 物流配货管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 物流配货管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

centos7系统:HAProxy软件部署

目录 目 的: 硬件需求: ​编辑 实验环境配置: haproxy的服务器配置: nfsrps服务器部署: nginx服务器1部署: nginx服务器2部署: 目 的: 两台nginx服务器做web服务,haproxy服务器做调度负载均…

(6.9-6.15)【大数据新闻速递】

【上海数交所将携手清华大学等举办首届数据资产入表研修班】 上海数据交易所获悉,数交所将联合清华大学五道口金融学院、上海市数商协会于6月28日至29日举办首届数据资产入表研修班。财政部印发《企业数据资源相关会计处理暂行规定(征求意见稿&#xff…

前沿应用丨大规模无人机集群与“虚实结合”半实物仿真系统

一、应用背景 无人机集群在军事、安全、救援、航空监测、物流配送等领域具有广泛的应用前景。它可以提高任务执行的效率、灵活性和安全性,同时降低人力资源的需求和风险,无人机集群研究涉及多个学科领域,如机器人学、控制理论、通信技术和人工…

【算法与数据结构】383、LeetCode赎金信

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:这道题的思路和242、有效的字母异位词的思路一样   程序如下: class Solution { public…

好好存钱,是成年人最顶级的自律

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 王尔德说:“在我年轻的时候,曾以为金钱是世界上最重要的东西。现在我老了,才知道的确如此。” 路遥说:“钱是好东西,它能使人不再心慌&#…

指纹识别工具WhatWeb使用教程,图文教程(超详细)

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 WhatWeb 一、扫描网站指纹二、扫描强度三、扫描内网…

ZeroQuant-V2 LLM权重与激活量化

ref ZeroQuant-V2: Exploring Post-training Quantization in LLMs from Comprehensive Study to Low Rank Compensation 4bit量化为什么重要 The case for 4-bit precision: k-bit Inference Scaling Laws 这篇文章研究表明4bit通常是最优的量化方法:同样的量化…

快速选择合适的GNSS模拟器,看这几个重点

为了正确测试GNSS接收器或其他任何依赖GNSS信号的系统或设备,工程师需要模拟与真实卫星广播相同的RF信号,而使用GNSS模拟器是实现这一工作的最佳选择。 假设正在开发一种需要集成GNSS接收器的新产品,想要验证接收器设备在不同条件下是否运行…

企业为什么要关注库存?因为那都是“钱”!

库存是企业管理的核心,公司必须提供足够的商品来满足客户需求,但又不能冒着浪费金钱和资源的风险,一味的增加库存。 不同的企业在库存管理这个问题上就“八仙过海各显神通”了,常见的处理方法有: 1. 经验法&#xff1a…

求两数之和

必应壁纸供图 题目描述 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不…

基于SpringBoot+Vue的学生毕业离校系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…