Zabbix监控系统详解及配置

article/2025/9/16 10:01:08

前言

        作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。利用一个优秀的监控软件,我们可以:

  1. 通过一个友好的界面进行浏览整个网站所有的服务器状态;
  2. 可以在web前端方便的查看监控数据;
  3. 可以回溯寻找事故发生时系统的问题和报警情况。

目录

一、zabbix概述

1.zabbix是什么?

2.zabbix监控原理

3.监控对象

(1)zabbix server

(2)zabbix agent

(3)zabbix proxy

(4)zabbix get

(5)zabbix sender

二、部署zabbix服务端

三、部署 zabbix 客户端

四、监控模板

1.使用官方或已开发设计好的模板

2.自定义监控模板

(1)监控客户端主机登录人数

(2)监控nginx客户端状态信息

五、配置zabbix报警

1.设置报警媒介

2.在用户设置中指定报警媒介

3.指定报警的监控触发器

4.测试报警

六、配置zabbix服务端自动发现与自动注册

1.自动发现

2.自动注册

七、部署zabbix代理服务器

八、SNMP监控


一、zabbix概述

1.zabbix是什么?

        zabbix是一个基于 web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

        zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位、解决存在的各种问题。

        zabbix由两部分构成,zabbix server与可选组件zabbix agent。通过c/s 模式采集数据,通过b/s 模式在web端展示和配置。

        zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux等平台上。

        zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

2.zabbix监控原理

        zabix agent安装在被监控的主机上,zabiboix agent负责定期收集客户端本地各项数据,并发送至zabbix server端,zabbix server收到数据后,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。当zabbix监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括发送信息(邮件、微信、短信)、发送命令( shell命令、reboot、restart、install等)。

3.监控对象

        zabbix 监控部署在系统中,包含常见的五个程序:zabbix_server、zabix_agent、zabbix proxy、zabbix_get、zabix_sender等。

(1)zabbix server

        zabbix服务端守护进程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix _proxy的数据最终都提交给zabbix server;

(2)zabbix agent

        客户端守护进程,负责收集客户端数据,例如:收集CPU负载、内存、硬盘使用情况等;

(3)zabbix proxy

        zabbix分布式代理守护进程,通常大于500台主机,需要进行分布式监控架构部署;

(4)zabbix get

        zabbix 数据接收工具,单独使用的命令,通常在server或者 proxy端执行获取远程客户端信息的命令;

(5)zabbix sender

        zabbix数据发送工具,用户发送数据给 server或 proxy端,通常用户耗时比较长的检查。

二、部署zabbix服务端

zabbix 服务端 zabbix_server 默认使用 10051 端口

zabbix_server:192.168.116.60(内存至少 2G,推荐 4G)

1.关闭防火墙和selinux,设置服务器名称,同步时间

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server
su
ntpdate ntp.aliyun.com

2.下载zabbix和相关软件 

#获取 zabbix 的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
#更换 zabbix.repo 为阿里源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repoyum clean all && yum makecache
yum install -y zabbix-server-mysql zabbix-agent#安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /etc/opt/rh/ 目录下。
yum install -y centos-release-scl 

还需要修改一下zabbix源,开启前端环境下载

#安装前端环境
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl#安装 zabbix 所需的数据库
yum install -y mariadb-server mariadb
systemctl enable --now mariadb#初始化数据库
mysql_secure_installation

#导入数据库信息
zcat /usr/share/doc/zabbix-server-mysql-5.0.15/create.sql.gz | mysql -uroot -pabc123 zabbix

3.修改 zabbix server 配置文件,修改数据库的密码

vim /etc/zabbix/zabbix_server.conf 
......
DBPassword=zabbix       #124行,指定 zabbix 数据库的密码

4. 修改 zabbix 的 php 配置文件

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai      #24行,取消注释,修改时区

5.启动 zabbix 相关服务

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

6.浏览器访问zabbix:http://192.168.116.60/zabbix

可以点击主机查看图形化数据,但会出现中文乱码,需要导入字符集

#解决 zabbix-server Web页面中文乱码问题
yum install -y wqy-microhei-fonts
\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

三、部署 zabbix 客户端

zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
客户端 zabbix_agent2 默认使用 10050 端口。

zabbix_agent01:192.168.116.70

1. 关闭防火墙和selinux,设置服务器名称,同步时间

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01
su
ntpdate ntp.aliyun.com

2.下载zabbix客户端

#设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-agent2

3.修改客户端配置文件并开启

