千家信息网

Zabbix运维监控平台如何快速搭建实录

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Zabbix运维监控平台如何快速搭建实录,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、Zabbix运行架构Zabbix
千家信息网最后更新 2026年11月01日Zabbix运维监控平台如何快速搭建实录

这篇文章将为大家详细讲解有关Zabbix运维监控平台如何快速搭建实录,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一、Zabbix运行架构

Zabbix是一个企业级的分布式开源监控解决方案。它能够监控各种服务器的健康型、网络的稳定性以及各种应用系统的可靠性。当监控出现异常时,Zabbix通过灵活i的告警策咯,可以为任何事件配置基于邮件、短信、微信等告警机制。而这所有的一切,都可以通过Zabbix提供的Web界面进行配置和操作,基于Web的前端页面还提供了出色的报告和数据可视化功能。这些功能和特性使运维人员可以非常轻松的搭建一套功能强大的运维监控管理平台。

Zabbix的运行架构图如下:

从图中可以看出Zabbix主要有几个组件,分别是:

1)zabbix应用组件

1)Zabbix Server

Zabbix Server是Zabbix的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。它主要负责接收客户端发送的报告信息,同时,所有配置、统计数据及配置操作数据均由其组织进行;

2)Zabbix Database Storage

主要用于存储数据,所有配置信息和Zabbix收集到的数据都被存储在数据库中。常用的数据库有Oracle、Mysql等;

3)Zabbix Web界面

这是Zabbix提供的GUI接口,通常与Zabbix Server运行在同一台物理服务器上;

4)Zabbix Proxy代理服务器

这是一个可选组件,常用于分布监控环境中,代理Server可以代替Zabbix server收集性能和可用性数据,汇总后同一发往Zabbix Server端;

5) Zabbix Agent监控代理

Zabbix Agent部署在被监控主机上,能够主动监控本地资源和应用程序,并负责收集数据发送Zabbix Server端或Zabbix Proxy端;

2)Zabbix服务进程

根据功能和用途,默认情况下zabbix包含5个进程,如下:

1)zabbix_agentd

zabbix_agentd是Zabbix Agent监控代理端守护进程,此进程主要用于收集客户端数据,例如:CPU、内存、硬盘、网络使用情况等信息;

2)Zabbix_get

Zabbix提供的一个工具,通常在Zabbix server或Zabbix Proxy端执行用来获取远程客户端信息,其实就是Zabbix Server去Zabbix Agent拉取数据的过程。此工具常用排错;

3)Zabbix_sender

Zabbix提供的一个工具,用于发送数据给Zabbix server或Zabbix Proxy,其实是Zabbix Agent主动发送数据到Zabbix Server的过程,通常用于耗时较长的检查或有大量主机需要监控的场景;

4)Zabbix_proxy

Zabbix Proxy的代理守护进程,功能类似于Zabbix server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交到Zabbix Server上或等待Zabbix server主动收集;

5)Zabbix_java_gateway

Zabbix 2.0版本后引入的一个功能,主要用于监控JAVA应用环境,类似于Zabbix_agentd进程。需要注意的是,它只能主动去推送数据,而不可以等待zabbix server或zabbix proxy来拉取数据。它的数据最终会给到zabbix server或zabbix proxy上;

6)Zabbix_server

Zabbix server是整个Zabbix系统的核心进程。其他进程所收集到的数据最终都会被提交到Zabbix Server上进行统一的处理。

3)Zabbix监控术语

在Zabbix监控提供系统中,有一些常用的术语,下面开始简单介绍以下:

1) 主机(host)

表示要监控的一台服务器或网络设备,可以通过IP或主机名来指定;

2)主机组(host group)

主机的逻辑组:包含主机和模板,但同一个主机组内的主机和模板没有任何直接的关系;主机组通常在给用户或用户组指派监控权限时使用;

3)监控项(item)

