千家信息网

搭建Zabbix监控系统详解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,在企业网络运维过程中,管理员必须随时关注各服务器和网络的运行情况,以便及时发现问题,尽可能减少故障的发生。当网络中的设备,服务器等数量较多时,为了更加方便、快捷地获得各种监控信息,通常会借助于一些集中
千家信息网最后更新 2026年11月01日搭建Zabbix监控系统详解

在企业网络运维过程中,管理员必须随时关注各服务器和网络的运行情况,以便及时发现问题,尽可能减少故障的发生。当网络中的设备,服务器等数量较多时,为了更加方便、快捷地获得各种监控信息,通常会借助于一些集中监测软件。

博文大纲:

一、Zabbix概述、工作原理及重要组件;
二、Zabbix安装;
三、配置Zabbix监控系统监控网络设备;

要想实时地了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的途径。就目前而言,有服务器的地方必然少不了监控系统。现有的监控软件有很多,但是Zabbix可以灵活的监控服务器资源,并且集Cacti和Nagio两者的优点于一身且功能更加强大,实现企业级分布式监控,所以在市场上应用非常广泛!

一、Zabbix概述、工作原理及重要组件;

(1)Zabbix概述

Zabbix是一个基于Web界面的企业级开源监控套件,提供分布式系统监控与网络监视功能。具有主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细报表、图表的绘制等功能。监测的对象可以是Linux或Windows服务器,也可以是路由器、交换机等网络设备,通过SNMP(简单网络管理协议)、Zabbix、Agent、PING、端口监视等方法提供对远程网络服务器等监控、数据收集等功能,并提供通知机制使系统管理员可以快速定位、解决系统中存在的各种问题。目前Zabbix最新版本为Zabbix 3.4.官方网站是http://www.zabbix.com 。

Zabbix是免费的。Zabbix遵循GPL(通用公共许可证)版本2,这意味着它的源代码是可以自由分布的。Zabbix的商业版本是由Zabbix公司提供支持的。世界上很多大小不同的组织机构都依懒于Zabbix作为自己的一个主要的监控平台。尤其是现在很多互联网企业都在使用它。

Zabbix是一个高度集成的网络监控解决方案,具体描述如图:

(2)Zabbix重要组件

zabbix主要由以下几个重要的组件构成,具体作用如下:

  • Zabbix Server:负责接收Agent发送报告信息的核心组件,所有的配置、数据统计、数据操作都由它组织进行;
  • Database strongage:负责存储所有的配置信息以及收集的数据;
  • Web interface:是zabbix的GUI接口,通常情况下与Zabbix Server运行在同一台主机上;
  • Proxy:属于可选组件,常用于分布式监控环境中,代理Server收集部分数据,然后转发到Server,可以减轻Server的压力;
  • Agent:部署在被监控的主机(客户端)上,负责收集被监控端主机的数据,如CPU、内存、数据库等数据,然后发送到Server端或Proxy端。

(3)Zabbix进程

默认情况下,Zabbix包含五个程序,另外还有一个是可选的,需要另外安装。

各个程序各自的特点及作用如下:

  • zabbix_agentd:客户端守护进程,此进程用于收集被监控端的数据,如CPU负载、内存、硬盘使用情况等;
  • zabbix_get:zabbix工具是单独使用的命令。zabbix_get是在server或者proxy端执行获取远程客户端信息的命令。主要用于排错。例如:在server端获取不到客户端的内存数据时,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查;
  • zabbix_sender:用于发送数据给server或者Proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,可以使用sender主动提交数据;
  • zabbix_server:zabbix服务器端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、
    zabbix_java_gateway的数据最终都是提交到server。数据并不都是主动提交给zabbix_server的,也有被动提交数据的,及server主动去获取数据;
  • zabbix_proxy:zabbix代理守护进程。功能类似于server,唯一不同的是它只是一个中转站,需要把收集到的数据主动(或被动)地提交到server上;
  • zabbix_java_gateway:在zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但目前只用于Java方面,需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会提交到server或者proxy。