#修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.116.60			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.116.60		#120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			#131行,指定当前 zabbix 客户端的主机名#开启服务
systemctl enable --now zabbix-agent2.service

4.在服务端验证zabbix-agent2 的连通性

#安装 zabbix 主动获取数据的命令
yum install -y zabbix-get                #测试
zabbix_get -s '192.168.116.70' -p 10050 -k 'agent.ping'
zabbix_get -s '192.168.116.70' -p 10050 -k 'system.hostname'

5.新建客户端 

四、监控模板

1.使用官方或已开发设计好的模板

Browse Zabbix / Zabbix - ZABBIX GIT

Zabbix searcher - 900+ Zabbix projects: templates, scripts, integrations, ...

Zabbix community templates

2.自定义监控模板

(1)监控客户端主机登录人数

首先再客户端自定义键(这里演示的用于监控主机登录人数,阈值为3,大于3报警)

 在/etc/zabbix/zabbix_agent2.d/下新建.conf文件,在里面自定义键,格式为

UserParameter=<key>,<commend>

之后重启服务读取文件配置 systemctl restart zabbix-agent2.service

可以在服务端使用命令进行测试(当前登录数为4)

测试无误就可以添加自定义模板了

创建好模板,找到并进行配置 

创建配置应用集

创建配置触发器 

创建配置图形 

将模板添加到客户端中 

查看图形(监控到了登录人数)

(2)监控nginx客户端状态信息

客户端安装nginx,模拟监控nginx服务器

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1yum install nginx -y 

修改nginx配置文件/etc/nginx/conf.d/default.conf,打开状态统计

重启服务,查看状态统计页面

systemctl start nginx
curl -s 127.0.0.1/status

编写监控nginx状态信息脚本,获取以上值,并给执行权限

#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
HOST="localhost"
PORT=80
URL="status"
NGINX_COMMAND=$1
#检查nginx状态
nginx_check() {if [ -f /sbin/pidof ]; then/sbin/pidof nginx | wc -welseps aux | grep -v "grep" | grep -c "nginx:"fi
}
#nginx状态相关信息的值
nginx_active(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Active/ {print $NF}'
}nginx_reading(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Reading/ {print $2}'
}nginx_writing(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Writing/ {print $4}'
}nginx_waiting(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}nginx_accepts(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $1}'
}nginx_handled(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $2}'
}nginx_requests(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $3}'
}
#命令获取对应值
case $NGINX_COMMAND incheck)nginx_check;;active)nginx_active;;reading)nginx_reading;;writing)nginx_writing;;waiting)nginx_waiting;;accepts)nginx_accepts;;handled)nginx_handled;;requests)nginx_requests;;*)echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac

脚本测试无误

自定义监控变量,用于模板使用 

UserParameter=nginx.status[*],/etc/zabbix/zabbix_shell/zabbix_nginx.sh $1
#[*] 代表自定义变量nginx.status传入的值
#$1 代表前面变量传入的值作为此脚本执行的参数,获取对应状态值

重启服务systemctl restart zabbix-agent2.service,在服务端进行测试

测试无误,去前端自定义模板

五、配置zabbix报警

1.设置报警媒介

可以进行测试

2.在用户设置中指定报警媒介

3.指定报警的监控触发器

4.测试报警

        我们之前设置的报警触发器有一条是,当nginx进程为0,触发报警,所有我们可以模拟关闭nginx,看看是否能通过设置的报警媒介,收到zabbix的报警。

        当我们恢复这个问题,此问题便会消失

六、配置zabbix服务端自动发现与自动注册

1.自动发现

        zabbix 自动发现(对于 agent2 是被动模式)是zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。

首先添加一台客户端,安装好zabbix-agent2服务,修改配置文件指定服务端地址和客户端名称,然后开启服务

服务端和客户端都需要配置彼此的域名解析

2.自动注册

        zabbix 自动注册(对于 agent2 是主动模式),zabbix agent2 会主动上报自己的信息,发给 zabbix server。缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

先禁用自动发现,删除客户端02,做自动注册 

在客户端配置文件开启自动注册,然后重启服务

添加自动注册动作 

七、部署zabbix代理服务器

        配置zabbix代理,分担 server 的集中式压力,解决多机房之间的网络延时问题。

首先关闭防火墙,修改主机名,安装代理

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxyrpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-proxy-mysql zabbix-get

安装代理所需数据库,做初始化,密码设的是123123