表示一个监控的具体对象,例如监控服务器的CPU负载、磁盘空间等。item是Zabbix进程数据收集的核心,相对某个监控对象,每个item都由"key"来标识;

4)触发器(trigger)

用于评估某监控对象接收到的数据是否在合理范围内;如果接收的数据大于阈值时,触发器的状态将从"OK"变为"Problem";当接收到数据低于阈值时,又将状态变为"OK"状态;

5)应用集(Applications)

一组监控组成的逻辑集合;

6)动作(action)

指对于监控中出现的问题事先定义的处理方法。例如发送通知、何时执行操作,执行的频率等;

7)报警媒介类型(media)

表示发送通知的手段,告警通知的途径。例如Email、邮件等;

8)模板(template)

一组可以被应用到一个或多个主机上的实体集合,一个模板通常包含了应用集、监控项、触发器、图形、聚合图形、自动发现机制、Web场景等几个项目;模板可以直接连接到某个主机;

模板时学习Zabbix的一个难点和重点,为了实现批量、自动化监控,通常会将具有相同特征的监控项汇总到模板中,然后在主机中直接引用即可,实现快速监控部署。

二、安装部署Zabbix监控平台

Zabbix的安装部署非常简单,官方提供四种安装途径,分别是二进制RPM包安装、源码安装、容器安装、虚拟机镜像安装。根据学习方式和运维经验。推荐使用源码安装zabbix server,通过RPM包安装Zabbix_agent。

Zabbix web端是基于Apache或Nginx服务和PHP脚本语言进行构建的,要求Apache的版本为1.3.12以上的版本、PHP的版本为5.4.0以上的版本,同时对PHP扩展包也有要求,例如GD要求2.0以上的版本、libXML要求2.6.15以上的版本。

Zabbix的数据存储支持多种数据库,比如Mysql、Oracle、PostgreSQL等,本次采用Mysql数据库。Zabbix对Mysql的要求必须是5.0.3以上的版本,同时需要InnoDB引擎。

1)部署LNMP环境

1)部署Nginx

本次使用nginx最新稳定版本1.14.1。

[root@zabbix ~]# yum -y install zlib pcre pcre-devel openssl openssl-devel[root@zabbix ~]# wget http://nginx.org/download/nginx-1.14.1.tar.gz[root@zabbix ~]# useradd -s /sbin/nologin www[root@zabbix ~]# tar zxf nginx-1.14.1.tar.gz -C /usr/src[root@zabbix ~]# cd /usr/src/nginx-1.14.1/[root@zabbix nginx-1.14.1]# ./configure --prefix=/usr/local/nginx --user=www --group=www \ --with-http_stub_status_module --with-http_ssl_module --with-pcre \ --with-http_gzip_static_module && make && make install[root@zabbix nginx-1.14.1]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
2)部署Mysql
[root@zabbix ~]# wget https://repo.mysql.com/mysql57-community-release-el7.rpm[root@zabbix ~]# rpm -ivh mysql57-community-release-el7.rpm [root@zabbix ~]# yum -y install mysql mysql-server mysql-devel[root@zabbix ~]# systemctl start mysqld[root@zabbix etc]# ss -lnt | grep 3306LISTEN     0      80          :::3306                    :::*

yum安装mysql数据库后,会随机生成一个临时的密码,可以通过以下命令进行查看:

