注:CentOS7 源码安装Zabbix7时由于OpenSSL兼容性问题无法安装,本人已尝试过多个OpenSSL版本去编译Zabbix7,但始终不成功,要用OpenSSL是因为要用到共享密钥。
下载地址:https://www.zabbix.com/download
开源地址:https://github.com/zabbix/zabbix
官方文档:https://www.zabbix.com/documentation/current/en
Go 下载地址:https://go.dev/dl/
Zabbix使用手册(推荐):https://www.bookstack.cn/read/zabbix-6.0-zh/f6322a7bda5cdadc.md
一、查看CentOS7系统版本
[root@localhost /root]# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost /root]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
二、准备工作
- 操作系统:
CentOS 7.9
- MySQL:
>= 8.0.30
- GCC:
>= 11
- GO:
>= 1.21
- PHP:
>= 7.4.0
- Web服务:
Nginx
或者Apache
三、安装依赖
1.安装OpenSSL
使用系统自带的
OpenSSL 1.0.2k-fips
版本即可。
2.安装JDK
这里安装的版本为 1.8.0_421
,可参考我博客中相关文档。
3.安装MySQL
这里安装的版本为 8.0.34
,,可参考我博客中相关文档。
3.1 修改my.cnf配置文件
Zabbix仅支持 utf8_bin、utf8mb3_bin、utf8mb4_bin排序规则。
修改MySQL的主配置文件my.cnf
:
# my.cnf配置
vim /etc/my.cnf
# 修改或添加部分信息
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_bin
3.2 重启MySQL服务
修改完配置文件后,需重启服务后生效:
systemctl restart mysqld
3.3 配置动态链接库路径
配置和更新系统的 MySQL 库路径,以确保系统可以正确找到并使用特定版本的 MySQL 库:
echo "/data/mysql/mysql/lib" | sudo tee -a /etc/ld.so.conf.d/mysql.conf
ldconfig
4.安装GCC
4.1 添加仓库源
在安装 devtoolset-11
之前,需要先启用 CentOS Software Collections (SCL) 仓库。
编辑仓库配置文件CentOS-SCLo-scl.repo
,添加以下内容:
cat > /etc/yum.repos.d/CentOS-SCLo-scl.repo <<'EOF'
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
EOF
4.2 使用yum安装
执行yum
命令安装Devtoolset-11版本:
yum install -y devtoolset-11-gcc*
4.3 设置环境变量
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-11/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-11/root/bin/g++ /usr/bin/g++
4.6 验证GCC版本
gcc --version
# 显示版本
gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
g++ --version
# 显示版本
g++ (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
5.安装Go
zabbix安装使用
--enable-agent2
,需要GO环境,如果不使用可以不配置GO环境。这里安装的版本为
1.22.5
。
5.1 下载并解压go源代码
下载go源码包并解压到指定路径/usr/local
下:
cd /usr/local/src
wget https://dl.google.com/go/go1.22.5.linux-amd64.tar.gz
tar -xzf go1.22.5.linux-amd64.tar.gz -C /usr/local
5.2 配置环境变量
配置/etc/profile
环境变量文件,添加 Go 语言的环境变量:
cat >> /etc/profile <<'EOF'
# go
export PATH=$PATH:/usr/local/go/bin
EOF
执行环境变量生效:
source /etc/profile
5.3 验证go版本
安装成功并配置好环境变量后,直接通过执行go
命令检查 Go 版本来验证:
go version
# 显示版本
go version go1.22.5 linux/amd64
5.4 查看go环境变量
查看所有 Go 环境变量,可以执行以下命令:
go env
6.安装Zabbix依赖包
除了前面这些,还需要安装一些Zabbix的构建工具和依赖项:
yum install -y openssl-devel libevent-devel libcurl-devel libxml2-devel net-snmp-devel unixODBC-devel libssh-devel OpenIPMI-devel openldap-devel fping
四、安装并配置Zabbix Server
这里源码安装的版本为
6.4.19
。
1.下载并解压Zabbix源代码
下载 Zabbix 源码包并解压:
cd /usr/local/src
wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.19.tar.gz
tar -xzf zabbix-6.4.19.tar.gz
cd zabbix-6.4.19
2.编译并安装Zabbix
在编译Zabbix时,指定安装路径,这里安装到 /data/zabbix
:
./configure --prefix=/data/zabbix \
--enable-server \
--enable-agent \
--enable-agent2 \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--with-unixodbc \
--enable-java \
--enable-ipv6 \
--with-openssl \
--with-openipmi \
--with-libpcre \
--with-libevent \
--with-iconv
开始编译并安装 Zabbix 源码:
make -j $(nproc)
make install
3.验证Zabbix Server版本
安装成功后,可以通过检查 Zabbix Server 版本来验证:
/data/zabbix/sbin/zabbix_server --version
# 显示版本
zabbix_server (Zabbix) 6.4.19
Revision 6cb22301f83 23 September 2024, compilation time: Nov 8 2024 21:22:18
Copyright (C) 2024 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).
Compiled with OpenSSL 1.0.2k-fips 26 Jan 2017
Running with OpenSSL 1.0.2k-fips 26 Jan 2017
4.创建日志和告警目录
安装完成后,所有数据存放在/data/zabbix
目录下,在该目录下新建logs
和alertscripts
目录,用来存放 Zabbix 的日志文件和自定义的告警脚本:
mkdir -p /data/zabbix/{
logs,alertscripts}
5.添加用户并修改目录权限
创建一个名为 zabbix
的用户,不创建用户的主目录,并将其登录 shell 设置为 /sbin/nologin
,即无法登录系统,主要用于运行 zabbix 服务:
useradd zabbix -s /sbin/nologin -M