zabbix基础知识
监控系统:
数据采集、数据存储、报警、数据可视化
数据采集 --> 数据存储 --> 数据展示
报警:采集到的数据超出阈值
zabbix组件:
zabbix-server
zabbix-database
zabbix-web
zabbix-agent
zabbix-proxy
Zabbix完整的监控配置流程大体上由如下步骤组成:
Host group --> Hosts --> Applications --> Items --> Triggers --> Events --> Actions --> User groups --> Users --> Medias
Item:
默认的Items有多种类型:
Zabbix-agent:
工作模式:passive, active
网卡流量相关:
net.if.in[if,<mode>]
if: 接口,如eht0
mode: bytes, packets, errors, dropped
net.if.out[if,<mode>]
net.if.total[if.<mode>]
端口相关:
net.tcp.listen[port]
net.tcp.port[<ip>,port]
net.tcp.service[service,<ip>,<port>]
net.udp.listen[port]
进程相关:
kernel.maxfiles
kernel.maxproc
CPU相关:
system.cpu.intr
system.cpu.load[<cpu>,<mode>]
system.cpu.num[<type>]
system.cpu.switches
system.cpu.util[<cpu>,<type>,<mode>]
磁盘IO或文件系统相关:
vfs.dev.read[<device>,<type>,<mode>]
vfs.dev.write[<device>,<type>,<mode>]
vfs.fs.inode[fs,<mode>]
用户可自定义item:
关键:选取一个惟一的key;
命令:收集数据的命令或脚本;
Item key:命名要求:只能使用字母、数字、下划线、点号、连接符接受参数;system.cpu.load[<cpu>,<mode>], net.if.inbound[if,<mode>]
注意:每个key背后都应该有一个命令或脚本来负现实现数据收集;此命令或脚本可调用传递给key的参数,调用方式为$1, $2,...
存储的值:
As is: 不对数据做任何处理,存储采集数据本身Delta(simple change):本次采集的数据减去前一次采集的数据Delta(speed per second): 本次采集的数据减去前一次采集的数据,再除以经过的时长,速率数据
Trigger:
状态:
OK
PROBLEM:有事件发生;
zabbix server每次接收到items的新数据时,就会对Item的当前采样值进行判断,即与trigger的表达式进行比较;
一个trigger只能属于一个Item, 但一个Item可以有多个trigger;
Severity:
Not classified: 未知级别,灰色;
Information: 一般信息,亮绿;
Warning:警告信息,黄色;
Average: 一般故障,橙色;
High:高级别故障,红色;
Disater:致使故障,亮红;
Action:
触发条件一般为事件:
Trigger events: OK --> PROBLEM
Discovery events: zabbix的network discovery工作时发现主机;
Auto registration events:主动模式的agent注册时产生的事件;
Internal events:Item变成不再被支持,或Trigger变成未知状态;
Operations的功能:
send message
Media Type
Email, SMS, Jabber, Script, EZ Texting
User
remote command
(1) 给zabbix定义sudo规则;
zabbix ALL=(ALL) ALL
(2) 不支持active模式的agent;
(3) 不支持代理模式;
(4) 命令长度不得超过255个字符;
(5) 可以使用宏;
(6) zabbix-server仅执行命令,而不关心命令是否执行成功;
前提:zabbix-agent要配置为支持执行远程命令:
EnableRemoteCommands=1
注意
(1) 如果用到以其它用户身份执行命令的话,那么命令本身要以sudo方式运行:
sudo /etc/rc.d/init.d/httpd restart
(2) 在各agent上的sudoers文件,要注释如下行:
Defaults requiretty
Script:Alert Script
放置于特定目录中:AlertScriptsPath=/usr/lib/zabbix/alertscripts
zabbix_server.conf配置文件中的参数;
脚本中可使用$1, $2, $3来调用 action 中的 邮件的收件人, Default Subject, Default Message;
注意:新放入此目录中的脚本,只有重启zabbix-server方能被使用;
宏:
两类:内建:{MACRO_NAME}自定义:{$MACRO_NAME}可以三个级别使用:Global, Template, Host优先级:Host --> Template --> Global在某级别找到后将直接使用;命名要求:大小写字母,数字,下划线