[root@zabbix ~]# grep password /var/log/mysqld.log 2020-01-24T14:35:59.600458Z 1 [Note] A temporary password is generated for root@localhost: G#rbsu9r_Z6y[root@zabbix ~]# mysql -u root -pG#rbsu9r_Z6ymysql> set global validate_password_policy=0;mysql> set global validate_password_length=6;mysql> set password=password('123456');//更改密码为123456
3)安装PHP并优化
[root@zabbix ~]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel openldap openldap-devel[root@zabbix ~]# wget https://www.php.net/distributions/php-7.2.3.tar.gz[root@zabbix ~]# tar zxf php-7.2.3.tar.gz -C /usr/src[root@zabbix ~]# cd /usr/src/php-7.2.3/[root@zabbix php-7.2.3]# ./configure --prefix=/usr/local/php7 --enable-fpm \ --with-fpm-user=www --with-fpm-group=www --with-pdo-mysql=mysqlnd \ --with-mysqli=mysqlnd --with-zlib --with-curl --with-gd --with-gettext \ --enable-bcmath --enable-sockets  --with-jpeg-dir \ --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring \ --enable-xml --enable-session --enable-ftp --enable-pdo --enable-tokenizer \ --enable-zip && make && make install [root@zabbix php-7.2.3]# cp php.ini-production /usr/local/php7/lib/php.ini[root@zabbix php-7.2.3]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/[root@zabbix php-7.2.3]# vim  /usr/local/php7/lib/php.ini post_max_size = 16Mmax_execution_time = 300memory_limit = 128Mmax_input_time = 300date.timezone = Asia/Shanghai[root@zabbix php-7.2.3]# vim /usr/local/nginx/conf/nginx.conf        location ~ \.php$ {            root           html;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;            include        fastcgi_params;        }[root@zabbix etc]# cp php-fpm.conf.default php-fpm.conf[root@zabbix etc]# cp php-fpm.d/www.conf.default php-fpm.d/www.conf[root@zabbix etc]# systemctl daemon-reload[root@zabbix etc]# systemctl start php-fpm[root@zabbix etc]# nginx[root@zabbix etc]# ss -lnt | grep 9000LISTEN     0      128    127.0.0.1:9000                     *:*                  [root@zabbix etc]# ss -lnt | grep 80LISTEN     0      128          *:80                       *:*                  LISTEN     0      80          :::3306                    :::*

2)编译安装zabbix

1)安装zabbix
[root@zabbix ~]# yum -y install net-snmp net-snmp-devel curl curl-devel libevent libevent-devel[root@zabbix ~]# groupadd zabbix[root@zabbix ~]# useradd -g zabbix zabbix[root@zabbix ~]# wget  https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.0/zabbix-4.0.0.tar.gz[root@zabbix ~]# tar zxf zabbix-4.0.0.tar.gz -C /usr/src[root@zabbix ~]# cd /usr/src/zabbix-4.0.0/[root@zabbix zabbix-4.0.0]# ./configure --prefix=/usr/local/zabbix --with-mysql \ --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy \ --enable-java --with-libxml2 && make && make install[root@zabbix zabbix-4.0.0]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/[root@zabbix zabbix-4.0.0]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
2)创建数据库和初始化表

zabbix serve需要mysql数据库的支持!

[root@zabbix ~]# mysql -u root -p123456mysql> create database zabbix character set utf8 collate utf8_bin;mysql> grant all privileges on zabbix.* to zabbix@'192.168.1.%' identified by 'zabbix';mysql> flush privileges;[root@zabbix ~]# cd /usr/src/zabbix-4.0.0/database/mysql/[root@zabbix mysql]# mysql -u root -p123456mysql> source schema.sql;mysql> source images.sql;mysql> source data.sql;//导入zabbix源码包下对应的MySQL的sql语句
3)配置zabbix server端
[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.confListenPort=10051LogFile=/tmp/zabbix_server.logDBHost=192.168.1.10DBName=zabbixDBUser=zabbixDBPassword=zabbixListenIP=0.0.0.0StartPollers=5StartTrappers=10StartDiscoverers=10AlertScriptsPath=usr/local/zabbix/share/zabbix/alertscripts[root@zabbix ~]# cp /usr/src/zabbix-4.0.0/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server[root@zabbix ~]# cp /usr/src/zabbix-4.0.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd[root@zabbix ~]# chmod +x /etc/init.d/zabbix_server [root@zabbix ~]# chmod +x /etc/init.d/zabbix_agentd [root@zabbix ~]# chkconfig zabbix_server on[root@zabbix ~]# chkconfig zabbix_agentd on[root@zabbix ~]# /etc/init.d/zabbix_server start//启动过程中,如果因为libmysqlclient.so这个文件报错,导致无法启动,需进行以下操作[root@zabbix ~]# find / -name  libmysqlclient.so/usr/lib64/mysql/libmysqlclient.so[root@zabbix ~]# echo "/usr/lib64/mysql" >> /etc/ld.so.conf[root@zabbix ~]# ldconfig [root@zabbix ~]# /etc/init.d/zabbix_server start[root@zabbix ~]# ss -lnt | grep 10051LISTEN     0      128          *:10051                    *:*
4)部署zabbix agent