(4)Zabbix监控架构

在实际生产环境中,Zabbix根据网络环境,监控规模等外界因素分为三种架构,如图:

1)server-client架构(直接连接)

server-client架构是Zabbix的最简单的架构,监控机和被监控机之间不经过任何代理,直接在zabbix server和zabbix agentd之间进行数据交互,适用于网络比较简单,设备比较少的监控环境;

2)master-node-client架构(node架构)

master-node-client架构是Zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境。每个node同时也是一个server端。node下面可以接proxy,也可以直接接client。node有自己的配置文件和数据库。其要做的是将配置信息和监控数据项master同步。当master发生故障或损坏,node可以保证架构的完整性;

3)server-proxy-client架构(proxy架构)

proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后在提交给server。该架构经常是和master-node-client架构做比较的架构,一般适用于跨机房、跨网络的中型网络架构的监控;

二、Zabbix安装

Zabbix提供两种安装方式:YUM安装与编译安装。需要注意的是,由于Centos官方YUM源中并不提供Zabbix软件包以及相关依懒包,因此,如果想用YUM安装Zabbix需要通过Zabbix官方源或第三方的YUM源实现。

Zabbix服务器需要LAMP环境或LNMP环境,以下实验部署环境采用YUM安装的LAMP环境为例,详细介绍Zabbix监控服务器的部署方法。

(1)安装MariaDB

为什么是安装MariaDB不是MySQL呢?
因为Centos 7 系统光盘中默认提供的数据库不是MySQL而是MariaDB,因此在LAMP架构中使用MariaDB来充当"M"的角色,其余的组件还是保持原有的Apache与PHP。MariaDB是MySQL数据库源码的一个分支版本,与MySQL在大多数方面是兼容的!

[root@localhost ~]# yum -y install mariadb-server mariadb//安装MariaDB数据库及MariaDB客户端工具[root@localhost ~]# systemctl start mariadb//启动MariaDB数据库[root@localhost ~]# mysqladmin -u root password "password123"//为MariaDB数据库管理员设置密码[root@localhost ~]# mysql -u root -ppassword123//登录MariaDB数据库Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 3Server version: 5.5.52-MariaDB MariaDB ServerCopyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> //登录成功

(2)安装Zabbix

因为安装Zabbix时会安装很多依懒包,其中包括httpd与PHP相关依懒包,所以直接安装Zabbix即可!无须在单独安装httpd与PHP。使用YUM安装Zabbix可以使用Zabbix官方源或者第三方提供的YUM源,这里以第三方提供的YUM为例!
安装Zabbix所需软件包网盘链接:https://pan.baidu.com/s/1mnOHhY7EVmmMnONFetMUUg
提取码:b2sd
建议在Windows系统解压完成,将其中的YUM所需软件包上传到Linux服务器即可!

[root@localhost ~]# mount /dev/cdrom /mnt[root@localhost ~]# cp /mnt/* /a[root@localhost ~]# cd /a[root@localhost a]# createrepo .//因为本身自带的只有软件包,并没有其需要用到的依赖关系文件,所以需要自己手动生成![root@localhost ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent//安装Zabbix及其所需服务(如果使用官方源的话,直接YUM安装即可)!//zabbix-agent这个服务是被监控端安装的

因为安装Zabbix Web时需要数据库,所以要在MariaDB中手动创建库名为Zabbix的数据库,并授权给zabbix用户使用,以增加数据库的安全性。

[root@localhost ~]# mysql -u root -ppassword123Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 4Server version: 5.5.52-MariaDB MariaDB ServerCopyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;Query OK, 1 row affected (0.01 sec)MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'password@456';Query OK, 0 rows affected (0.00 sec)//登录数据库创建数据库、并授予权限

导入数据库SQL脚本文件

[root@localhost ~]# zcat  /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz |mysql -u zabbix -ppassword@456  zabbix

1)检查其配置文件

