部署zabbix5.4.5

该文详细介绍了如何在Linux环境中部署Zabbix5.4,包括安装PHP7.2、Golang、MySQL(或MariaDB),以及配置和初始化ZabbixServer和Agent,最后设置了ZabbixWeb界面并配置了被监控主机的zabbix-agent。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作

安装PHP

Zabbix 5.4 版本要求 PHP 版本在 7.2 以上。

卸载旧版本的PHPyum remove php-*

安装7.2版本PHP

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

或者yum -y install https://mirror.webtatic.com/yum/el7/epel-release.rpm && yum -y install https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum install -y php72w php72w-opcache php72w-xml php72w-gd php72w-devel php72w-mysqlnd php72w-intl php72w-mbstring php72w-pear php72w-pdo php72w-fpm php72w-bcmath

安装golang

Zabbix 前端服务依赖 Golang。

rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO

curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo

yum install golang

go env -w GOPROXY=Goproxy.cn

安装依赖

yum install -y gcc mysql-devel net-snmp-devel pcre*\

curl-devel libxml2 libxml2-devel \

automake libssh2-devel libevent-devel httpd libcurl-devel.x86_64 \

kernel-devel openssl-devel popt-devel

部署MySQL

确保您已启动并运行数据库服务器。这里我使用的是Mysql5.7版本

