千家信息网

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(一)

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,一、Zabbix相关知识简介:1、监控的维度:监控内容监控方式物理硬件:CPU温度、主板温度、风扇转速、电压、功率等IPMI、机房巡检操作系统:CPU负载、内存使用率、磁盘使用率、磁盘I/O、网卡流量
千家信息网最后更新 2026年11月04日CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(一)

一、Zabbix相关知识简介:

1、监控的维度:

监控内容

监控方式

物理硬件:CPU温度、主板温度、风扇转速、电压、功率等

IPMI、机房巡检

操作系统:CPU负载、内存使用率、磁盘使用率、磁盘I/O、网卡流量等

Linux模板

应用软件:Nginx、php-fpm、Redis、MySQL、Tomcat等

定制开源模板

业务:业务状态、网页速度、PV、UV、IP、活跃用户数、每日成交量等

腾讯分析、Matomo等

交换机、路由器、UPS等网络设备

SNMP

日志

ELK、GoAccess、AWStats

说明:PV、UV、IP名词解释

PV:Page View,访问量,即页面浏览量或点击量,衡量网站用户访问的网页数量,在一定统计周期内用户每打开或刷新1个页面就记录1次,多次打开或刷新同1页面则浏览量累计。

UV:Unique Visitor,独立访客,统计1天内访问某站点的用户数(以cookie为依据),访问网站的1台电脑客户端为1个访客,可以理解成访问某网站的电脑的数量,网站判断来访电脑的身份是通过来访电脑的cookies实现的,如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的,如果用户不保存cookies访问、清除了cookies或更换设备访问,计数会加1,00:00-24:00内相同的客户端多次访问只计为1个访客。

IP:Internet Protocol,独立IP数,指1天内多少个独立的IP浏览了页面,即统计不同的IP浏览用户数量,同一IP不管访问了几个页面,独立IP数均为1,不同的IP浏览页面,计数会加1,IP是基于用户广域网IP地址来区分不同的访问者的,多个用户(多个局域网IP)在同1个路由器(同1个广域网IP)内上网,可能被记录为1个独立IP访问者,如果用户不断更换IP,则有可能被多次统计。

2、Zabbix组件:

(1)Zabbix Server:负责接收Zabbix Agent或Zabbix Proxy发送的报告信息,并负责组织配置信息、统计信息及操作数据等。

(2)Zabbix Database:用于存储所有Zabbix的配置信息及监控数据的数据库,监控数据包括

a、历史数据:每次采样的结果,保存时长相对较短

b、趋势数据:聚合数据,保存相对较长周期内的数据

(3)Zabbix Web:Zabbix的GUI接口,管理员通过Web界面管理Zabbix配置以及查看Zabbix相关监控信息,可以单独部署在独立的服务器上。

(4)Zabbix Agent:部署在被监控主机上,负责收集被监控主机的数据,并发往Zabbix Server或Zabbix Proxy。

(5)Zabbix Proxy:可选组件,用于分布式监控环境,收集局部区域内Zabbix Agent的监控数据,并统一发往Zabbix Server。

说明:一般情况下,将Zabbix Agent部署在被监控主机上采集数据,报告给负责监控的中心主机,中心主机也就是master/agent模型中的master,负责监控的中心主机被称为Zabbix Server,Zabbix Server将从Zabbix Agent接收到的信息存储于Zabbix Database中,如果管理员需要查看各种监控信息,则需要使用PHP编写的Zabbix Web,且依赖于LAMP环境,不管是Zabbix Server,或Zabbix Web,都需要连接到Zabbix Database获取相关数据。

3、Zabbix常用术语:

(1)host:主机,需要被Zabbix监控的对象,主机必须属于某个主机组。

(2)host group:主机组,是具有相同属性、特征、角色的多个主机组成的逻辑单元。

(3)item:监控项,一个特定监控指标的相关数据,这些数据来自于被监控对象,监控项是Zabbix进行数据收集的核心,没有监控项将没有数据,相对某监控对象来说,每个监控项都由"key"进行标识。