开启另一台服务器部署zabbix agent,zabbix agent采用RPM包的方式进行安装!

[root@agent ~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm[root@agent ~]# rpm -ivh zabbix-agent-4.0.0-2.el7.x86_64.rpm [root@agent ~]# vim /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pidLogFile=/var/log/zabbix/zabbix_agentd.logServer=192.168.1.10StartAgents=3ServerActive=192.168.1.10Hostname=192.168.1.8Include=/etc/zabbix/zabbix_agentd.d/*.confUnsafeUserParameters=1                  //启用agent端自定义item功能,设置参数为1,表示启用!可以使用UserParameter指令[root@agent ~]# systemctl start zabbix-agent
5)安装zabbix gui

需在zabbix server端进行操作!

[root@zabbix ~]#  cp -r /usr/src/zabbix-4.0.0/frontends/php/ /usr/local/nginx/html/zabbix

客户端访问测试:






解决方法如下:

[root@zabbix ~]#  ps -ef | grep php[root@zabbix ~]# chown -R www:www /usr/local/nginx/html/zabbix/

修改完成之后,刷新web页面,如图:



[root@zabbix ~]# zabbix_get -s 192.168.1.8 -p 10050 -k "system.uptime"//-s:指定zabbix agent端的IP地址;//-p:指定zabbix agent端的监听端口;//-k:指定监控项;//如果有输出结果,则表示zabbix server可以获取zabbix agent的数据,配置成功!

本地使用的windows系统,建议进行如下操作:控制面板→字体→楷体。将字体下载并上传到zabbix server上。

[root@zabbix ~]#  ls | grep simhei.ttfsimhei.ttf[root@zabbix ~]# sed -i 's/DejaVuSans/simhei/g' /usr/local/nginx/html/zabbix/include/defines.inc.php//其中simhei为字库名字,不用写ttf后缀。[root@zabbix ~]#  mv simhei.ttf /usr/local/nginx/html/zabbix/fonts///这样就可以避免出现中文乱码的问题

至此,zabbix监控平台已经搭建完成!

关于Zabbix运维监控平台如何快速搭建实录就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

监控 数据 主机 版本 进程 服务 配置 功能 数据库 模板 应用 信息 服务器 平台 代理 主动 客户 客户端 核心 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 北京路客互联网科技有限公司 融势互联网科技 广州凡科互联网科技 大白互联网科技 四川狮子座互联网科技 山东吉时兔互联网科技有限公司 科技赋能互联网健康 晓花互联网科技有限公司网址 健康食品互联网创新科技园项目 世界互联网领先科技成果获奖 互联网金融科技名词解释 徐州市互联网科技有限公司 杭州披云加互联网科技有限公司 东营紫格互联网科技 济南小医互联网科技有限公司招聘 昆明中奇联合互联网科技 互联网的黑科技实验室 中国主要互联网科技公司 广州全民伙伴互联网科技有限公司 湖北九亚互联网络科技有限公司 互联网 卓越科技 奇士达互联网科技 互联网 科技服务平台 上海宁丞科技互联网 互联网科技产业特征 成都互联网科技公司工作好不好 安徽零酒互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 知域互联网科技有限公司官网
0