该阶段常用命令
| 项目 | 对应检查命令 |
| 网站/业务/api | curl / wget |
| 服务 | systemctl / service / chkconfig |
| 进程 | ps / pstree / pgrep / pidstat / top / htop |
| CPU | top / htop / vmstat / mpstat / lscpu / cpuinfo / w / uptime / sar |
| 内存 | top / free / ps / iotop(swap) / vmstat / mpstat / sar / hcache |
| 磁盘 | iotop / iostat / sar / dd / fio |
| 网络 | iftop / nethogs / nstat / ifstat / mtr / sar / ip / route |
| 硬件 | Megacli(监控raid)/ ipmitool(温度、cpu风扇转速)/ lm_sensors(温度) |
Zabbix监控架构
生命周期
LTS(Long Time Support):长期维护版
zabbix生命周期:https://www.zabbix.com/cn/life_cycle_and_release_policy

zabbix版本选择:https://www.zabbix.com/cn/zabbix_cloud
Zabbix监控架构
zabbix是一个CS架构服务
zabbix是监控架构
zabbix-agent获取数据---->发送给---->zabbix-server服务端---->数据存放---->数据库<----zabbix-web页面展示数据

Zabbix7.0.17-Centos7环境搭建
主机规划
配置要求:https://www.zabbix.com/documentation/7.0/en/manual/installation/requirements
容量估算
| 参数 | 所需磁盘空间的计算公式(单位:字节) |
|
Zabbix 配置文件
|
固定大小,通常为 10MB 或更少
|
|
History (历史数据)
|
days (items/refresh rate) 24 3600 bytes items:监控项数量
days:保留历史数据的天数
refreshrate:监控项的更新间隔
bytes:保留单个值所需要占用的字节数,依赖于数据库引擎,通常为 ~90 字节
|
|
Trends (趋势数据)
|
days (items/3600) 24 3600 bytes items:监控项数量
days:保留历史数据的天数
bytes:保留单个趋势数据所需要占用的字节数,依赖于数据库引擎,通常为 ~90 字节
|
|
Events (事件数据)
|
days events 24 3600 bytes events:每秒产生的事件数量。假设最糟糕的情况下,每秒产生 1 个事件
days:保留历史数据的天数
bytes:保留单个趋势数据所需的字节数,取决于数据库引擎,通常为 ~170 字节
|
主机规划
| 角色 | 主机名 | eth0 / eth1 | 配置 |
| Zabbix服务端 | m03-zabbix-server | 10.0.0.63 / 172.16.1.63 | 1C1G |
| Zabbix客户端 | web01 | 10.0.0.7 / 172.16.1.7 | 1C1G |
| Zabbix客户端 | db01 | 10.0.0.51 / 172.16.1.51 | 1C1G |
| Zabbix客户端 | nfs01 | 10.0.0.31 / 172.16.1.31 | 1C1G |
流程
- 系统:CentOS 7.x(不支持yum方式安装zabbix服务端)
- zabbix服务端编译安装
- zabbix客户端yum安装
- 部署zabbix服务端流程
- 部署nginx+php(8.0-8.4)环境并测试
- 部署数据库 mariadb(10.5-11.5)及以上 然后进行配置
- 编译安装zabbix-server服务端及后续配置
- 部署前端代码代码进行访问
- web访问
- 配置客户端
部署nginx-php环境并测试
[root@m03 ~]# yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm [root@m03 ~]# yum install -y yum-utils [root@m03 ~]# yum-config-manager --enable remi-php83 [root@m03 ~]# yum install -y php php-fpm [root@m03 ~]# yum install -y php-bcmath php-mbstring php-sockets php-gd php-xml php-xmlwriter \
php-xmlreader php-ctype php-session php-openssl php-gettext php-curl php-mysqlnd
# php配置
[root@m03 ~]# sed -ri '/^(user|group)/s#apache#nginx#g' /etc/php-fpm.d/www.conf
[root@m03 ~]# egrep '^(user|group)' /etc/php-fpm.d/www.conf
user = nginx
group = nginx
# 创建目录及测试文件
[root@m03 ~]# mkdir -p /app/code/zabbix
[root@m03 ~]# cat /app/code/zabbix/info.php
<?php
phpinfo();
?>
# 启动服务
[root@m03 ~]# systemctl enable nginx.service php-fpm.service
[root@m03 ~]# systemctl start nginx.service php-fpm.service
# hosts解析
10.0.0.63 zabbix.linux.cn
部署数据库
根据官网进行配置:https://mariadb.org/download/?t=repo-config
[root@m03 ~]# cat /etc/yum.repos.d/MariaDB.repo # MariaDB 10.6 RedHatEnterpriseLinux repository list - created 2025-07-29 03:44 UTC # https://mariadb.org/download/ [mariadb] name = MariaDB # rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details. # baseurl = https://rpm.mariadb.org/10.6/rhel/$releasever/$basearch baseurl = https://mirrors.neusoft.edu.cn/mariadb/yum/10.6/rhel/$releasever/$basearch module_hotfixes = 1 # gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB gpgkey = https://mirrors.neusoft.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck = 1
yum install -y mariadb-server
# 创建数据库(需要指定字符集) CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; # 创建zabbix用户并授权 GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix'; FLUSH PRIVILEGES;
向数据库中导入数据(表、数据、注意导入的顺序)
[root@m03 ~]# tar xf zabbix-7.0.17.tar.gz [root@m03 ~]# cd zabbix-7.0.17/database/mysql/ [root@m03 mysql]# mysql zabbix <schema.sql [root@m03 mysql]# mysql zabbix <images.sql [root@m03 mysql]# mysql zabbix <data.sql
[root@m03 mysql]# mysql -e 'show tables from zabbix;' |wc -l
204
编译安装zabbix-server服务端及后续配置
# 安装zabbix编译依赖 sudo yum install -y \ mariadb-server mariadb-devel \ libcurl-devel libxml2-devel pcre2-devel \
openldap-devel libssh2-devel openssl11 openssl11-devel # 解决 OpenSSL 版本问题
# 由于需要使用指定版本的libevent-devel,所以需要编译安装
tar xf libevent-2.1.12-stable.tar.gz
cd libevent-2.1.12-stable/
./configure --prefix=/usr/local/libevent-2.1.12 --enable-shared --enable-openssl
make
make install
# 创建一个配置文件,告诉系统去/usr/local/libevent-2.1.12/lib查找库文件
echo '/usr/local/libevent-2.1.12/lib' | sudo tee /etc/ld.so.conf.d/libevent.conf
# 更新动态库缓存(让系统立即生效,无需重启)
sudo ldconfig
[root@m03 bin]# strings /usr/local/libevent-2.1.12/lib/libevent-2.1.so.7 | grep "libevent-"
libevent-2.1.so.7
/root/libevent-2.1.12-stable
编译 Zabbix 或其他软件时需要指定 libevent 路径
./configure --with-libevent=/usr/local/libevent-2.1.12 ...
[root@m03 ~]# cd zabbix-7.0.17/
./configure --prefix=/usr/local/zabbix \
--enable-server \
--with-mysql -\
-with-libcurl \
--with-libxml2 \
--with-openssl11 \ # # 关键!指定 OpenSSL 1.1
--with-ldap \
--with-libevent=/usr/local/libevent-2.1.12 # 关键!指向手动安装的路径

