1.Server zabbix系统核心进程,轮询并捕获数据、发送通知等。是zabbix agent和zabbix proxy汇报数据的对象。server自身可远程检测网络服务。所有的前后端配置、统计信息、可操作数据存储于此。包含server、前段界面和后端DB几部分。 2.Agent 部署在被监控主机上用于监控本地资源和应用并向zabbix server汇报结果。使用本地系统调用故非常高效。有主动和被动两种检测模式。被动模式下agent根据server或proxy的具体请求来返回数据。主动模式下先主动由server获取监控项列表在检测并返回新的数据。采用主动或被动检测取决于相应监控项的配置。 3.Proxy 可以自由选择部署或者不部署,主要用于分担server的负载。在集中化监控远程位置、分支、网络的场景中是很好的解决方案。可从被监控设备收集数据缓存在proxy本地后传递给其所属的zabbix server。proxy需要单独的数据库。 4.Java gateway java实现的守护进程用于监控JMX类型的应用程序。 5.Sender 命令行工具zabbix_sender,用于向zabbix server发送性能数据和可用性数据。多用于用户脚本定期向server发送数据。 如: shell> cd bin shell> ./zabbix_sender -z zabbix -s "Linux DB3" -k db.connections -o 43 6.Get 命令行工具zabbix_get,用于同agent通信从agent获取数据。可用于zabbix agents的troubleshooting。 如: shell> cd bin shell> ./zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]" #################################### #zabbix术语表 #################################### host 需要被监控的设备,如交换机、路由器、WEB服务器、DB服务器等 host group 被监控设备的逻辑分组,如DB服务器一组、WEB服务器一组等。可包含主机和模板。用于权限控制 item 需要被监控的项,如CPU空闲率、某一块磁盘的使用率等 trigger 用于评估收到的监控值是否超出设定的阈值的逻辑表达式 event 如trigger状态改变等值得注意的事件 action 预先定义的响应event的一系列operations escalation 执行action中的operations的定制场景;一连串的发送通知、执行远程命令 media 传递notification的方式 notification 通过media发送给用户的关于某个event的消息 remote command 在被监控机器上触发并自动执行的预定义命令 template 用于简化和加速主机上大规模监控任务的部署。包含一系列项目,如items, triggers, graphs, screens, applications, low-level discovery rules application 逻辑组中的一组items web scenario 一个或多个HTTP request用以检查web站点可用性 frontend zabbix的web界面 zabbix api 允许通过JSON RPC 协议创建、更新和获取zabbix对象如,hosts, items, graphs and others。或者执行其他任务 zabbix server zabbix核心,履行监控,与zabbix proxies、zabbix client交互、计算trigger、发送notification、存储数据等任务 zabbix agent 部署在被监控主机上用于监控本地资源和应用 zabbix proxy 可代zabbix server收集数据分担处理负载 ###################################### #zabbix配置 ###################################### 可通过WEB界面或者模板进行配置 需配置内容包括users、user groups、hosts、host groups、items、Triggers、Events、notification、templates、visualisation等。 最终配置会被存储在后端database中。