002.Zabbix简介
程序员文章站
2022-09-04 15:52:36
一 Zabbix简介 1.1 概述 Zabbix是一个企业级的高度集成开源监控软件,提供分布式监控解决方案。可以用来监控设备、服务等可用性和性能。 1.2 所支持监控方式 目前由zabbix提供包括但不限于以下事项类型的支持 二 Zabbix优势 *开放源代码产品,可以对其进行任意修改和二次开发, ......
一 zabbix简介
1.1 概述
zabbix是一个企业级的高度集成开源监控软件,提供分布式监控解决方案。可以用来监控设备、服务等可用性和性能。
1.2 所支持监控方式
目前由zabbix提供包括但不限于以下事项类型的支持
1 zabbix agent checks #这些客户端来进行数据采集,又分为zabbix agent(被动模式:客户端等着服务器端来要数据),zabbix agent (active)(主动模式:客户端主动发送数据到服务器端) 2 snmp agent checks #snmp方式,如果要监控打印机网络设备等支持snmp设备的话,但是又不能安装agent的设备。 3 snmp traps 4 ipmi checks #ipmi即智能平台管理接口,现在是业界通过的标准。用户可以利用ipmi监视服务器的物理特性,如温度、电压、电扇工作状态、电源供应以及机箱入侵等。 5 simple checks #简单检查,选择此方式后icmping主机判断主机是否存活 6 vmware monitoring #vmware监控 7 log file monitoring #监控日志文件 8 calculated items #监控项的计算 9 zabbix internal checks #内部检查允许监控zabbix的内部流程。 换句话说,您可以监视与zabbix服务器或zabbix代理到底发生了什么。 10 ssh checks #ssh检查。zabbix服务器必须执行ssh检查最初的配置ssh2的支持。 11 telnet checks #telnet检查。telnet检查表现为缺少代理的监控。 zabbix代理不需要远程登录检查。 12 external checks #zabbix服务器执行的外部检查是检查通过运行shell脚本或二进制。外部检查不需要任何代理被监控主机上运行。 13 aggregate checks #总体检查zabbix服务器通过直接从项目收集汇总信息数据库查询。 14 trapper items #陷阱项目接受传入的数据,而不是查询它。对于您可能要“推”到zabbix的任何数据都是有用的。 15 jmx monitoring #java管理扩展,是java平台上为应用程序、设备、系统等植入管理功能的框架。jmx可以跨越一系列异构操作系统平台、系统体系架构和网络传输协议,灵活地开发无缝集成的系统、网络和服务管理应用。 16 odbc checks #odbc监控对应数据库监控zabbix前端项目类型。odbc是一个c编程语言中间件api用于访问数据库管理系统(dbms)。 odbc的概念是由微软,后来移植到其他平台。
二 zabbix优势
- *开放源代码产品,可以对其进行任意修改和二次开发,采用gpl协议;
- 安装和配置简单;
- 搭建环境简单,基于开源软件构建平台;
- 完全支持linux、unix、windows、aix、bsd等平台,采用c语言编码,系统占用小,数据采集性能和速度非常快;
- 数据采集持久存储到数据库,便于对监控数据的二次分析;
- 非常丰富的扩展能力,轻松实现自定义监控项和实现数据采集;
三 zabbix架构及服务
3.1 部署架构
client/server:通用架构
client/node/server和client/proxy/server:分布式架构,zabbix-server将采集的数据持久的存储到数据库中,前端ui展示,agent采集数据是,proxy做代理,server处理数据。
采集方式:snmp、ssh、telent、ipmi等多种协议。
3.2 相关服务
- zabbix_server:zabbix服务端的核心程序;
- zabbix_proxy:zabbix代理服务程序,用于分布式监控proxy模式中;
- zabbix_agent(d):zabbix专用客户端程序(守护进程),收集客户端数据;
- zabbix_java_gateway:zabbix的java采集服务端,用于jmx的监控方式;
- zabbix_sender:zabbix的trapping模式,将采集到的数据通过定时任务主动发送给zabbix_server;
- zabbix_get:zabbix的一个数据获取测试命令。
四 zabbix运行流程
五 zabbix特性
5.1 数据收集
- 可用、性能检测;
- 支持agent、snmp、ssh、telnet等;
- 自定义的检测;
- 自定义收集数据的频率;
- 服务端/代理端和客户端模式。
5.2 灵活的触发器
- 可用定义非常灵活的告警阀值和多种告警相关联的条件。
5.3 高度可定制的告警
- 发送通知,告警级别、动作升级、收件人和媒体类型;
- 通知可用使用远程命令的自动调用和执行。
5.4 实时的绘图功能
- 监控项将数据实时绘制在图形上。
5.5 web监控能力
- zabbix可用模拟浏览器请求一个网站,并检查返回值和响应时间。
5.6 多种可视化展示
- 自定义监控的展示图,将多种监控数据集中展示到一张图中;
- 网络拓扑图;
- 自定义的screens和slide shows将多种图形集中展示;
- 报表功能;
- 资源使用情况的监控展示。
5.7 历史数据的存储
- 数据存储在数据库中;
- 历史数据的存放周期可配置;
- 定期删除过期的历史数据。
5.8 配置简易
- 第一步:添加设备
- 第二步:应用模板即可完成监控
5.9 使用模板
- 模板可以分组;
- 模板具有可继承性。
5.10 网络发现
- 支持自动发现网络设备和服务器;
- agent自动注册;
- 支持自动发现实时动态监控项的批量监控,自动发现文件系统、网络接口、snmp oid。
5.11 快速的访问接口
- web页面基于php;
- 远程访问;
- 日志审计。
5.12 api功能
- 应用api功能可以方便地和其他系统结合,包括手机客户端的使用。
5.13 系统权限
- 不同的用户展示监控的资源不同;
- 对用户的身份认证。
5.14 程序特性
- 用c语言编写,其性能和内存开销非常小。
5.15 大型环境的支持
- 利用zabbix-proxy方式即可轻松构建远程监控。
注意:crontab运行中对时间要求很高,确保所有设备尽量有时间同步或者ntp服务。