centos 7下如何安装zabbix server5.0+ zabbix proxy5.0 +zabbix agent5.0

192.168.1.102 zabbix server
192.168.1.103 zabbix proxy
192.168.1.104 zabbix agent
说明:
1.现实情况是192.168.1.102与192.168.1.104 网络不通的,这里通过192.168.1.103代理实现对192.168.1.102的监控
2.这里的zabbix都使用统一的版本,不通版本待验证

 

############################zabbix server 5.0###############################################

环境:
OS:Centos 7
zabbix:5.0.47

1.关闭防火墙
systemctl stop firewalld

 systemctl  disable firewalld

 

2.设置主机名

hostnamectl set-hostname zabbix-server

 

 

3.关闭安全选项
修改安全配置
vi /etc/selinux/config

修改SELINUX=disabled 修改配置文件永久关闭。
setenforce 0:临时关闭SELINUX。

 

4.删除当前的yum

[root@zabbix-server yum.repos.d]# cd /etc/yum.repos.d
[root@zabbix-server yum.repos.d]# mkdir bak
[root@zabbix-server yum.repos.d]# mv *.repo ./bak/

 

5.获取Zabbix 的下载源

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

更换成阿里云
sed -i 's/repo.zabbix.com/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo

 

6.安装zabbix前端环境
准备yum源

[root@zabbix-agent yum.repos.d]# cd /etc/yum.repos.d
[root@zabbix-agent yum.repos.d]# more CentOS-7-Aliyun.repo 
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

 

[root@zabbix-agent yum.repos.d]# more CentOS-SCLo.repo 
[centos-sclo-rh]
name=CentOS-$releasever - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[centos-sclo-sclo]
name=CentOS-$releasever - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

 

# 下载SCLo SIG密钥
curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-SCLo
# 导入rpm密钥库
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

 

我这里只有这几个yum

[root@zabbix-agent yum.repos.d]# ls
bak_20260731  CentOS-7-Aliyun.repo  CentOS-SCLo.repo  zabbix.repo

 

7.安装zabbix服务端
yum clean all && yum makecache
#下载zabbix连接的服务
yum install zabbix-server-mysql zabbix-agent -y

 

8.修改zabbix-front前端源参数,把enabled=0改为enabled=1
vi /etc/yum.repos.d/zabbix.repo

 

9.安装zabbix前端环境,且是安装到scl环境下
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

 

10.安装zabbix所需要的数据库,mariadb
[root@zabbix-agent yum.repos.d]# yum install mariadb-server -y
[root@zabbix-agent yum.repos.d]# systemctl enable --now mariadb
[root@zabbix-agent yum.repos.d]# systemctl status mariadb
[root@zabbix-agent yum.repos.d]# systemctl enable mariadb

 

11.初始化数据库,设置密码
密码设置为 zabbix
[root@zabbix-agent yum.repos.d]# /usr/bin/mysql_secure_installation

 

12.添加数据库用户,以及zabbix所需要的数据库信息

[root@zabbix-agent yum.repos.d]# mysql -uroot -pzabbix

create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'zabbix';
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;

 

13.使用zabbix-mysql命令,导入数据库信息
zcat /usr/share/doc/zabbix-server-mysql-5.0.47/create.sql.gz | mysql -uzabbix -pzabbix -D zabbix

 

14.修改zabbix server 配置文件,修改数据库的密码
vi /etc/zabbix/zabbix_server.conf

DBName=zabbix

### Option: DBSchema
#       Schema name. Used for PostgreSQL.
#
# Mandatory: no
# Default:
# DBSchema=

### Option: DBUser
#       Database user.
#
# Mandatory: no
# Default:
# DBUser=

DBUser=zabbix

### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=zabbix

 

15.为zabbix fronted配置php

[root@zabbix-agent zabbix-server-mysql-5.0.47]# more /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
[zabbix]
user = apache
group = apache

listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 200

php_value[session.save_handler] = files
php_value[session.save_path]    = /var/opt/rh/rh-php72/lib/php/session/

php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Shanghai ##修改这里

 

16.启动zabbix相关服务器
systemctl restart zabbix-server
systemctl restart zabbix-agent
systemctl restart httpd
systemctl restart rh-php72-php-fpm
systemctl restart mariadb

systemctl enable zabbix-server
systemctl enable zabbix-agent
systemctl enable httpd
systemctl enable rh-php72-php-fpm
systemctl enable mariadb

systemctl status zabbix-server
systemctl status zabbix-agent
systemctl status httpd
systemctl status rh-php72-php-fpm

httpd 80端口被占用的情况下需要进行修改
vi /etc/httpd/conf/httpd.conf

Listen 80

 

17.浏览器访问
http://192.168.1.108:80/zabbix

默认的账号密码是 Admin/zabbix

 

 

##################zabbix-proxy-mysql代理端部署##################

环境:
OS:Centos 7
zabbix-proxy-mysql:5.0.47

1.关闭防火墙
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

修改安全配置
vi /etc/selinux/config

修改SELINUX=disabled修改配置文件永久关闭。
setenforce 0 ##临时关闭SELINUX。

 

设置主机名

hostnamectl set-hostname zabbix-proxy


2.备份当前的yum源
[root@localhost yum.repos.d]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo ./bak/


3.获取Zabbix 的下载源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
更换成阿里云
sed -i 's/repo.zabbix.com/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo

 

4.安装其他yum源
准备yum源

[root@zabbix-agent yum.repos.d]# cd /etc/yum.repos.d
[root@zabbix-agent yum.repos.d]# more CentOS-7-Aliyun.repo 
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

 