yum install -y mariadb-server mariadb
systemctl enable --now mariadb
mysql_secure_installation

添加数据库和用户,授权,导入数据库表信息

mysql -uroot -p123123
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
quit
#退出后导入表数据
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.29/schema.sql.gz | mysql -uroot -p123123 zabbix_proxy

修改代理配置文件,然后启动服务

vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.116.60				#30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy					#49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix					#196行,指定当前数据库 zabbix 用户的密码systemctl start zabbix-proxy

修改agent 指向代理的地址

vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.116.40			#80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.116.40		#120行,指定 zabbix 代理服务器的 IP 地址

还需要在每台主机添加域名解析

之后去服务端指定代理 

创建客户端时添加代理 

之后依次重启server、proxy、client 服务

等待客户端全部亮起即可

八、SNMP监控

        使用SNMP简单网络管理协议,对网络中的资源进行管理和实时监控。

首先在需要监控的路由器、交换机上安装snmp(这里以server本机为例)

yum install -y net-snmp net-snmp-utils.x86_64systemctl start snmpd.service

然后去前端修改使用snmp 


http://chatgpt.dhexx.cn/article/BM70h7D9.shtml

相关文章

zabbix监控服务器性能,使用zabbix监控apache性能

文章目录 [隐藏] 原理 开启apache status 创建zabbix模板 原理 监控原理跟之前写的监控nginx差不多&#xff0c;都是利用web服务器自身提供的状态信息页获取运行状态信息。apache的监控状态信息如下&#xff1a; Total Accesses: 252523 Total kBytes: 2154830 CPULoad: 2.7200…

Zabbix 的监控原理

Zabbix 的监控原理 &#xff08;注&#xff1a;右侧为rabbi server、左侧为rabbi agentd Zambia server 会有一个rabbi web GUI (web页面)&#xff0c;然后管理员可以通过web页面来查看并管理它的监控平台&#xff0c;rabbi web GUI&#xff08;web页面&#xff09;的底层是apa…

zabbix监控原理及配置方法

1.zabbix简介 zabbix是一个基于WEB页面的提供分布式系统监控以及网络建时功能的企业级的开源解决方案&#xff0c;zabbix能监视各种网络参数&#xff0c;保证服务器系统的安全运营并提供灵活的的通知机制让管理员快速定位/解决存在的各种问题。zabbix主要由两部分组成zabbix se…

Zabbix监控部署及MySQL监控

Zabbix监控部署及MySQL监控 Zabbix监控软件可以用来做什么&#xff1f;zabbix 是什么&#xff1f;zabbix 监控原理zabbix监控部署在系统中的程序安装 zabbix 5.0需要准备的机器 部署zabbix服务端 zabbix-server 20.0.0.100修改配置文件&#xff0c;安装SCL、数据库等软件修改za…

部署zabbix监控

文章目录 zabbix监控部署zabbix服务端部署zabbix客户端自定义监控模板添加报警媒介 zabbix 自动发现与自动注册zabbix 自动注册&#xff08;对于 agent2 是主动模式&#xff09;部署 zabbix 代理服务器 zabbix监控 作为一个运维&#xff0c;需要会使用监控系统查看服务器状态以…

zabbix 监控

文章目录 1 zabbix 概述1.1 zabbix 监控原理 2 安装 zabbix 5.02.1 部署 zabbix 服务端2.2 部署 zabbix 客户端 3 自定义监控内容4 zabbix自动发现与自动注册4.1 zabbix 自动注册&#xff08;对于agent2是主动模式&#xff09; 5 部署 Zabbix 代理服务器6 配置 agent 使用 prox…

Zabbix实现系统监控原理

简介 Zabbix是一款开源分布式集群监控软件&#xff0c; 能够监控服务器、交换机等各种硬件设备。 Zabbix实现系统监控 采样&#xff1a;周期性的获取某个被监测指标的相关数据。存储&#xff1a;将采集到的数据存储在指定的存储系统中&#xff0c;Zabbix默认是MySQL。展示&a…

Zabbix 监控原理及架构(了解zabbix)

文章目录 什么是Zabbix&#xff1f;监控功能为什么需要对各类系统进行监控&#xff1f;Zabbix是如何实现系统监控的&#xff1f;一个完整的监控系统所需指标&#xff1a;Zabbix支持的数据采集协议&#xff1a;Zabbix的常用组件&#xff1a;Zabbix架构图&#xff1a;Zabbix逻辑组…

Zabbix监控原理及架构

