Zabbix 是企业级监控系统的开源解决方案,是一个基于 WEB 界面的分布式监控服务器。
1.主要特点:
Zabbix 安装与配置简单,学习成本低,支持多语言(包括中文),免费开源,自动发现服务器与网络设备,分布式监视,良好的 WEB 界面交互等通知功能
Zabbix 主要监控服务器:CPU 负载、内存使用、磁盘使用、网络状态、端口监视、日志监视。
2.Zabbix 运行机制
Zabbix Server 可以通过 SNMP,Zabbix agent,Ping,端口监视等方法监控服务器状态。可以在 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多平台运行。
Zabbix Agent 安装在被监控的服务器上,主要完成对内存,CPU,磁盘等信息收集。
Zabbix 运行过程图
Zabbix 运行过程图
(1)Agent 从服务器中收集相关数据,传送给 Zabbix Server
(2)Server 把数据存储到数据库中
(3)Server 把数据分析之后以 Web 页面,展示出来
zabbix-server 监听端口:10051 ; Agent 监控端口 10050
服务端安装 Zabbix Server 和 Zabbix Agent 两个服务,客户端只安装 Zabbix Agent 一个服务。
3.安装部署zabbix
1.获取zabbix官方源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 替换阿里源,这一步很重要
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#更新yum源
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#清除缓存
yum clean all
2.安装zabbix server和agent
yum install zabbix-server-mysql zabbix-agent -y
3.安装 Software Collections,便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4 过低。
SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。
yum install centos-release-scl -y
4.修改zabbix前端源
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1 # 修改这里
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
vim /etc/yum.repos.d/CentOS-SCLo-scl.repo
[centos-sclo-sclo]
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/ # 修改这里
vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
[centos-sclo-rh]
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/ # 修改这里
5.安装zabbix前端环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
6.安装zabbix所需的数据库,直接用centos7自带的mariadb
yum install mariadb-server -y
7.启动数据库,且配置开机启动
[root@zabbix-server01 opt]# systemctl enable --now mariadb
8.初始化mariadb,设置root密码,123456
[root@zabbix-server01 opt]# mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n] y
New password: 123456
Re-enter new password: 123456
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
9.使用root用户登录mariadb,建立zabbix数据库,这里的编码设置,非常重要,否则zabbix无法安装
[root@zabbix-server01 ~]# mysql -uroot -p123456
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by '123456';
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
quit;
10.使用以下命令导入 zabbix 数据库,zabbix 数据库用户为 zabbix,密码为123456
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
扩展:zcat 命令 用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。
11.修改 zabbix server 配置文件/etc/zabbix/zabbix_server.conf 里的数据库密码
[root@zabbix-server01 data]# grep '^DBPassword' /etc/zabbix/zabbix_server.conf
DBPassword=123456
12.修改 zabbix 的 php 配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 里的时区
[root@zabbix-server01 data]# grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
13.启动相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
14.访问zabbix入口
http://192.168.255.120/zabbix/setup.php
如果不 ok,可以编辑 php.ini 文件,修改环境
vim /etc/opt/rh/rh-php72/php.ini
改:672 post_max_size = 8M
为:672 post_max_size = 16M
改:380 max_execution_time = 30
为:380 max_execution_time = 300
改:393 max_input_time = 60
为:393 max_input_time = 300
改:902 ;date.timezone =
为:902 date.timezone = Asia/Shanghai
然后重启php
systemctl restart rh-php72-php-fpm
#输入用于连接数据库的详细信息。Zabbix 数据库必须已经创建(前面安装mariadb时已经创建)。
点击 Finish,完成安装!
点击左下角用户,然后选择语言
然后 Update 即可,页面变为中文