(4)key:键,如果想要获取监控项对应的数据,则必须通过某个key去获取,Zabbix中自带一些key,这些key往往比较通用,通过这些key可以监控CPU、内存、硬盘等常用指标,获取不同的指标信息,但如果这些自带的key无法满足监控需求时,也可以自定义key,通过自定义key执行相应的操作。

(5)trigger:触发器,一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在其合理范围内,即阈值,接收到的数据量达到阈值时,触发器状态将从"OK"转变为"Problem",当数据量再次回归到合理范围时,其状态将从"Problem"转换回"OK"。

(6)event:事件,当触发器的状态发生改变时,会产生对应的事件,由触发器的状态改变而产生的事件被称为"触发器事件",Zabbix中,事件分为触发器事件、自动发现事件、自动注册事件和内部事件。

(7)action:动作,指对于特定事件事先定义的处理方法,包含操作(如发送通知)和条件(何时执行操作)。

(8)escalation:报警升级,发送告警或执行远程命令的自定义方案,如每隔5分钟发送一次告警,共发送5次等。

(9)media:媒介,发送通知的手段或通道,如Email、Jabber或SMS等。

(10)notification:通知,通过选定的媒介向用户发送有关某事件的信息。

(11)remote command:远程命令,预定义的命令,可在被监控主机处于某特定条件下时自动执行。

(12)template:模板,用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule,模板可直接链接至单个主机。

(13)application:应用,一组item的集合。

(14)web scennario:web场景,用于检测web站点可用性的一个或多个HTTP请求。

(15)frontend:前端,Zabbix的web接口。

4、Zabbix支持的通信方式:

(1)Agent:通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的Agent,推荐首选此种方式。

(2)SSH/Telnet:通过远程控制协议进行通信。

(3)SNMP:Simple Network Management Protocol,简单网络管理协议,通过SNMP协议与被监控对象进行通信,通常无法在路由器、交换机这种硬件上安装Agent,但是这些硬件往往都支持SNMP协议,SNMP是一种比较久远的、通行的协议,大部分网络设备都支持这种协议,其实SNMP协议的工作方式也可以理解为master/agent的工作方式,只不过是在这些设备中内置了SNMP的Agent而已。

(4)IPMI:Intelligent Platform Management Interface,智能平台管理接口,通过IPMI接口进行监控,可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。

(5)JMX:Java Management Extensions,Java管理扩展,监控JVM虚拟机时,较常使用此种方式。

5、Zabbix的工作模式:

(1)主动模式:Zabbix Agent会将采集完的数据主动发送给Zabbix Server,可减轻Zabbix Server的压力。

(2)被动模式:Zabbix Agent不主动发送数据,而是等待Zabbix Server过来拉取数据,默认为被动模式。

说明:不管是主动模式还是被动模式,都是对于Zabbix Agent来说的,主动模式与被动模式可以并存


二、准备工作:

1、Zabbix版本选择:https://www.zabbix.com/life_cycle_and_release_policy

备注:建议选择LTS(Long Term Support,长期支持)版本

2、相关网址:

(1)Zabbix下载地址:https://www.zabbix.com/download/

(2)Zabbix 4.0 LTS中文产品手册:https://www.zabbix.com/documentation/4.0/zh/manual

3、演示环境:

IP

操作系统

主机名

角色

192.168.0.120

CentOS 7.7 x86_64

zabbix-server

Zabbix Database、Zabbix Server、Zabbix Web、Zabbix Agent

192.168.0.121

CentOS 7.7 x86_64

sh-proxy

Zabbix Proxy

192.168.0.122

CentOS 7.7 x86_64

node-122

Zabbix Agent

192.168.0.130

Windows Server 2012 R2

node-130

Zabbix Agent

4、所有CentOS节点执行如下操作:

(1)关闭SELinux和firewalld

(2)配置服务器时间同步

(3)配置主机名

(4)配置hosts文件:

# vim /etc/hosts

192.168.0.120 zabbix-server

192.168.0.121 sh-proxy

192.168.0.122 node-122

(5)配置epel源:# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpm

(6)配置Zabbix的yum源:

# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

