Zabbix的配置可分为9个模块:主机与组、监控项、触发器、事件、可视化配置、模板配置、告警配置、宏变量、用户与组
一、主机和组
1、客户端添加:
https://www.jianshu.com/p/47a685a17764
https://www.jianshu.com/p/df53930744ee
2、zabbix提供了资产清单的功能,可以方便查看资产数据,在添加主机的时候可以自动设置或手动设置:
二、监控项Item:
1、Item由key+参数组成,key:system.cpu.load key:system.cpu.load[avg5]
2、创建监控项:主机--监控项--创建监控项
可以自定义更新的时间间隔,数据保留时间,应用集,可以添加映射值,映射值可以是系统默认的,也可以是自定义的,映射值的意思是因为它返回0或1这样的数值,我们可以根据实际业务显示,即返回0显示什么,返回1显示什么
3、key的参数可以是默认值,写法为:icmpping[,,200,,500] 即前两个参数为默认值,第4、5个参数也为默认值。如果参数有带引号,用\来转义。
4、几个常用的系统自带的key:agent获取主机名等,kernel获取主机参数,Log监控日志,net.dns检测dns,net网卡相关,net.tcp监听端口,proc进程相关,sensor读取硬件传感器,system.cpu主机cpu信息,system.swap交换分区,vfs.dev磁盘,vfs.file文件,vm.memory内存,web.page网页
5、自定义用户key
在客户端zabbix_agentd.conf配置UserParameter:
UserParameter=ping[*],echo $1
如果调用ping这个key,则返回你的传的第一个参数,参数可以有9个,调用分别为$1-$9
6、值映射,即把返回值更改成符合实际的描述
7、应用集,即监控的业务类型,比如监控mysql,可规划为mysql应用集
三、触发器triggers:
1、items只是获取数值,数值分别是什么情况还没有规定,触发器就是对获取的数字做规定,属于什么级别的情况:未分类、信息、警告、一般严重、严重、灾难
2、可以自定义触发器严重性
3、触发器可设置依赖关系,比如检查网络是否正常的触发器需要依赖于服务器运行是否正常的触发器
4、触发条件比如{host:system.uptime.last(0)}<86400,可以写成{host:system.uptime.last(0)}<1d,其他还包括时间单位s、m、h、d、w
5、参数的写法:sum(600)即600秒的总和,sum(#5)即最新的5个值的总和,last(0)最新的一个值,min(10m)10分钟的最小值,avg(#5)最新5个平均值,icmpping.count(30m,0)>5 30分钟内,取得的值为0的次数超过5次,time(0)当前时间,{system.localtime.fuzzytime(10)}=0与服务端时间相差10秒以上
6、两个官方的复合例子:
四、事件通知
1、触发器触发后,需要通过媒介告知相关人员,包括email、shell脚本、微信、短信等。
2、事件来源包括:触发器、自动发现、自动注册、事件源
3、创建触发器动作:填写动作,条件,
步骤如果从1-10,步骤持续事件设置为60,即消息会发送10次,每60秒发送一次。选择发送群组或用户,发送介质包括email、sms、微信、shell脚本。
4、自动发现事件,可以将主机自动加入监控
5、自定义报警媒介,必须在zabbix_server.conf定义AlertScriptsPath=/脚本路径
添加完报警媒介脚本,还要添加用户的媒介参数
五、宏变量
1、添加宏变量:管理--一般--宏
2、宏的引用:{$SNMP_COMMUNITY}
六、远程命令
1、触发器触发时,不一定是发送消息,也可以直接执行命令,zabbix_agentd.conf中需要修改EnableRemoteCommands=1
2、执行的命令注意需要加sudo,还要确保zabbix有该命令执行权限:
七、聚合检测
1、聚合检测群组,检测ansible群组的平均负载:
2、其他例子