一、简介
Zabbix是一种用于监控网络和应用程序的开源网络管理工具。它提供了实时监控、警报和数据收集的功能,以确保系统的高可用性、性能和效率。 以下是Zabbix的一些主要特点和功能:
- 实时监控: Zabbix能够实时监控网络设备、服务器和应用程序的性能。通过定期收集数据并生成图形,用户可以快速了解系统的状态。
- 数据收集: Zabbix支持多种数据收集方式,包括SNMP(Simple Network Management Protocol)、JMX(Java Management Extensions)、IPMI(Intelligent Platform Management Interface)等。这使得它能够监控各种设备和应用程序。
- 警报和通知: Zabbix能够设置警报规则,一旦系统达到或超过设定的阈值,就会触发警报。用户可以通过电子邮件、短信或其他方式接收通知。
- 灵活的配置: Zabbix提供了灵活的配置选项,用户可以根据特定需求自定义监控项目、触发条件和通知方式。
- 历史数据存储: Zabbix可以存储历史数据,用户可以回顾过去的性能趋势并进行分析,以便更好地规划资源和预测问题。
- Web界面: Zabbix的Web界面使用户能够方便地配置和管理监控系统。用户可以通过Web界面查看实时数据、图形和报告。
- 分布式监控: Zabbix支持分布式监控,可以通过多个Zabbix服务器协同工作,以满足大规模和复杂网络环境的监控需求。
- 自动发现: Zabbix可以自动发现网络中的设备和应用程序,简化了系统添加和配置的过程。
二、环境准备
操作系统:centos8
CPU:4
内存:4
mysql、nginx
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
sed -i 's/^SELINUX=.*/SELINUX=disabled'
setenforce 0
三、安装部署(6.x为例)
3.1 安装存储库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
dnf clean all
3.2 安装服务端、前端、客户端
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
3.3 创建数据库并导入数据库数据
# mysql -uroot -p
password
create database zabbix character set utf8 collate utf8_bin;
create user 'zabbix'@'%' identified by 'zabbix@123';
grant all privileges on zabbix.* to 'zabbix'@'%';
set global log_bin_trust_function_creators = 1;
quit;
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
mysql -uroot -p
set global log_bin_trust_function_creators = 0;
grant all on *.* to 'zabbix'@'%';
alter USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'P@ssW0rd';
\q
3.4 修改zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
...
DBHost=xxxxxx #数据库
DBPort=xxxx #数据库端口
DBName=zabbix #数据库名称
DBUser=zabbix #管理数据库的用户
DBPassword=xxxxxx #用户密码
....
按ESC后:wq保存退出
3.5 修改nginx文件
vim /etc/nginx/conf.d/zabbix.conf
...
listen 8080;
server_name example.com; #取消注释并修改
...
按ESC后:wq保存退出
3.6启动服务
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm
四、测试
访问 http://IP/zabbix
五、问题汇总
5.1 /usr/sbin/zabbix_server: undefined symbol: usmAES192PrivProtocol 解决方法:
dnf -y update net-snmp-*