一、zabbix 系统
1.1 zabbix 简介
- Zabbix是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持
- Zabbix是一个企业级的分布式开源监控方案
- Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件
- Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案
- Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbx可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此
- Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用
- 商业支持由Zabbix公司提供
- 世界各地许多不同规模的组织将Zabbix作为主要的监控平台
1.2 zabbix 特性
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。是一个高度集成的网络监控套件,通过一个软件包即可提供如下特性
数据收集
- 可用性及性能检测
- 支持SNMP(trapping及polling)、IPMI、JMX监控
- 自定义检测
- 自定义间隔收集收据
- server/proxy/agents吸能
灵活的阀值定义
- 允许灵活地自定义问题阀值,Zabbix中称为触发器(trigger), 存储在后端数据库中
高级告警配置
- 可以自定义告警升级(escalation)、接收者及告警方式
- 告警信息可以配置并允许使用宏(macro)变量
- 通过远程命令实行自动化动作(action)
实时绘图
- 通过内置的绘图方法实现监控数据实时绘图
扩展的图形化显示
- 允许自定义创建多监控项视图
- 网络拓扑(network maps)
- 自定义的面板(screen)和slide shows,并允许在dashboard页面显示
- 报告
- 高等级(商业)监控资源
历史数据存储
- 数据存储在数据库中
- 历史数据可配置
- 内置数据清理机制
配置简单
- 主机通过添加监控设备方式添加
- 一次配置,终生监控(译者注:除非调整或删除)
- 监控设备允许使用模板
模板使用
- 模板中可以添加组监控
- 模板允许继承
网络自动发现
- 自动发现网络设备
- agent自动注册
- 自动发现文件系统、网卡设备、SNMP OID等
快速的web接口
- web前端采用php编写
- 访问无障碍
- 你想怎么做就能做么做
- 审计日志
Zabbix API
- Zabbix API提供程序级别的访问接口,第三方程序可以很快接入
权限系统
- 安全的权限认证
- 用户可以限制允许维护的列表
全特性、agent易扩展
- 在监控目标上部署
- 支持Linux及Windows
二进制守护进程
- C开发,高性能,低内存消耗
- 易移植
具备应对复杂环境情况
- 通过Zabbix proxy可以非常容易的创建远程监控
1.3 zabbix 重要组件
① zabbix server
- 负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行
② database storage
- 专用于存储所有配置信息,以及由zabbix收集的数据
③ web interface
- zabbix的GUI接口
④ proxy
- 可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力
⑤ agent
- 部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端
1.4 监控系统运行流程
- agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端
- zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图
这里agentd收集数据分为主动和被动两种模式
- 主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
- 被动:server向agent请求获取监控项的数据,agent返回数据
二、部署 zabbix 监控
2.1 部署环境
Zabbix服务器(zabbix-server):192.168.40.11/24(监控端)
Linux服务器(zabbix-client):192.168.40.12/24(被监控端)
2.2 服务器监控端配置
2.2.1 关闭防火墙、核心防护
[root@zabbix-server ~]# systemctl stop firewalld
[root@zabbix-server ~]# setenforce 0
2.2.2 部署LAMP架构
Zabbix安装需要在LAMP平台上安装,因此第一步是部署LAMP架构
(1)安装依赖包
[root@zabbix-server ~]# yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
(2)修改apache和php配置文件
[root@zabbix-server ~]# vim /etc/httpd/conf/httpd.conf
ServerName www.example.com:80 # 95 开启域名,域名可更改或不更改
DirectoryIndex index.php index.html # 164 添加 index.php