02.Zabbix⾃定义监控项
1.zabbix⾃定义监控初试
1.1.监控系统中的对象
#(系统监控命令 + awk + 筛选条件 = 监控的状态值)
[root@web01 ~]# w|awk 'NR==1{print $6}'
1.2.在/etc/zabbix/zabbix_agentd.d/⽬录中新增监控项,使⽤UserParameter=<key>,<shell command>
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/default.conf
UserParameter=login_number,w|awk 'NR==1{print $6}' #重启zabbix-agent使其监控项⽣效
[root@web01 ~]# systemctl restart zabbix-agent
1.3.在ZabbixAgent客户端测试⾃定义的监控项是否能正常取值,使⽤zabbix_agentd -p | grep KeyName
[root@web01 ~]# zabbix_agentd -p |grep login_number
login_number [t|]
1.4.使⽤ZabbixServer检测能否获取ZabbixAgent端⾃定义的监控项,使⽤zabbix_get -s IP_addr -k KeyName
[root@ZabbixServer ~]# yum install zabbix-get -y
[root@ZabbixServer ~]# zabbix_get -s 10.0.0.7 -p10050 -k login_number
1.5.如果测试都没有问题,可以在ZabbixWeb对该主机关联对应的监控项
.点击配置->主机->对应主机
.找到监控项->创建监控项->名称->键值(监控项⽬名称)->信息类型->单位
.点击监测中->最新数据->等待数据
1.6.⾃定义阈值,如果登陆⽤户超过2⼈则达到阈值(到达预设的瓶颈)
.点击配置->主机->对应主机
.点击触发器->创建触发器->名称->选择表达式->确定即可。
1.7.配置zabbixserver达到阈值,则触发前台⾯板报警通知。
.点击右上⻆⼩⼈头->正在发送消息->开启
.被监控端开启多个Linux会话窗⼝,等待zabbixweb前端报警
2.zabbix⾃定义监控深⼊
2.1.详细介绍基础模板中的监控项, 以及⾃定义添加监控项中的每⼀个参数的作⽤和使⽤⽅法。
2.2.监控tcp/22端⼝是否处于监听状态,使⽤Service State进⾏值映射
2.3.点击检测中->最新数据-->查看最新的状态
2.4.如何⾃定义监控tcp11种状态(传参⽅式)
[root@zabbix-agent ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix-agent ~]# zabbix_agentd.d]# cat -n tcp_state.conf
UserParameter=tcp_state[*],netstat -ant|grep -c $
[root@zabbix-agent ~]# systemctl restart zabbix-agent # zabbix-server测试
[root@zabbix-server ~]# zabbix_get -s 172.16.1.7 -k tcp_state[LISTEN]
2.5.在zabbixWeb端进⾏添加⾃定义监控项,TCP有11种状态, 如果需要快速添加监控项,可以对针对添加过的监控项进⾏克隆,然后修改。
3.zabbix⾃定义配置阈值
3.1 监控内存百分⽐(取出内存的可⽤⼤⼩ / 总内存⼤⼩ = 实际可⽤的百分⽐)
1.⾃定义监控内存百分⽐
[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.d/oldboy.conf
UserParameter=Mem_pre,free -m|awk '/^Mem/{print $NF*100/$2}'
[root@web03 ~]# systemctl restart zabbix-agent
[root@ZabbixServer ~]# zabbix_get -s 172.16.1.7 -k 'Mem_pre'
72.1766
3.2.⾃定义单条件触发器,设置内存低于 30% 进⾏报警
1.点击对应主机->创建触发器

3.3.⽣产建议:内存低于10%以及swap使⽤⼤于5%,再进⾏报警(会更精准)
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/oldboy.conf
UserParameter=Swap_pre,free -m|awk '/^Swap/{print $3*100/$2}'
[root@web01 ~]# systemctl restart zabbix-agent
[root@ZabbixServer ~]# zabbix_get -s 10.0.0.30 -k 'Swap_pre'
[root@web01 ~]# dd if=/dev/zero of=/dev/null bs=300M count=
[root@web01 ~]# dd if=/dev/zero of=/dev/null bs=800M count=
7.常⽤的触发器表达式,常⽤的函数,触发器表达式参考url
and #并且
or #或者
last() #⽐对最新的值
avg() #平均值
diff() #⽐对上⼀次⽂件的内容
nodata() #收不到数据进⾏报警nodata(5m)
(5m) #表示最近5分钟得到值
(#) #表示最近5次得到的值
4.zabbix⾃定义告警⽅式
4.1邮件报警
4.1.1.单击配置->动作->事件源->触发器->启⽤默认的告警通知
4.1.2.配置故障报警消息,定制消息内容如下:
[定制Zabbix报警的内容](https://www.zabbix.com/documentation/3.4/zh/manual/appendix/macros/supported_by_location)
报警主机:{HOST.NAME1}
报警服务: {ITEM.NAME1}
报警Key1: {ITEM.KEY1}:{ITEM.VALUE1}
报警Key2: {ITEM.KEY2}:{ITEM.VALUE2}
严重级别: {TRIGGER.SEVERITY}

4.1.3.配置故障恢复消息,消息内容如下:
恢复主机:{HOST.NAME1}
恢复服务: {ITEM.NAME1}
恢复Key1:{ITEM.KEY1}:{ITEM.VALUE1}
恢复Key2: {ITEM.KEY2}:{ITEM.VALUE2}
4.1.4.单击管理→报警媒介类型,设定发送消息的介质-email
4.1.5.配置服务器邮件的发件⼈,使⽤邮箱账户和授权密码(注意:不是收件⼈邮箱)
4.1.6.配置收件⼈接收的邮箱,单击右上⻆⽤户->报媒介->添加
4.1.7.填写收件⼈类型, 收件⼈邮箱,接收报警的级别,最后点击添加
4.1.8.确认没有任何问题,点击更新按钮。
4.1.9.如果邮箱配置没有任何错误,可以尝试触发报警, 查看邮件是否能收到报警消息
4.1.10.如果邮箱配置存在错误,单击报表->动作⽇志->检查邮箱发送情况
4.2.实现企业微信报警
4.2.1.准备微信报警脚本, 脚本怎么写->脚本放在哪
[root@ZabbixServer ~]# yum install python-pip -y
[root@ZabbixServer ~]# pip install requests
[root@ZabbixServer ~]# cd /usr/lib/zabbix/alertscripts
[root@ZabbixServer alertscripts]# rz weixin.py
[root@ZabbixServer alertscripts]# chmod +x weixin.py
[root@ZabbixServer alertscripts]# ./weixin.py WeiXinID Subject Messages #切记⼀定要删除,否则会导致权限问题
[root@ZabbixServer alertscripts]# rm -f /tmp/weixin.log
4.2.2.单击管理->报警媒介类型->创建媒介类型
4.2.3.填写微信报警名称,以及脚本需要传⼊的参数,内容如下:
{ALERT.SENDTO} #发送的⽤户
{ALERT.SUBJECT} #发送的主题
{ALERT.MESSAGE} #发送的内容*

4.2.4.配置接收的企业微信号(微信号是企业中的微信名称), 单击⽤户->报警媒介->添加->按如下填写即可

4.2.5.测试微信报警
4.3.实现执⾏远程命令
5.Zabbix⾃定义告警升级
5.1.简单的配置⼀个示例, 剩下的配置⼀样, 重点在于如何配置"告警升级"和"发送时间的理解

5.2.整体配置如下
5.3.计算⽅式
6.zabbix⾃定义监控图形
6.1.介绍监控的顺序->应⽤级->监控项->基于监控项创建触发器->基于监控项创建图形
6.2.基于监控项进行绘图

6.3.将多张图形整合为一张图形, 简称聚合图形

6.4.多张聚合图形可以整合为幻灯⽚

6.5 ⾃定义图形树
#.安装graphtree
cd /usr/share/zabbix
wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3.0.4.pat
ch
#.导⼊补丁包
yum install -y patch
patch -Np0 <graphtree3.0.4.patch
chown -R apache.apache oneoaas
#.修改Apache配置⽂件
# vim /etc/httpd/conf.d/zabbix.conf
Alias /oneoaas /usr/share/zabbix/oneoaas
#.重启httpd服务
systemctl restart httpd
6.6.解决Zabbix中⽂字符集图形乱码问题,如果准备的字体是ttc格式,修改为ttf格式也能正常使⽤。
[root@ZabbixServer ~]# cd /usr/share/fonts/dejavu/
[root@ZabbixServer dejavu]# mv DejaVuSans.ttf DejaVuSans.ttf.bak
进⼊windows电脑,C盘->windows->fonts->随便复制字体⾄桌⾯
[root@ZabbixServer dejavu]# rz #上传了simhei.ttf
[root@ZabbixServer dejavu]# mv simhei.ttf DejaVuSans.ttf
7.Zabbix⾃定义监控模板
.模板是⽀持导⼊与导出(模板⾥⾯的监控项是有脚本⽀撑,所以脚本需⼀起打包)
.conf⽂件主要⽤于定义监控项,监控项⽤来调⽤脚本或命令,获取监控值。
.如果希望将之前定义的监控项做成模板,找到监控项->全选->复制
. ⾃定义使⽤模板(让监控项可以重复使⽤) .客户端agent必须要定义监控项,监控项取值需要使⽤到脚本⽂件或系统命令
.服务端导⼊模板
.创建监控主机,链接新导⼊模板,如果是已存在的监控主机,增加我们刚导⼊的模板
02.Zabbix⾃定义监控项的更多相关文章
- 02 . Zabbix配置监控项及聚合图形
安装Zabbix Agent监控本机 安装agent软件 与server端不同,Agent只需安装zabbix-agent包 cat /etc/yum.repos.d/zabbix.repo [zab ...
- zabbix添加自定义监控项
zabbix添加自定义监控项 author:headsen chen 2017-10-16 17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...
- zabbix自定义监控项
原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现 vim xxx/zabbix_agentd.conf UnsafeUserParameters=1 ...
- zabbix--自定义监控项vsftpd
Zabbix 自定义监控项之监控 vsftpd zabbix 提供了很多监控选择,功能丰富,我们还可以根据自定义来监控想要监控一些日常的服务等. 说明: 此处我们通过监控 ftp (自定义命令),实现 ...
- zabbix日常监控项java(四)
yum install net-tools netstat命令 yum -y install bash-completion 命令自动补全包 https://github.com/qiueer/zab ...
- zabbix自定义监控项一
1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...
- zabbix自定义监控项数据类型错误
问题描述 监控cpu使用率,脚本获取的值是浮点型 zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...
- zabbix自定义监控项、添加图形、设置触发器、远程执行命令
监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...
- (30)zabbix Trapper 监控项配置
概述 zabbix获取数据有超时时间,如果一些数据需要执行比较长的时间才能获取的话,那么zabbix会出现异常,考虑到这种情况,zabbix增加了Trapper功能,客户端自己提交数据给zabbix, ...
随机推荐
- ng build --aot 与 ng build --prod
angluar的编译有以下几种方式: ng build 常规的压缩操作 代码体积最大 ng build --aot angular预编译 代码体积较小 ng build --pr ...
- Java 泛型,你了解类型擦除吗?
泛型,一个孤独的守门者. 大家可能会有疑问,我为什么叫做泛型是一个守门者.这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇.泛型是 Java 中一个很小巧的概念,但 ...
- JAVA 基础编程练习题11 【程序 11 求不重复数字】
11 [程序 11 求不重复数字] 题目:有 1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数字都是 1.2.3.4.组成所有的排列后 ...
- axios中的qs介绍
首先qs是一个npm仓库所管理的包,可通过npm install qs命令进行安装. 地址: https://www.npmjs.com/package/qs qs.parse().qs.string ...
- Java之属性和普通方法
一.定义类 上一节讲了很多深奥的理论,那么这节我们就得实践一下,先简单描述一下我们的实体世界:有一个学生小明,那么这个学生就是一个对象,这个对象有哪些属性和方法呢,我们可以先简单抽象一下,属性有(姓名 ...
- C++进阶笔记
思想原则: 以类为例,类最终要处理的是数据,方法只是过程,最终要改变的是private中的数据成员状态.程序设计也是如此,要的是数据. 一.const的作用 const定义变量:定义了一个不可修改的常 ...
- Java学习笔记-反射机制
Java反射机制实在运行状态时,对于任意一个类,都能够知道这个类的属性和方法,对于任意一个对象,都能够调用他的任意一个属性和方法 获取Class对象的三种方式 Object类中的getClass()方 ...
- 2019牛客暑期多校训练营(第五场)- B generator 1 (齐次线性递推+矩阵快速幂)
题目链接:https://ac.nowcoder.com/acm/contest/885/B 题意:已知齐次线性式xn=a*xn-1+b*xn-2,已知a,b,x0,x1,求xn,n很大,n<= ...
- XXLJOB2.1.0数据源配置踩坑记录
最近在看XXLJOB,因为截至到发文时间最新的版本是2.1.0而且需要建立的数据库与Quartz解耦了,所以就用了最新的版本. 首先说一下踩坑过程: 代码开发完成之后,在定时跑的时候第一次跑的多数失败 ...
- OpenVZ平台 Google BBR加速
前言 一直以来用的都是搬瓦工的VPS,不得不说比国内那些大厂的性价比高得不知道哪里去了. 当做梯子来用的话搬瓦工年付19.9美元的方案就够用了,网上还有一些官方优惠码(折扣6%: BWH1ZBPV ...



