前言
Zabbix是一个企业级的开源监控软件,可以监控各种网络设备、服务器、应用程序和服务。它提供了实时监控、可视化分析和自动告警等功能,帮助管理员及时发现和解决故障,并对系统性能进行优化和规划。
Zabbix几大特性
实时监控:Zabbix能够对各种设备进行实时监控,包括服务器、路由器、交换机、负载均衡器、数据库、Web应用程序等等。它通过轮询或主动接收数据等方式来获取监控数据,并将其保存在Zabbix数据库中。
数据可视化:Zabbix提供了丰富的图表和报表功能,可以对监控数据进行可视化呈现。管理员可以通过图表和报表直观地了解系统的状态和趋势,以便及时做出调整和优化。
自动告警:Zabbix可以根据预先定义的阈值和条件进行自动告警。当系统出现故障或异常情况时,Zabbix会发送通知给管理员或相关人员,以便及时处理。
网络拓扑:Zabbix能够自动生成网络拓扑图,帮助管理员更好地了解系统的结构和关系。管理员可以通过拓扑图快速定位故障和优化网络性能。
多平台支持:Zabbix可以运行在多种操作系统上,包括Linux、Unix、Windows等。同时,它也支持多种数据库,包括MySQL、PostgreSQL、Oracle等
Zabbix的构成
zabbix主要由以下5个组件构成:
- Server
zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。 - web页面
web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理。 - 数据库
zabbix数据库内存储了配置信息、统计信息等zabbix的相关内容。 - proxy
zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。 - Agent
zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。
安装部署
以下操作均参考于Zabbix官方文档。并结合自己的环境做了些修改
服务端部署
本人服务端环境(基于宝塔面板):
- Ubuntu 20.04 LTS
- Nginx 1.22
- PostgreSQL 14
- Php 7.4
1. 安装Zabbix仓库
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb
dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
apt update
2. 安装Zabbix服务端,WebUI应用
apt install zabbix-server-pgsql zabbix-frontend-php zabbix-sql-scripts
3. 初始化数据库
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
4. 修改配置并重启服务端
- 修改配置文件
/etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1 DBName=zabbix DBUser=zabbix DBPassword=my_password
- 启动zabbix-server并加入开机启动项
systemctl restart zabbix-server systemctl enable zabbix-server
5. 启动前端Web应用(PHP)
- 添加PHP站点
- 复制PHP文件
cp -rf /usr/share/zabbix/* /www/wwwroot/zabbix.jsben.cn
需要修改一下某些PHP配置,否则接下来的安装会出错
修改max_input_time
安装把必要扩展pgsql
和ldap
删除禁用函数putenv
修改/www/wwwroot/zabbix.jsben.cn/.user.ini
添加允许访问的文件夹/etc/zabbix
open_basedir=/www/wwwroot/zabbix.jsben.cn/:/tmp/:/etc/zabbix
最后重启下PHP
- 访问
http://zabbix.jsben.cn/
根据提示初始化
- 完成后就可以登录了,初始用户名是Admin,密码是zabbix。安全考虑,请第一时间修改密码。
客户端安装
只给出一个作为参考
客户端环境:
- Ubuntu 20.04 LTS
1. 安装Zabbix仓库
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb apt update
2. 安装Zabbix客户端
apt install zabbix-agent2 zabbix-agent2-plugin-*
3. 修改配置并重启客户端
- 修改配置文件
/etc/zabbix/zabbix_agent2.conf
Hostname=DJH-2 ServerActive=39.106.79.231
注意需要服务端打开端口
10051
- 启动zabbix-server并加入开机启动项
systemctl restart zabbix-agent2 systemctl enable zabbix-agent2
- 如需中文,需要安装中文语言包
apt install language-pack-zh-hans
主机配置
简单监控下客户端主机吧