Zabbix是一个企业级的高度集成的开源监控软件,提供了分布式监控解决方案,可以用来监控设备、服务等的可用性和性能。
zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据
server端:通过收集SNMP和agent发送的数据,写入数据库,在通过PHP+Apache在web前端展示
部署zabbix有三种方法,一是使用RPM包安装,二是使用源码安装,三是使用容器部署,这里分享的是RPM包安装
对于zabbix安装环境来说很重要的一点是配置时间同步,zabbix-server对时间的精准要求比较高,时间对数据的计算等都有影响,因此必须设置NTP自动同步时间
[root@zabbix01 ~]# yum install chrony -y
修改chrony的配置文件:vim /etc/chrony.conf
*iburst为固定格式,配置向上游时间服务器同步
[root@zabbix02 ~]# systemctl enable chronyd.service
[root@zabbix02 ~]# systemctl start chronyd.service
[root@zabbix02 ~]# chronyc sources //检查时间同步
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? a.chl.la 2 7 2 69 -115ms[ -115ms] +/- 130ms
1、配置安装yum源
[root@zabbix01 ~]# sed -i.bak \
> -e 's|^mirrorlist=|#mirrorlist=|' \
> -e 's|^#baseurl=|baseurl=|' \
> -e 's|dl.rockyliunx.org/$cintentdir|mirrors.nju.edu.cn/rocky|' \
> /etc/yum.repos.d/Rocky-*.repo
[root@zabbix01 ~]# dnf install -y https://repo.huaweicloud.com/zabbix/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm //这里使用国内镜像源——华为源
[root@zabbix01 ~]# sed -i 's#https://repo.zabbix.com#https://repo.huaweicloud.com/zabbix#' /etc/yum.repos.d/zabbix.repo //更改使用国内镜像源
2、安装zabbix server
[root@zabbix01 ~]# dnf install -y zabbix-server-mysql
3、安装zabbix agent
[root@zabbix01 ~]# dnf install -y zabbix-agent2
4、安装zabbix web
[root@zabbix01 ~]# dnf install -y zabbix-web-mysql httpd zabbix-apache-conf
5、安装数据库
[root@zabbix01 ~]# dnf install -y mariadb-server
6、配置数据库
#启动数据库
[root@zabbix01 ~]# systemctl enable mariadb --now
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
#配置数据库
[root@zabbix01 ~]# mysql -e "create database zabbix character set utf8 collate utf8_bin;"
[root@zabbix01 ~]# mysql -e "create user 'zabbix'@'localhost' identified by 'zabbix';"
[root@zabbix01 ~]# mysql -e "grant all privileges on zabbix.* to 'zabbix'@'localhost';"
#导入数据
[root@zabbix01 ~]# dnf install zabbix-sql-scripts.noarch //缺少这个配置的话无法导入数据
[root@zabbix01 ~]# zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -pzabbix zabbix
[root@zabbix01 ~]# mysql -uzabbix -pzabbix zabbix -e "show tables;"
7、为zabbix server配置数据库
[root@zabbix01 ~]# grep ^DB /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
8、配置php时区
[root@zabbix01 ~]# vim /etc/php-fpm.d/zabbix.conf
[root@zabbix01 ~]# tail -1 /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
9、启动服务,web界面安装
[root@zabbix01 ~]# systemctl enable --now httpd.service php-fpm.service zabbix-server.service zabbix-agent2.service
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /usr/lib/systemd/system/zabbix-server.service.
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service → /usr/lib/systemd/system/zabbix-agent2.service.
10、关闭防火墙和禁用selinux
# 关闭防火墙
[root@zabbix01 ~]# systemctl stop firewalld
[root@zabbix01 ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
# 禁用selinux
[root@zabbix01 ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
[root@zabbix01 ~]# setenforce 0
进入web界面 http://ip//zabbix
①欢迎界面
②检查环境
③配置数据库
④安装完成
⑤进入系统
Admin/zabbix
⑥切换中文版本
至此,部署完成啦~