[root@zabbix-agent yum.repos.d]# more CentOS-SCLo.repo 
[centos-sclo-rh]
name=CentOS-$releasever - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[centos-sclo-sclo]
name=CentOS-$releasever - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

 

# 下载SCLo SIG密钥
curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-SCLo
# 导入rpm密钥库
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

 

我这里只有这几个yum

[root@zabbix-agent yum.repos.d]# ls
bak  CentOS-7-Aliyun.repo  CentOS-SCLo.repo  zabbix.repo

 

5.安装数据库
安装zabbix所需要的数据库,mariadb
[root@zabbix-agent yum.repos.d]# yum install mariadb-server -y
[root@zabbix-agent yum.repos.d]# systemctl enable --now mariadb
[root@zabbix-agent yum.repos.d]# systemctl status mariadb
[root@zabbix-agent yum.repos.d]# systemctl enable mariadb

初始化数据库,设置密码
密码设置为 zabbix
[root@zabbix-agent yum.repos.d]# /usr/bin/mysql_secure_installation

 

6.创建数据库和用户

[root@zabbix-agent yum.repos.d]# mysql -uroot -pzabbix

create database zabbix_proxy character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'zabbix';
grant all privileges on zabbix_proxy.* to zabbix@localhost;
flush privileges;

 

7.查看zabbix-proxy版本
yum list zabbix-proxy-mysql --showduplicates
我们这里安装的版本:zabbix-proxy-mysql-5.0.47-1.el7

 

8.安装
yum install zabbix-proxy-mysql-5.0.47-1.el7

 

9.导入初始化数据
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.47/schema.sql.gz | mysql -uzabbix -pzabbix -D zabbix_proxy

 

10.修改配置文件

vi /etc/zabbix/zabbix_proxy.conf

 

Server=192.168.1.102  ##这里填写zabbix server服务器的ip 地址
Hostname=zabbix-proxy ##这里是主机名,需要使用hostnamectl set-hostname zabbix-proxy 进行设置
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
# ProxyMode=0 ##默认是主动模式 不需要修改

 

11.启动
systemctl restart zabbix-proxy

 

 

####################zabbix agent端######################

环境:
Os:Centos 7
zabbix agent:5.0.47 与服务器保持一致

1.配置阿里云镜像
具体配置查看如下连接
https://www.cnblogs.com/hxlasky/p/18367611

 

2.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

 

设置主机名

hostnamectl set-hostname zabbix-agent

 

3.关闭安全选项
修改安全配置
vi /etc/selinux/config

修改SELINUX=disabled 修改配置文件永久关闭。
setenforce 0:临时关闭SELINUX。

 

4.获取安装介质
cd /soft
yum install wget
wget https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.47-1.el7.x86_64.rpm

 

5.安装
rpm -ivh zabbix-agent-5.0.47-1.el7.x86_64.rpm

 

6.启动
systemctl start zabbix-agent
systemctl status zabbix-agent

systemctl enable zabbix-agent 

 

7.修改配置文件
vi /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=1
DebugLevel=3
SourceIP=192.168.1.104 ##这里本机ip
LogRemoteCommands=1
Server=192.168.1.103 ##这里是zabbix proxy的ip
ListenPort=10050
ListenIP=192.168.1.104 ##这里本机ip
StartAgents=3
ServerActive=192.168.1.103 ##这里是zabbix proxy的ip
Hostname=zabbix-agent  ##这里填写本机hostname
##HostnameItem=system.hostname ##这项注释掉
RefreshActiveChecks=60
BufferSend=20
BufferSize=100
MaxLinesPerSecond=20
Timeout=3
AllowRoot=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
AllowKey=system.run[*] ##开启自定义脚本监控

 

不想一个一个参数修改可以使用下面的办法:备份原来的配置文件 新增一个参数文件

cd /etc/zabbix/

mv zabbix_agentd.conf bak_zabbix_agentd.conf
vi zabbix_agentd.conf

[root@zabbix-agent zabbix]# more zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=1
DebugLevel=3
SourceIP=192.168.1.104
LogRemoteCommands=1
Server=192.168.1.103
ListenPort=10050
ListenIP=192.168.1.104
StartAgents=3
ServerActive=192.168.1.103
Hostname=zabbix-agent
RefreshActiveChecks=60
BufferSend=20
BufferSize=100
MaxLinesPerSecond=20
Timeout=3
AllowRoot=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
AllowKey=system.run[*]

 

 

 

 

8.重启
systemctl restart zabbix-agent

 

#######################################zabbix server端配置##############################

1.添加zabbix agent

image

 

image

 

 

 

2.配置主机

image

 

 

image

 

 

 

 

3.自定义监控项测试

 

 mkdir -p /etc/zabbix/scripts ##自定义脚本目录

 

3.1 在zabbix agent添加脚本

[root@zabbix-agent scripts]# more /etc/zabbix/scripts/es_check_available.sh 
#!/bin/bash
available_flag=1

if [ $available_flag -eq 1 ] ; then
   echo "ok"
else
   echo "failed"
fi

 

配置项

[root@zabbix-agent zabbix_agentd.d]# more /etc/zabbix/zabbix_agentd.d/es.conf 
UserParameter=check_es_available,sh /etc/zabbix/scripts/es_check_available.sh

 

重启zabbix agent服务

systemctl restart zabbix-agent

 

3.2 在zabbix server上添加刚才自定义的监控项

image

 

image

 

 

 

触发器

image

 

 

查看最新数据

image

 这里很久都没有数据更新,我这里上重启了zabbix-proxy就有数据更新了

[root@zabbix-proxy ~]# systemctl restart zabbix-proxy

 

 

 

 

 

 

 

posted @ 2026-08-03 14:59  slnngk  阅读(4)  评论(0)    收藏  举报