zabbix的工作过程:
数据采集–>数据存储–>数据展示和分析–>报警
-
数据采集:
SNMP、agent、ICMP/SSH/IPMI、web -
数据存储:
cacti:rrd
nagios:mysql
zabbix:mysql/pgsql/oracle -
数据展示(web):
java,php -
报警:
mail(smtp)
Chat message
SMS
zabbix:数据采集
zabbix agent 被动
agent(active)主动
SNMP
SSH
zabbix:存储
用RDBMS保存
数据展示:
php,web gui
报警:
报警升级
如何确定zabbix的监控对象:
手动添加,自动发现
触发器表达式
基本格式如下:
{:.()}
-
server:主机名称
-
key:主机上关联的相应监控项的key;
-
function:评估采集到的数据是否在合理范围内时所使用的函数。 例如有 avg、count、change、date、dayofweek、delta、diff、iregexp、last、max、min、nodata、now、sum
-
parameter:函数参数;大多数数值函数可以接受秒数为其参数,而如果在数值参数之前使用 “#” 做为前缀,则表示为 最近几次的取值,
如 sum(300) 表示 300秒内所有取值之和
而 sum(#10) 则表示最近10次的取值之和
此外,avg、count、last、min、max 还支持使用第二个参数,用于完成时间限定,例如,max(1h,7d) 将返回一周之前的最大值。
一个例子
{www.magedu.com:system.cpu.load[all,avg1].last(0)}>3
- 表示主机 www.magedu.com 上所有CPU 的过去1分钟内的平均负载的最后一次取值大于3时将触发状态变换
- 对last函数来说,last(0) 相当于 last(#1)