编写Zabbix server配置文件,指定数据库的名称、用户和密码。

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf                    ……………………                    //省略部分内容DBHost=localhost   //去掉注释DBName=zabbix    //不变DBUser=zabbix     //不变DBPassword=password@456  //去掉注释

编辑Zabbix agent的配置文件,必须指定zabbix server的IP地址,在每台安装了agent的主机上都要配置。

[root@localhost ~]# vim  /etc/zabbix/zabbix_agentd.conf                    ……………………                    //省略部分内容              Server=127.0.0.1                //客户端被动等待指定服务器来查询数据    ServerActive=127.0.0.1     //客户端主动提交数据到指定服务器Hostname=linux-server001  //修改//因为本机就是zabbix server,所以指定的地址就是本机即可!

2)安装Zabbix Web接口

编辑Apache服务器针对Zabbix的前端配置文件,设置时区与当前系统时区一致即可!内容如下:

[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf         php_value date.timezone Asia/Shanghai//去掉注释,修改即可!

3)重启所有服务

[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# setenforce 0//建议关闭防火墙与SELinux[root@localhost ~]# systemctl restart zabbix-server.service [root@localhost ~]# systemctl restart zabbix-agent.service [root@localhost ~]# systemctl restart httpd

4)客户端访问

可以在本地访问,也可在客户端访问,都可以!







4)Zabbix用户管理

为了增强安全性,需要修改Zabbix服务器默认用户Admin的初始密码,操作如下:


5)修改Zabbix中文乱码

安装Zabbix后,当显示语言为中文时,可能会出现中文乱码的情况。主要是由字体导致的问题,如果需要解决,需要下载合适的字体,并将其上传到Zabbix服务器上。

下载标准中文字体,将其上传到Zabbix服务器的文档根目录中;中文字体(simkai.ttf)也在刚才的网盘连接的压缩包中。具体操作,如下:

[root@localhost ~]# cp simkai.ttf /usr/share/zabbix/fonts/[root@localhost ~]# ls /usr/share/zabbix/fonts/graphfont.ttf  simkai.ttf

执行以下命令,修改PHP界面指定的字体文件,将原本的grapfont更改为simkai,然后刷新界面即可正常显示中文。