# rpm -ql zabbix-release

# cat /dev/null > /etc/yum.repos.d/zabbix.repo

# vim /etc/yum.repos.d/zabbix.repo

[aliyun-zabbix]

name=Aliyun Zabbix Repository - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591


[aliyun-zabbix-non-supported]

name=Aliyun Zabbix Repository non-supported - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

5、zabbix-server节点搭建LAMP环境:

说明:Zabbix Web依赖于LAMP环境,安装zabbix-web-mysql(4.0.14)软件包时默认会自动安装httpd(2.4.6)、PHP(5.4.16)、zabbix-web(4.0.14)等相关软件包,此处使用yum方式安装PHP 7.2版本。CentOS 7.7中MariaDB的版本为5.5.64,版本较低,升级为MariaDB 10.4版本后在导入create.sql文件时会提示"ERROR 1118 (42000) at line 1278: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.",所以Zabbix Database使用MySQL 5.7。此处不单独安装httpd,并将Zabbix Database、Zabbix Server、Zabbix Web都部署在zabbix-server节点上,实际生产环境中可以分开部署。

(1)安装配置MySQL 5.7:

a、查看系统中是否已经存在MariaDB:

# rpm -qa | grep -i mariadb --> mariadb-libs-5.5.64-1.el7.x86_64

# yum -y remove mariadb-libs

b、安装mysql57-community-release-el7.rpm:

# rpm -ivh http://repo.mysql.com/mysql57-community-release-el7.rpm

备注:安装后会在/etc/yum.repos.d目录中生成mysql-community-source.repo和mysql-community.repo

c、安装MySQL 5.7相关软件包:

# yum list all | grep mysql-community

# yum -y install mysql-community-client mysql-community-common mysql-community-devel mysql-community-libs mysql-community-libs-compat mysql-community-server mysql-community-test

d、初始化MySQL 5.7:# mysqld --initialize --user=mysql --datadir=/var/lib/mysql

备注:初始化之前确保/var/lib/mysql目录为空

e、修改my.cnf配置文件:

# mv /etc/my.cnf /etc/my.cnf.bak

# vim /etc/my.cnf

[mysqld]

port=3306

socket=/var/lib/mysql/mysql.sock

datadir=/var/lib/mysql

pid-file=/var/run/mysqld/mysqld.pid

log-error=/var/log/mysqld.log

lower_case_table_names=1

character_set_server=utf8mb4

collation_server=utf8mb4_general_ci

innodb_file_per_table=1

skip_name_resolve=1

slow_query_log=1

slow_query_log_file=mysql-slow.log

symbolic-links=0

explicit_defaults_for_timestamp=1

server_id=1

sync_binlog=1

innodb_flush_log_at_trx_commit=1

log_bin=mysql-bin

log_bin_index=mysql-bin.index

binlog_format=row

f、启动MySQL:

# systemctl start mysqld

# systemctl status mysqld

# ps aux | grep mysqld

# ss -tunlp | grep -w :3306

# tail -100 /var/log/mysqld.log

g、配置开机自启:# systemctl enable mysqld

h、查看root@localhost用户的初始密码:# grep password /var/log/mysqld.log

i、配置安全向导:# mysql_secure_installation

j、授权root用户远程登录:

# mysql -uroot -p

mysql> create user root@'192.168.0.%' identified by '123456';

mysql> grant all on *.* to root@'192.168.0.%';

mysql> flush privileges;

(2)安装配置PHP 7.2:

a、安装webtatic-release.rpm:# rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

b、安装PHP 7.2相关软件包:

# yum list all | grep php

# yum -y install mod_php72w php72w-cli php72w-common php72w-devel php72w-fpm php72w-gd php72w-ldap php72w-mbstring php72w-mysqlnd php72w-opcache php72w-xml

c、查看PHP版本:# php -version


三、zabbix-server节点部署Zabbix Server、Zabbix Web和Zabbix Agent:

1、部署Zabbix Server:

(1)安装zabbix-server-mysql软件包:# yum -y install zabbix-server-mysql

(2)查看Zabbix Server版本:# zabbix_server -V

