一、zabbix介绍
zabbix是一款企业级的监控软件,可以监控的底层硬件包括主机,cpu,内存,交换机等信息,同时也可以基于软件层面做监控,包括进程,端口,文件等状态变化。
二、zabbix监控架构及流程图
1.架构图
zabbix常见的监控方式agent,snmp,IPMA
zabbix采用server/client架构和server-proxy-client架构两种方式
当node节点比较多时采用server-proxy-client这种方式,避免server压力太大,起到分流作用
各组件如何工作呢?
zabbix-server:负责配置所有监控项,触发告警动作,监听node节点上报的数据,或者主动拉取node数据,存储到数据库
database: 负责存储server端定期搜集的node节点的数据,并给web ui展示相应的数据变化
web ui: 负责展示一段时间,或实时的node节点数据
agent: 负责根据server端配置的items监控项搜集本机数据,然后上报到server端,并保持和server端的通信
proxy: 当服务端连接太多的node连接会承受一定的负载压力,这时就需要proxy承受一部分node数据,然后在转发给server端,减轻server端压力,
思考:为什么server端不能由多个?
server端由多个的话,node不知道上报给谁,并且可能造成数据不一致的问题.
2.监控流程图
zabbix工作流程:
定义一个模版template,然后定义监控项items和triggers,将触发器和items绑定到模版上,然后定义主机组,将主机加入主机组,并将模版绑定到主机上,agent发送tcp请求给server端,server将需要监控的额items通过zabbix poller进程下发给agent,agent采集items数据并上报给server或者proxy, server端接收到agent或者proxy的数据添加到数据库,并将数据展示到web ui, 同时某个项目的触发器绑定有trigger,项目值达到trigger阀值就会触发enents事件(如发送命令)同时执行相应的action 报警给相应的人.
三、主动监控和被动监控
1.主动监控
- Agent打开TCP连接
- Agent请求items检测列表
- Server返回items列表
- Agent 处理响应
- 关闭TCP连接
- Agent开始收集数据
2.被动监控
- Server打开一个TCP连接
- Server发送请求agent.ping\n
- Agent接收到请求并且响应
- Server处理接收到的数据
- 关闭TCP连接
原文地址:https://blog.51cto.com/haoyonghui/2458508