一、介绍
1.zabbix配置介绍
1、主机与组(hosts,hosts_groups)
不用多数,顾名思义,他是添加主机配置与组配置。
2、监控项(items)
需要监控的项目,例如服务器负载可以使一个监控项。系统自带大部分监控项,一些特定的监控项我们可以自定义,自定义监控项的方法也会在《zabbix监控项》这节谈到。
3、触发器(triggers)
什么情况下出发什么事情,称之为触发器。例如:定义如果系统负载大于10那么报警,这个东西可以称之为触发器。
4、事件(events)
触发器状态变更、Discovery事件等
5、可视化配置(graphs)
图表配置,讲监控的数据绘制成曲线图。或者在一个屏幕中可以看到某台主机所有监控图表。
6、模板配置(template)
自定义监控模板。例如Template OS Linux
7、报警配置(acctoins)
配置报警介质:邮箱、sms以及什么情况下发送报警通知。
8、宏变量
用户自定义变量,很有用的一个功能。
9、用户与组管理
2.zabbix结构流程图(来自网络)
3.items参数详解
名称:
这是项目的命名方式。
可以使用以下宏:
$ 1,$ 2 …$ 9 - 引用项键的第一个,第二个…第九个参数
例如:$ 1上的可用磁盘空间
如果项键是“vfs.fs.size [/,free] “,描述将自动更改为”可用磁盘空间/“
类型:
常见agent、SNMP、agent(active)等
键值:
key,点击select可以看到系统很多自带的key,也可以看到用户自定义的key
主机接口:
例如agent、SNMP、impi等
信息类型:
执行转换后存储在数据库中的数据类型(如果有)。
数字(无符号) - 64位无符号整数
数字(浮点) - 浮点数
可以存储负值。
允许范围:-999999999999.9999至999999999999.9999。
从Zabbix 2.2开始,还支持以科学计数法接收值。例如1e + 7,1e-4。
字符 - 短文本数据
日志 - 具有可选日志相关属性的长文本数据(时间戳,源,严重性,logeventid)
文本 - 长文本数据文本数据的
数据类型:
与信息类型对应,只有信息类型选择了“数字无正负”才需要填,有:布尔,八、十、十六进制
单位:
默认情况下,如果原始值超过1000,那么他会先除以1000并且显示出来例如,设置了单位为bps并且收到的值为11102,将会显示为11.1Kbps
如果单位被指定为 B (byte), Bps (bytes per second) ,那么它会除以1024然后再显示数据。所以大家在监控流量和文件大小的时候不要用错单位,否则会出现数据不一致的情况。
如下为时间单位:
unixtime – 转为 “yyyy.mm.dd hh:mm:ss”. 只能使用正数。
uptime – 转为“hh:mm:ss” 或者“N days, hh:mm:ss”
例如,收到的值为881764秒,他将会显示为“10 days, 04:56:04”
s – 转为“yyy mmm ddd hhh mmm sss ms”;
例如,收到的值为881764(单位秒),他将会被显示为10d 4h 56m”,只会显示3个单元。有时候只会显示2个单元,例如”1m 5h”(不包含分,秒,毫秒),如果返回的值小于0.001,他只会显示”<1 ms”禁用单位:ms、rpm、RPM、%
数据更新间隔(秒):
每N秒检索此项目的新值。允许的最大更新间隔为86400秒(1天)。从Zabbix 3.4.0开始支持时间后缀,例如30s,1m,2h,1d。自Zabbix 3.4.0起支持
自定义间隔:
灵活 - 为更新间隔创建例外(具有不同频率的间隔)
计划 - 创建自定义轮询计划。
灵活类型可以创建例外的更新间隔,例如:
间隔:10,期间:1-5,10:00-19:00,表示周一到周五的早上10点到晚上19点每十秒更新一次数据。其余时间使用默认值。这边最多只能设置7个灵活更新间隔.如果设置的多个灵活时间间隔有冲突,那么他会使用最小的时间间隔。
两个注意点:如果时间间隔被设置为0,那么数据永久不会更新。它不能用在zabbix主动方式的item
历史数据保留时长(单位天):
历史记录可以在数据库中保存多久,过期的历史数据将会被删除.
趋势数据存储周期(单位天):
趋势数据(以小时为单位的min,max,avg,count的数据)在数据库中保留时常,过期数据将会被删除。
存储值:
As is – 数据不作处理
Delta (speed per second) –
计算值公式为 (value-prev_value)/(time-prev_time)
value – 获取到得原始值
value_prev – 上次接收到的值
time – 当前时间
prev_time – 上次接收数据的时间一般用于数据增长的类型,例如:
网卡流量,每次获取到得都是当前网卡总流量。比如第一次给的值是0字节(UNIX时间为1),第二获取到得是3000字节(UNIX时间为31),那么套用公式(3000-0)/(31-30),可以得出数据是100字节/秒
备注:如果当前获取到的值比上一个值更小,那么zabbix会忽略这个值,等待下一次的值
Delta (simple change) –计算公式为 (value-prev_value),value – 当前值value_prev – 上次获取到得值
查看值:
值映射,需要配置数字映射到字符的映射表。例如:
1=>ttlsa.com访问正常。如果key返回的数据为1,那么监控页面不会显示1,而是显示ttlsa.com访问正常。key返回的数据只能为整数,并且不做任何修改保存到数据库中。只有在显示的时候才会根据映射表来展示相应的内容。
新的应用集:
创建新的应用集,不创建新的则使用,应用集列表有的
二、创建自定义items
0.环境:
zabbix(server)
zabbix-01(agent)
1.创建自定义key
1.1创建文件(用作监控测试)
[root@zabbix-01 ~]# dd if=/dev/zero of=/opt/test.file bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.109824 s, 95.5 MB/s
[root@zabbix-01 ~]# du -h /opt/test.file
10M /opt/test.file
1.2创建监控文件大小的key(如:/opt/test.file)
[root@zabbix-01 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix-01 zabbix_agentd.d]# cat -n monitoring_file_size.conf
1 UserParameter=monitoring_file_size,stat -c %s /opt/test.file
[root@zabbix-01 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@zabbix-01 zabbix_agentd.d]# netstat -lntup|grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 6649/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 6649/zabbix_agentd
##########
monitoring_file_size.conf:自定义key的文件名,可随意书写
UserParameter:固定
monitorinf_file_size:key的名称,不能重复。
stat -c %s /opt/test.file:统计文件大小的命令
##########
1.3测试是否生效
[root@zabbix ~]# zabbix_get -s 10.0.0.7 -k "monitoring_file_size"
670293
1.4 zabbix-web界面操作
1.5向/opt/test.filex写入内容
[root@zabbix-01 zabbix_agentd.d]# du -h /etc/services
656K /etc/services
[root@zabbix-01 zabbix_agentd.d]# cat /etc/services >>/opt/test.file
1.6zabbix web查看
2.使用系统自带的key创建items
2.1安装httpd,启动
[root@zabbix-01 ~]# yum install httpd -y
[root@zabbix-01 ~]# systemctl start httpd
[root@zabbix-01 ~]# netstat -lntup|grep httpd
tcp6 0 0 :::80 :::* LISTEN 7491/httpd
2.2zabbix-web界面操作
2.3关闭httpd
[root@zabbix-01 ~]# systemctl stop httpd