(3)创建zabbix数据库和'zbxuser'@'192.168.0.%'用户,并授权'zbxuser'@'192.168.0.%'用户远程管理:

# mysql -uroot -p

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> create user 'zbxuser'@'192.168.0.%' identified by '123456';

mysql> grant all on zabbix.* to 'zbxuser'@'192.168.0.%';

mysql> flush privileges;

(4)导入create.sql文件,初始化zabbix数据库(以下方法三选一):

# zcat /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz | mysql -uzbxuser -h292.168.0.120 -p zabbix

或

# gzip -d /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz

mysql> use zabbix;

mysql> source /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql

或

# gzip -d /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz

# mysql -uzbxuser -h292.168.0.120 -p zabbix < /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql

备注:gzip -d执行后自动删除create.sql.gz文件,保留解压后的create.sql文件

(5)检查zabbix数据库中是否创建了表:

# mysql -uzbxuser -h292.168.0.120 -p123456 -e 'use zabbix; show tables;' 2> /dev/null | wc -l

(6)修改zabbix_server.conf配置文件:

# rpm -ql zabbix-server-mysql

# cd /etc/zabbix

# cp zabbix_server.conf{,.bak}

# vim zabbix_server.conf

修改前

修改后

# ListenPort=10051

ListenPort=10051

# LogType=file

LogType=file

LogFile=/var/log/zabbix/zabbix_server.log

保持默认

LogFileSize=0

保持默认

PidFile=/var/run/zabbix/zabbix_server.pid

保持默认

# DBHost=localhost

DBHost=192.168.0.120

DBName=zabbix

保持默认

DBUser=zabbix

DBUser=zbxuser

# DBPassword=

DBPassword=123456

# DBSocket=

DBSocket=/var/lib/mysql/mysql.sock

# DBPort=

DBPort=3306

# ListenIP=127.0.0.1

ListenIP=192.168.0.120

AlertScriptsPath=/usr/lib/zabbix/alertscripts

保持默认

ExternalScripts=/usr/lib/zabbix/externalscripts

保持默认

# FpingLocation=/usr/sbin/fping

FpingLocation=/usr/sbin/fping

# AllowRoot=0

AllowRoot=0

# User=zabbix

User=zabbix

(7)启动Zabbix Server:

# systemctl start zabbix-server

# systemctl status zabbix-server

# ps aux | grep zabbix_server

# ss -tunlp | grep -w 10051

# tail -100 /var/log/zabbix/zabbix_server.log

(8)配置开机自启:# systemctl enable zabbix-server

2、部署Zabbix Web:

(1)安装zabbix-web-mysql软件包:# yum -y install zabbix-web-mysql

(2)修改httpd.conf配置文件:

# vim /etc/httpd/conf/httpd.conf

修改前

修改后

#ServerName www.example.com:80

ServerName 192.168.0.120:80

(3)启动httpd:

# systemctl start httpd

# systemctl status httpd

# ps aux | grep httpd

# ss -tunlp | grep -w :80

(4)配置开机自启:# systemctl enable httpd

(5)浏览器访问http://192.168.0.120/zabbix


说明:/etc/httpd/conf.d/zabbix.conf配置文件中已针对PHP 5.4优化,但目前安装的是PHP 7.2,需要修改/etc/php.ini配置文件,Zabbix相关PHP网页全存放在/usr/share/zabbix目录下

# vim /etc/php.ini

修改前

修改后

post_max_size = 8M

post_max_size = 16M

max_execution_time = 30

max_execution_time = 300

max_input_time = 60

max_input_time = 300

;date.timezone =

date.timezone = Asia/Shanghai

重启httpd:# systemctl restart httpd

刷新网页,必须所有的检查项都为"OK"才能继续:

安装后生成的配置文件:/etc/zabbix/web/zabbix.conf.php

登录Zabbix Web,用户名Admin,密码zabbix:

3、Zabbix Web简单配置:

(1)修改Admin用户默认密码:

Administration --> Users --> Admin --> Change password --> 输入2次新密码root@123 --> Update

新密码:root@123

退出重新登录

