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自定义报警内容
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