解决:在编译Zabbix时,显式传递CPPFLAGS
export CPPFLAGS="-I/usr/local/libevent-2.1.12/include"
CPPFLAGS:明确告诉编译器去哪里查找头文件
[root@m03 etc]# grep -n '^[a-Z]' /usr/local/zabbix/etc/zabbix_server.conf 12:ListenPort=10051 38:LogFile=/tmp/zabbix_server.log 89:DBHost=localhost 101:DBName=zabbix 117:DBUser=zabbix 125:DBPassword=zabbix 550:Timeout=3 552:Timeout=4 641:LogSlowQueries=3000 756:StatsAllowedIP=127.0.0.1 1056:EnableGlobalScripts=0
# 添加个虚拟用户 useradd -s /sbin/nologin -M zabbix # 临时启动测试(验证服务能否运行) sudo /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf # 检查端口 ss -lntup|grep 10051 # 检查进程 ps -ef |grep zabbix
创建systemctl配置文件
sudo tee /etc/systemd/system/zabbix-server.service << 'EOF' [Unit] Description=Zabbix Server After=network.target mysqld.service [Service] Type=simple ExecStart=/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf User=zabbix Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target EOF
设置权限并启动
sudo chmod 644 /etc/systemd/system/zabbix-server.service sudo systemctl daemon-reload # 加载配置文件 pkill zabbix_server # 关闭手动启动的zabbix_server
浙公网安备 33010602011771号