标签:zabbix 监控
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix组件主要分两个: zabbix-server和zabbix-agent。支持的监控协议有ICMP,IPMI,SNMP,HTTP以及zabbix协议(zabbix协议是最常使用的协议用来监控各被监控端)。
收集的数据存放在数据库中,数据库支持mysql,oracle等等。
第三个组件:zabbix web gui这个接口提供web页面来监控和管理各被监控端。
第四个组件:zabbix proxy(实现分布式监控专用组件非必要组件,被监控服务器超过一千以上可以使用此组件。)
工作流程图:
zabbix_get进程去客户端收集数据,zabbix_agentd进程通过监听在一个套接字上接收zabbix_get的请求,通过zabbix_sender将
数据收集发送给服务器端,数据保存在zabbix数据库中,zabbix_get这种方法主要用于测试,通过写脚本或远程执行命令的方式。
zabbix server自己自动会周期性的去被监控端收集数据,收集哪些数据在服务器端事先定义。
zabbix server ,zabbix database,zabbix web gui 可以部署在一台服务器上,为了提升性能可以放在不同主机上。
zabbix一些常用术语:
host(主机):要监控的网络设备,可由IP或DNS名称指定
host group(主机组):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用(大致了解下就可以了)。
item(监控项):这个从名字上可以理解,具体要监控哪些指标由它定义。
trigger(触发器):就是超过了定义的合理范围,这家伙就会报警。
event(事件):这都是触发器产生的。
action(动作):对事件如何应对,比如要执行哪些操作。
escalation(报警升级):如果在定义的5分钟没反应,从warning级别升到high级别,就是要提醒别人要尽快处理。
media(媒介):发送报警的手段和通道,如Email。
remote command(远程命令):预定义的命令,可在被监控主机处于某个特定条件下时自动执行。
template(模板):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至单个主机。(这个概念不理解不过没关系的,只要具体会怎么操作就可以了)
application(应用):一组item的集合。
以上术语的关系可以用下图表示(大致明白就行):
上图中的poller这个进程就是去各客户端获取数据的。
zabbix产生的数据主要由四部分组成:
配置数据(忽略)
历史数据:50bytes
历史趋势数据: 128bytes
事件数据:130bytes
历史数据:采样生成的数据
历史趋势数据:每小时的最大值、最小值、平均值、统计
通过对以上数据的计算,可以得出我们需要一个多大的zabbix数据库,来定制磁盘硬件。
具体算法:
假设有60000个监控项,那每秒中处理的数据就有60000/60=1000条
历史数据大小=天数X每秒钟处理的数据量X24X3600X50Bytes
趋势数据:
每一个趋势128Bytes,
大小=天数X监控项X24X128Bytes
事件数据:
每个占据130Bytes
大小:天数X86400X130(假设每秒中产生一个事件)
标签:zabbix 监控
原文地址:http://blog.51cto.com/20170401/2094677