[root@zabbix-server ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
[root@zabbix-server ~]# rpm -ivh mysql80-community-release-el7-3.noarch.rpm

打开/etc/yum.repos.d/mysql-community.repo

打开5.7源地址,关闭8.0源地址,确保下载的数据库是mysql5.7;这里换mariadb也可以

[root@zabbix-server ~]# yum -y install mysql-community-server

如果下载过程报下面错误:

然后重新下载即可

因为mysql5.7启动,root用户会生成随机密码,可以进行修改

[root@zabbix-server ~]# systemctl start mysqld
[root@zabbix-server ~]# grep 'password' /var/log/mysqld.log

[root@zabbix-server ~]# mysqladmin -uroot -p'U84zCRrlt0=c' password '1234.Asd!'

在您的数据库主机上运行以下命令。

[root@zabbix-server ~]# mysql -uroot -p'1234.Asd!'
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all on zabbix.* to zabbix@localhost identified by 'Zabbix@2023';
mysql> flush privileges;
mysql> quit;

源码编译部署zabbix

下载并解压源码包

wget https://cdn.zabbix.com/zabbix/sources/oldstable/5.4/zabbix-5.4.5.tar.gz

tar -xzvf zabbix-5.4.4.tar.gz

cd zabbix-5.4.4

编译安装

./configure --prefix=/usr/local/zabbix \
--enable-server \
--enable-agent \
--with-mysql \
--with-libcurl \
--with-net-snmp \
--with-libxml2 \
--with-ssh2 \
--enable-webservice

编译make

安装make install

部署 Zabbix Server

创建用户和相关目录

useradd zabbix

mkdir /usr/local/zabbix/logs

mkdir /usr/local/zabbix/trap

chown -R zabbix.zabbix /usr/local/zabbix/

Zabbix Server 配置文件

编辑 /usr/local/zabbix/etc/zabbix_server.conf 文件:

#Zabbix Server 地址
SourceIP=11.8.38.70

#日志文件目录
LogFile=/usr/local/zabbix/logs/zabbix_server.log
#Pid 文件目录
PidFile=/usr/local/zabbix/zabbix_server.pid
#Socket 文件目录
SocketDir=/usr/local/zabbix

#数据库连接信息
DBHost=127.0.0.1
#本机ip,若是其他地址的数据库直接填写数据库IP即可
DBPort=3306
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@2023

Timeout=4
LogSlowQueries=3000

#允许所有地址访问
StatsAllowedIP=0.0.0.0

#配置缓存
CacheSize=8M

#snmp trap 目录
SNMPTrapperFile=/usr/local/zabbix/trap/zabbix_traps
#开启 snmp trap
StartSNMPTrapper=1

#拉取 snmp 信息的线程数
StartProxyPollers=1
————————————————
初始化数据库

SQL 文件在源码解压后的目录 zabbix-5.4.4/database/ 中,执行以下命令初始化数据库。初始化数据库只需要做一次,Zabbix Server 备机和主机共用一个 MySQL 数据库。

mysql -h指定IP -P指定端口 -uzabbix -pZabbix@2023 zabbix < schema.sql
mysql -h指定IP -P指定端口 -uzabbix -pZabbix@2023 zabbix  < images.sql
mysql -h指定IP -P指定端口 -uzabbix -pZabbix@2023 zabbix  < data.sql
进去到数据库,确认zabbix库中有数据生成;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| zabbix             |
+--------------------+
mysql> use zabbix

配置 Zabbix Server 系统服务

编辑 /usr/lib/systemd/system/zabbix-server.service 新文件:

[Unit]
Description=Zabbix Server
After=network.target

[Service]
User=zabbix
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
Type=forking
Restart=on-failure
PIDFile=/usr/local/zabbix/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target

启动 Zabbix Server,并设置开机自动启动。

systemctl enable zabbix-server.service

systemctl start zabbix-server.service

查看zabbix状态:systemctl status zabbix-server

部署 Zabbix Web

拷贝前端文件

Zabbix 前端是 PHP 编写的,所以必须运行在支持 PHP 的 Web 服务器上,使用 Apache HTTP 作为 Web 服务器。

建议使用子目录替代 HTML 根目录。可以使用下列命令,以创建一个子目录并复制 Zabbix 的前端文件到这个目录下。

mkdir -p /var/www/html/zabbix

cp -a zabbix-5.4.5/ui/* /var/www/html/zabbix/

配置 PHP 文件

编辑 /var/www/html/zabbix/conf/zabbix.conf.php 新文件:

<?php
//MySQL 连接信息
$DB['TYPE']                             = 'MYSQL';
$DB['SERVER']                   = '127.0.0.1或数据库地址';
$DB['PORT']                             = '数据库端口';
$DB['DATABASE']                 = 'zabbix';
$DB['USER']                             = 'zabbix';
$DB['PASSWORD']                 = 'Zabbix@2023';

// Schema name. Used for PostgreSQL.
$DB['SCHEMA']                   = '';

// Used for TLS connection.
$DB['ENCRYPTION']               = false;
$DB['KEY_FILE']                 = '';
$DB['CERT_FILE']                = '';
$DB['CA_FILE']                  = '';
$DB['VERIFY_HOST']              = false;
$DB['CIPHER_LIST']              = '';

// Vault configuration. Used if database credentials are stored in Vault secrets manager.
$DB['VAULT_URL']                = '';
$DB['VAULT_DB_PATH']    = '';
$DB['VAULT_TOKEN']              = '';

// Use IEEE754 compatible value range for 64-bit Numeric (float) history values.
// This option is enabled by default for new Zabbix installations.
// For upgraded installations, please read database upgrade notes before enabling this option.
$DB['DOUBLE_IEEE754']   = true;

#Zabbix Server 信息
$ZBX_SERVER                             = 'localhost';
$ZBX_SERVER_PORT                = '10051';
$ZBX_SERVER_NAME                = 'ACP-ZABBIX-SERVER-1';

$IMAGE_FORMAT_DEFAULT   = IMAGE_FORMAT_PNG;
启动 Apache HTTP 服务,设置开机自动启动

systemctl start httpd

systemctl enable httpd

查看 HTTP 服务状态,running 表示正常运行:systemctl status httpd

至此zabbix5.4.5部署完毕

浏览器输入 http://zabbix的IP地址/zabbix

访问 Zabbix Web 界面。

默认用户名 Admin

密码 zabbix

zabbix源码包地址Zabbix Cloud Images and Appliances

配置被监控zabbix-agent

当我们把监控端配置启动以后,我们需要来设置一下我们的被监控端,我们在被监控的主机安装好zabbix-agent,设置好他的所属的监控端server,并把他添加到server端,就能将其纳入我们的监控系统中去了。

安装 zabbix 源

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

建议使用yum -y install https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm

yum install zabbix-agent zabbix-sender -y

修改配置文件

对配置文件做一个备份,然后去修改配置文件:

进入cd /etc/zabbix/

备份agent配置文件cp zabbix_agentd.conf zabbix_agentd.bak

查看确认是否备份成功ls

zabbix_agentd.bak zabbix_agentd.conf zabbix_agentd.d

修改配置文件vim zabbix_agentd.conf ----修改如下

Server=192.168.153.147 zabbix监控端的地址 
ServerActive=192.168.153.147 主动模式 zabbix-server-ip
Hostname=zabbix-agent-none1 
UnsafeUserParameters=1 是否限制用户自定义 keys 使用特殊字符 1是可以启用特殊字符 0是不可以启用特殊字符
EnableRemoteCommands=1 是否允许别人执行远程操作命令,默认是禁用的,打开的话会有安全风险.

修改完成之后,我们保存退出。然后就可以启动服务了:
systemctl start zabbix-agent

systemctl enable zabbix-agent

查看zabbix-agent状态systemctl status zabbix-agent

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值