02.Zabbix自定义监控项

1.zabbix自定义监控深入

1.详细介绍自定义添加监控项中的每一个参数的作用和使用方法。

2.自定义监控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 $1[root@zabbix-agent ~]#  systemctl restart zabbix-agent# zabbix-server测试[root@zabbix-server ~]# zabbix_get -s 10.0.0.7 -k tcp_state[LISTEN]8

3.在zabbixWeb端进行添加

TCP有11种状态, 如何快速添加监控项,可以对针对我们刚才添加过的监控项进行克隆。

实例演示: 监控tcp的22端口是否处于监听状态,使用类型是字符类型->使用Service State值映射

单击->检测中->最新数据

2.zabbix自定义配置阈值

1.演示取出内存的百分比(取出内存的可用的MB大小 / 总的内存大小 = 实际可用的百分比)

1.定义剩余内存百分比

[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.d/oldboy.confUserParameter=Mem_pre,free -m|awk '/^Mem/{print $NF*100/$2}'[root@web03 ~]# systemctl restart zabbix-agent

2.在ZabbixServer验证监控项是否可用

[root@m01 ~]# zabbix_get -s 10.0.0.30 -k 'Mem_pre'72.1766

3.Zabbix-Web页面配置监控项

2.自定义单条件触发器,设置内存低于 30% 进行报警

1.创建触发器

2.填写表达式

问题表达式:{Web03-10.0.0.30:Mem_pre.last()}<30
恢复表达式:{Web03-10.0.0.30:Mem_pre.last()}>30

3.压低内存,检查报警邮件(以内存1G为例,使用下面方式进行消耗内存)

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

3.生产建议:内存低于百分之10加上,swap使用超过百分之5,再次进行监控报警(更精准)

1.增加swap的监控

[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.d/oldboy.confUserParameter=Swap_pre,free -m|awk '/^Swap/{print $3*100/$2}'[root@web03 ~]# systemctl restart zabbix-agent

2.在ZabbixServer使用zabbix_get命令测试

[root@m01 ~]# zabbix_get -s 10.0.0.30 -k 'Swap_pre'0

3.在ZabbixWeb创建监控项

4.基于之前建立的触发器进行修改,修改为多条规则同时满足才触发

{Web03-10.0.0.30:Mem_pre.last()}<30 and {Web03-10.0.0.30:Swap_pre.last()}>1

5.使用dd命令消耗客户端内存(只满足内存低于30%,所以不会进行报警)

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

6.使用dd命令消耗客户端内存(满足内存低于30%,并且swap使用率超过1%)

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

7.常用的触发器表达式,常用的函数

and 并且 or 或者
last() 比对最新的值
avg() 解决波动报警,流量在多少分钟平均达到多少报警avg(5m)
diff() 比对上一次文件的内容
nodata() 收不到数据进行报警nodata(5m)

4.图形中文乱码处理

[root@m01 ~]# cd /usr/share/fonts/dejavu/[root@m01 dejavu]# mv DejaVuSans.ttf DejaVuSans.ttf.bak进入windows电脑,C盘->windows->fonts->随便复制字体至桌面 
[root@m01 dejavu]# rz   #上传了simhei.ttf[root@m01 dejavu]# mv simhei.ttf DejaVuSans.ttf

3.zabbix自定义报警内容

定制Zabbix报警的内容

1.单击配置->动作->事件源->触发器

2.配置故障报警邮件内容

告警消息内容:
报警主机:{HOST.NAME1}
报警服务: {ITEM.NAME1}
报警Key1: {ITEM.KEY1}:{ITEM.VALUE1}
报警Key2: {ITEM.KEY2}:{ITEM.VALUE2}
严重级别: {TRIGGER.SEVERITY}

3.配置恢复告警邮件内容

恢复消息内容:
恢复主机:{HOST.NAME1}
恢复服务: {ITEM.NAME1}
恢复Key1:{ITEM.KEY1}:{ITEM.VALUE1}
恢复Key2: {ITEM.KEY2}:{ITEM.VALUE2}

4.最终告警效果如下图所示

4.zabbix自定义监控图形

1.介绍监控的顺序->应用级->监控项->基于监控项创建触发器->基于监控项创建图形

2.基于监控项进行绘图

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

3.多张聚合图形可以整合为幻灯片

4.自定义图形树

#1.安装graphtreecd /usr/share/zabbix
wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3.0.4.patch#2.导入补丁包yum install -y patch
patch  -Np0 <graphtree3.0.4.patch
chown -R apache.apache oneoaas#3.修改Apache配置文件# vim /etc/httpd/conf.d/zabbix.confAlias /oneoaas /usr/share/zabbix/oneoaas#4.重启httpd服务systemctl restart httpd

单击->监测中->Graphtree

单击对应的主机->选择需要查看的图形->点击查询->效果展示

5.Zabbix自定义监控模板

1.模板是支持导入与导出(模板里面的监控项是有脚本支撑,所以脚本需一起打包)
2.conf文件主要用于定义监控项,监控项用来调用脚本或命令,获取监控值。
3.如果希望将之前定义的监控项做成模板,找到监控项->全选->复制
4. 自定义使用模板(让监控项可以重复使用)

1.客户端agent必须要定义监控项,监控项取值需要使用到脚本文件或系统命令
2.服务端导入模板
3.创建监控主机,链接新导入模板,如果是已存在的监控主机,增加我们刚导入的模板

6.Zabbix监控字符乱码

[root@zabbix-server ~]# cd /usr/share/zabbix/fonts/
[root@linux-node1 fonts]# wget http://download.xuliangwei.com/SIMHEI.ttf//修改字符集配置文件[root@zabbix-server ~]# vim /usr/share/zabbix/include/defines.inc.phpdefine('ZBX_GRAPH_FONT_NAME',           'SIMHEI');
define('ZBX_FONT_NAME', 'SIMHEI');//重新加载zabbix-server配置文件systemctl restart zabbix-server


Powered By Z-BlogPHP 1.7.3

 Theme By 优美模版

本博客为开源博客,本博客联系QQ:372097243