zabbix程序架构
zabbix程序架构
特性
- 数据采样:snmp;ssh/telnet;agent,ipmi,jmx
- 自定义检测机制
- 自定义指定时间间隔
- 实时绘图:展示
- graph
- map
- screen
- slide show
- 告警
- 告警升级
- 邮件
- 脚本
- 数据存储:
- mysql
- pgsql
- 支持使用模板
- 网络自动发现
- API
- 分布式监控:server<------>proxy<------->agent/ssh/ipmi
组件概述
- zabbix-server:
- 核心组件
- 负责接收agent发送的报告信息
- 所有配置,统计数据以及相关操作均有其组织进行
- Database:
- 专门用于存储所有的配置信息
- 还有zabbix收集的信息
- web interface:
- 通常与zabbix-server运行在同一台主机上
- 负责对外展示和相关配置操作
- proxy:
- 可选组件
- 常用于分布式环境
- 代理zabbix-server收集部分信息并统一发给zabbix-server
- agent:
- 部署在被监控主机上
- 负责收集数据发往proxy或者server
分布式架构
zabbix常用术语
- 主机:监控设备,可以有IP或者DNS名称指定
- 主机组:主机的逻辑容器
- 监控项:监控指标,每个item都有key进行标识
- 触发器:一个表达式,用于评估某个监控对象的某个特定item内所接受的数据是否在河里的范围内,即阈值
- 事件:即发生的一个值得关注的事情,例如触发器的状态转变,以及新的agent注册等
- 动作:对于特定的事件进行处理的方法
- 报警升级:
- 媒介
- 通知
- 远程命令:预定义的命令,可以再被监控主机处于某个特定的条件下执行
- 模板:用于快速定义被监控主机的预设条目集合,通常包含item,trigger, graph ,screen, application以及low-level discovery rule;模板可以直接链接至单个主机
- 应用:一组item的集合
- web场景:用于检测web站点可用性的一个或者多个HTTP请求
- 前端(frontend):zabbix的web接口
zabbix-server的相关进程
- poller:基于agent的数据采集工具
- httppoler:基于http请求的数据采集器
- housekeeper:数据清理器
- pinger:监控探针
- nodewatcher:节点监控探针
- alerter:报警器
- escalator:报警升级
- discovery:自动发现
- db_config_syncer:配置同步
- db_data_syncer:数据同步(和proxy相关)
- timer:定时器
- watchdog:看门狗程序,监控上述的进程是否正常;