(2)禁用guest用户:

Administration --> User groups --> 勾选Guests组 --> Disable

Administration --> Users --> guest用户的状态已变为Disabled

(3)修改刷新不支持项的时间间隔:

Administration --> General --> Other --> Refresh unsupported items默认10m修改为30s --> Update

(4)调整每页显示的行数,默认为50行:

右上角Admin--> User --> Rows per page --> Update

(5)开启前端消息声音:

右上角Admin--> Messaging --> Frontend messaging --> Update

4、部署Zabbix Agent:

说明:出现上述监控提示是因为zabbix-server节点没有安装Zabbix Agent

(1)安装zabbix-agent软件包:# yum -y install zabbix-agent

(2)修改zabbix_agentd.conf配置文件:

# cd /etc/zabbix

# cp zabbix_agentd.conf{,.bak}

# vim zabbix_agentd.conf

修改前

修改后

PidFile=/var/run/zabbix/zabbix_agentd.pid

保持默认

# LogType=file

LogType=file

LogFile=/var/log/zabbix/zabbix_agentd.log

保持默认

LogFileSize=0

保持默认

# EnableRemoteCommands=0

EnableRemoteCommands=1

Server=127.0.0.1

Server=192.168.0.120

# ListenPort=10050

ListenPort=10050

# ListenIP=0.0.0.0

ListenIP=192.168.0.120

ServerActive=127.0.0.1

ServerActive=192.168.0.120

Hostname=Zabbix server

Hostname=zabbix-server

# AllowRoot=0

AllowRoot=0

# User=zabbix

User=zabbix

Include=/etc/zabbix/zabbix_agentd.d/*.conf

保持默认

# UnsafeUserParameters=0

UnsafeUserParameters=1

说明:

Server:使用于被动模式,指定允许哪台Zabbix Server主动拉取当前Zabbix Agent的数据,此IP为Zabbix Server的IP,实现基于IP的访问控制,如果有多个IP,使用逗号分隔。

ServerActive:使用于主动模式,指定Zabbix Agent将信息主动推送至哪台Zabbix Server,如果有多个IP,使用逗号分隔。

(3)启动Zabbix Agent:

# systemctl start zabbix-agent

# systemctl status zabbix-agent

# ps aux | grep zabbix_agent

# ss -tunlp | grep -w 10050

# tail -100 /var/log/zabbix/zabbix_agentd.log

(4)配置开机自启:# systemctl enable zabbix-agent

5、配置Zabbix Web:

Configuration --> Hosts --> Zabbix server --> Update

修改前

修改后

Host name: Zabbix server

Host name: zabbix-server

Visible name:

Visible name: Zabbix server

IP address: 127.0.0.1

IP address: 192.168.0.120

说明:上述Zabbix Web中的Host name值要与该节点的主机名,以及/etc/zabbix/zabbix_agentd.conf配置文件中的Hostname参数值三者相同

备注:zabbix-server节点完成对自身状态的监控


监控 数据 配置 用户 主机 文件 事件 信息 模式 状态 主动 版本 软件 方式 对象 节点 软件包 管理 多个 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网 科技集团 善班互联网科技有限公司 奔汉互联网科技 佰商互联网科技有限公司 互联网科技股午盘股票涨跌 科技赋能互联网健康 江苏南京365互联网科技 互联网教育科技公司vipkid 湖南诚度互联网科技有限公司 语蝶互联网科技有限公司 速维有品互联网信息科技(苏州)有限公司 想开互联网科技公司怎么样 佛山市拉法互联网科技有限公司 为客找房互联网科技公司怎么样 35岁以上互联网科技行业 互联网科技平台产品运营 互联网领先科技成果宣传视频 广东猫王互联网科技有限公司电话 互联网企业和网络科技有限公司 恒生科技互联网指数十大成分股 互联网科技网 云之行互联网科技 科技类互联网 互联网科技论文 隆华科技工业互联网 互联网软件和科技 卓翼科技产业互联网合作 下一代互联网重大应用科技园 互联网时代科技型公司的机会 北京品多多互联网科技有限公司
0