[root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php               ……………………                       //省略部分内容define('ZBX_GRAPH_FONT_NAME',           'simkai'); 

zabbix服务器搭建完成!!!

三、配置Zabbix监控系统监控网络设备

企业网络环境中采用Zabbix来作为监控服务器,监控对象为网络中的各种服务器及网络设备,服务器有Linux服务器、Windows服务器,交换机采用GNS3模拟器来模拟,桥接3块网卡分别连接Zabbix服务器、Linux服务器和Windows服务器,具体的实验拓补图如下:

案例实施步骤:

(1)Zabbix监控网络设备

网络设备一般支持SNMP协议来做监控,所以首先要在交换机上配置IP地址,并开启SNMP,主要是设置共同体的值,本次案例使用GNS3模拟器,用路由器来代替交换机。具体操作如下:

R1(config)#int r f0/0 - 15R1(config-if-range)#no shR1(config)#int vlan 1R1(config-if)#ip add 192.168.1.100 255.255.255.0R1(config-if)#no sh//给vlan设置IP地址R1(config)#no ip routing//关闭路由功能R1(config)#snmp-server community centos ro//设置被服务器查询的只读共同体R1(config)#snmp-server enable traps//允许发送trap消息R1(config)#snmp-server host 192.168.1.1 centos//设置发送trap消息的共同体

在Zabbix服务器上添加网络设备,操作如下:








交换机的名称稍后便会更新成功的!

交换机检测完成!!!

(2)监控Linux服务器

如果希望监控Linux服务器,可以使用agent的方式,即在Linux服务器上安装Zabbix的agent。agent软件包也在zabbix软件包中,并修改其配置文件。

[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# setenforce 0//关闭防火墙与SELinux[root@localhost ~]# rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm //安装agent软件包[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf //编写agentd服务器的配置文件                      …………………………              //省略部分内容Server=192.168.1.1//用于客户端被动等待指定服务器来查询数据ServerActive=192.168.1.1//用于客户端主动提交数据到指定服务器Hostname=linux-server001//可以自定义,但必须与Zabbix Web上配置一致,//否则Zabbix主动监控将无法工作。[root@localhost ~]# systemctl start zabbix-agent.service //启动agent服务[root@localhost ~]# netstat -anpt | grep 10050tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      43876/zabbix_agentd tcp6       0      0 :::10050                :::*                    LISTEN      43876/zabbix_agentd //agent服务默认端口是10050

在Zabbix服务器上添加Linux主机,操作如下:





(3)监控Windows服务器

Windows服务器32位操作系统便选择32位的软件包;64位便选择64位的软件包,Zabbix软件包中都有。
在C盘中新建文件夹,命名为zabbix,将所需的软件及配置文件移进去,修改配置文件,修改的内容如下:
Server=192.168.1.1
ServerActive=192.168.1.1
Hostname=windows-server001
修改完成之后,建议关闭防火墙,以免出现错误!
接下来在命令行完成以下操作:

C:\Users\Administrator>cd \zabbixC:\zabbix>zabbix_agentd.exe -c zabbix_agentd.win.conf -izabbix_agentd.exe [1368]: service [Zabbix Agent] installed successfullyzabbix_agentd.exe [1368]: event source [Zabbix Agent] installed successfully//安装agentC:\zabbix>zabbix_agentd.exe -c zabbix_agentd.win.conf -szabbix_agentd.exe [1504]: service [Zabbix Agent] started successfully//指定agent配置文件启动agent常用的选项有:"-c"指定配置文件;"-i"安装;"-s"启动;"-x"停止;"-d"卸载!

在Zabbix服务器上添加Windows主机操作如下:





(4)Zabbix自定义监控项

Zabbix自带的默认模板里包含了很多监控项,也可以根据业务需求自定义监控项。

以监控httpd进程为例,介绍如何在Zabbix自定义监控项。
以下操作均在客户端执行,命令如下:

[root@localhost ~]# vim check_httpd.sh//自己手动编写脚本,内容如下:#!/bin/bashA=`ps -ef | grep httpd | grep -v grep`if      [ -n "$A" ]then        echo '1'else        echo '0'fi[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf//修改agent服务的配置文件,修改以下内容UnsafeUserParameters=1                  //去掉注释并改为1[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_httpd.conf//自己创建Userparameter_httpd.conf文件UserParameter=check_httpd,sh /root/check_httpd.sh//格式为Userparameter=<键值>,<命令>

即可登录Zabbix服务器,



关于Zabbix的配置就先接受这么多,以后有新的问题,会实时更新的!!!

-------- 本文至此结束,感谢阅读 --------

监控 服务 数据 服务器 网络 配置 文件 架构 数据库 软件 客户 客户端 设备 系统 环境 软件包 内容 主动 网络设备 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 互联网科技网 云之行互联网科技 互联网科技工作委员会毛军 科技互联网产品 平安科技 互联网 佰商互联网科技有限公司 重庆威客帮互联网科技 燊美集互联网科技有限公司 工业互联网等科技实现智能化赋能 互联网数据科技专业 世界互联网领先科技成果获奖 华中科技大学互联网的牛人 互联网金融科技元年 广东工业互联网大赛深圳学泰科技 本届互联网大会上的黑科技 互联网科技和医药行业 数字互联网科技有限公司 恒生互联网科技趋势 广州全民伙伴互联网科技有限公司 蓝思科技飞鸽互联网 互联网科技论文 长亮科技 互联网金融 互联网科技股午盘股票涨跌 新华互联网科技2019 受益于互联网科技的高速发展 互联网科技人工智能实验室 广州三三互联网科技有限公司 马化腾互联网科技教学 互联网科技快速发展优美句子
0