监控系统:

数据采集、数据存储、报警、数据可视化 

       数据采集 --> 数据存储 --> 数据展示

报警:采集到的数据超出阈值

 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



在某级别找到后将直接使用;


大小写字母,数字,下划线