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


2.配置主机


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上添加刚才自定义的监控项


触发器

查看最新数据

这里很久都没有数据更新,我这里上重启了zabbix-proxy就有数据更新了
[root@zabbix-proxy ~]# systemctl restart zabbix-proxy
浙公网安备 33010602011771号