Zabbix监控原理及架构 什么是Zabbix&#xff1f; Zabbix是一个用于网络&#xff0c;操作系统和应用程序的开源监控软件&#xff0c;它旨在监视和跟踪各种网络服务&#xff0c;服务器和其他网络硬件的状态。 为什么需要对各类系统进行监控&#xff1f; 在系统构建时的正常流…

ZABBIX 监控原理及架构

什么是Zabbix&#xff1f; zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。&#xff08;LAMP架构&#xff09; zabbix 能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供灵活的通知机制以让系统管理员快速定…

Zabbix监控原理

Zabbix监控完整流程包括&#xff1a;Agentd安装在被监控的主机上&#xff0c;Agent负责定期收集客户端本地各项数据&#xff0c;并发送到Zabbix Server端&#xff0c;Zabbix Server收到数据&#xff0c;将数据存储到数据库中&#xff0c;用户基于Zabbix WEB可以看到数据在前端展…

zabbix详解(二)——zabbix工作原理

今天继续给大家介绍Linux运维相关知识&#xff0c;本文主要内容是zabbix的工作原理。 一、zabbix工作流程 zabbix在进行监控时&#xff0c;zabbix客户端要安装在被监控设备上&#xff0c;负责定期收集数据&#xff0c;并将其发送给zabbix服务端&#xff1b;zabbix服务端要安装…

【Zabbix监控一】zabbix的原理与安装

目录 一、监控介绍 1、监控目的 2、监控方法 3、监控核心 二、zabbix概述 1、zabbix的主要特点 2、Zabbix是什么 3、zabbix监控对象 4、Zabbix架构 4.1 server-client架构 4.2 server-proxy-client架构 4.3 master-node-client架构 4.4 zabbix支持的监控内容 5、…

Zabbix原理

文章目录 1、Zabbix简介&#xff1a;2、为什么需要对各类系统运行进行监控&#xff1f;3、Zabbix是如何实现系统系统监控的4、Zabbix监控工作原理&#xff1a;5、Zabbix支持的数据采集协议&#xff1a;6、Zabbix常用组件&#xff1a;7、常见进程&#xff1a;8、Zabbix逻辑组件&…

态势感知与安全运营平台详细介绍

态势感知与安全运营平台以大数据平台为基础&#xff0c;通过收集多元、 异构的海量日志&#xff0c;利用关联分析、机器学习、威胁情报等技术&#xff0c;帮助 企业持续监测网络安全态势&#xff0c;实现从被动防御向积极防御的进阶&#xff0c;为 安全管理者提供风险评估和应急…

网络安全运营能力建设

一、安全运营能力建设的意义 安全运营成为网络运营者持续不断思考、优化的命题与活动。安全运营是一系列规则、技术和应用的集合&#xff0c;用以保障组织核心业务平稳运行的相关活动&#xff1b;是通过灵活、动态的实施控制以期达到组织和业务需要的整体范围可持续性正常运行。…

安全运营项目的工作方法

安全运营是工作的一部分安全工作的逻辑 安全团队是怎么运作的定义安全运营项目项目运营的要点 计划的计划风险的风险运营方案尽量要评审过程的过程做到有法可依沟通和组织进度的监控明确闭环标准项目集的管理怎么去开会 准备的准备会前会中会后复盘的复盘PPT和WORD帮助别人开会…

第16章 安全运营管理

16.1 应用安全运营概念 16.1.1 知其所需和最小特权 任何安全IT环境需要遵循的两个标准原则分别是知其所需和最小特权原则。 这两个原则通过限制对资产的访问来帮助保护有价值的资产。 知其所需的重点是权限和访问信息的能力&#xff0c;而最小特权原则侧重于特权。 1. 知其…

数据安全运营体系建设

安全运营是由多个独立的工作子集形成&#xff0c;通过建立整体性&#xff08;通用性&#xff09;的工作机制&#xff0c;将独立个体进行有效串联&#xff0c;从而形成整体的、持续性的、可监管性的工作过程。安全运营是保障业务在安全环境下稳定运行的基础。数据安全作为组织整…

以安全有效为目标的综合运营

一、安全行业的现状 所有做安全的方案大多会在开始介绍安全的案例&#xff0c;都会列举近期国内外发生的重大安全事件&#xff0c; 基本上都是惨不忍睹&#xff0c;危害巨大。这里就不一一列举了&#xff0c;稍微了解这个行业的人都能看到大量的案例。 但业界又有个很奇怪的现象…