文章目录
- 一、Zabbix特点
- 二、Zabbix结构
- 三、Zabbix进程
- 四、Zabbix常用术语
- 五、zabbix的监控架构
- 六、Zabbix安装要求
- 七、Zabbix部署包安装
- 七、添加要监控的客户端
一、Zabbix特点
Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持。
Zabbix 是一个企业级的分布式开源监控方案。
Zabbix是一款能够监控各种 络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的 告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
Zabbix支持主动轮询和被动捕获。Zabbix所有的 告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的 络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。
zabbix可以通过SNMP,Agent,ssh/telnet,IPMI(端口监视),JMX等方法提供对远程服务器/ 络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
特点:
Zabbix是一个高度集成的 络监控解决方案,一个简单的安装包中提供多样性的功能。
数据收集
- 可用性和性能检查
- 支持SNMP(包括主动轮训和被动获取),IPMI,JMX,VMware监控
- 自定义检查
- 按照自定义的间隔收集需要的数据
- 通过server/proxy+agents来执行
灵活的阀值定义
- 可以非常灵活的定义问题阈值,称之为触发器,触发器从后端数据库获取参考值
高度可配置化的告警
- 可根据递增机制,接收方和媒介类型自定义发送告警通知
- 使用宏变量可以使告警通知更加高效有用
- 自动相应动作可包含远程命令
实时图表绘制
- 使用内置图表绘制功能可以将监控项的内容实时绘制成图表,高水平的业务视图监控资源。
Web监控功能
- Zabbix可以追踪模拟鼠标在Web 站上的点击操作,来检查Web的功能和响应时间
丰富的可视化选项
- 支持创建自定义的图表,一个试图集中展现多个监控项
- 络拓扑图
- 以仪表盘的样式自定义大屏展现和幻灯片轮询播放
- 表
- 监控内容的高级(业务)视图
历史数据存储
- 数据库数据
- 可配置历史数据
- 内置数据管理机制(housekeeping)
配置简单
- 将被监控对象添加为主机
- 在数据库中获取主机进行监视
- 应用模板来监控设备
使用模板
- 在模板中分组检查
- 模板可以关联其他模板
络发现
- 自动发现 络设备
- 监控代理自动注册
- 发现文件系统, 络接口和SNMP OID值
快捷的Web界面
- PHP Web前端
- 可从任何地方访问
- 你可以定制自己的操作方式
Zabbix API
- Zabbix API为Zabbix 提供了对外的可编程接口,用于批量操作,第三方软件集成和其他目的
权限管理系统
- 安全用户认证
- 特定用户可以限制访问特定的视图
功能强大,易于扩展的agent
- 部署在被监控对象上
- 支持Linux和Windows
二进制代码
- 为了性能和更少内存的占用,用C语言编写
- 便于移植
为复杂环境准备
- 使用Zabbix proxy代理服务器,使得远程监控更简单
支持自由的自定义事件和邮件发送。
二、Zabbix结构
Zabbix由几个主要的软件组件构成,这些组件的功能如下。
1. Zabbix Server
Zabbix server 是agent程序 告系统可用性、系统完整性和统计数据的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。
2. Database Storage
所有配置信息和Zabbix收集到的数据都被存储在数据库中。
3. Web interface
为了从任何地方和任何平台都可以轻松的访问Zabbix, 提供基于Web的Zabbix界面。该界面是Zabbix Server的一部分,通常(但不一定)跟Zabbix Server运行在同一台物理机器上。
如果使用SQLite,Zabbix Web界面必须要跟Zabbix Server运行在同一台物理机器上。
4. PROXY代理服务器
Zabbix proxy 可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。
5. AGENT监控代理
Zabbix agents监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据 告给Zabbix Server。
三、Zabbix进程
默认情况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。
zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。
zabbix_get
zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。
zabbix_sender
zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
zabbix_server
zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。
zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理理是做什么的个关子,请继续关注运维生存时间zabbix教程系列。
zabbix_java_gateway
zabbix2.0之后引入的一个功能。顾名思义:Java 关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。
逻辑关系图:
五、zabbix的监控架构
在实际监控架构中,zabbix根据 络环境、监控规模等 分了三种架构: server-client 、master-node-client、server-proxy-client 三种 。
server-client架构
上图是server-proxy-client架构,其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 。该架构经常是和master-node-client架构做比较的架构 ,一般适用于跨机房、跨 络的中型 络架构的监控。
master-node-client架构
导入zabbix初始数据库
3. zabbix配置
- 配置数据库连接信息
配置文件中的这四条信息必须和以上数据库中创建的一一对应
- 配置时区信息
- 配置字体,避免前台监控图形中文乱码
启动zabbix相关服务并设置开机自启动
- 浏览器上访问zabbix前端,进行初始化安装
4. Zabbix初始化
浏览器访问 IP/zabbix
第一步:
第三步:所填信息要和 /etc/zabbix/zabbix_server.conf 文件中一致
第五步:确认信息
默认用户名是Admin,密码是zabbix,登录后请及时修改密码
Zabbix5.0 部署完成,如果要管理客户机,需要在客户机上安装 zabbix-agent 工具
七、添加要监控的客户端
在需要被监控主机安装zabbix-agent服务并配置
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!