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

article/2025/9/16 11:13:28

目录

一、监控介绍

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常用术语

6、Zabbix的工作原理

7、Zabbix监控部署的常见5个程序

三、Zabbix安装

1、Zabbix服务端部署软件

1.1、获取zabbix下载源

1.2 把zabbix源换成aliyun源 

1.3 安装zabbix服务端响应软件

1.4 安装SCL

1.5 安装部署zabbix所需要的数据库

1.5.1 安装zabbix数据库和初始化以及授权

1.5.2 导入数据库信息 

1.6 修改zabbix_server配置文件,修改数据库密码

1.7 修改zabbix的php配置文件

1.8 启动zabbix相关服务

1.9 浏览器访问

2、部署zabbix客户端

2.1 服务端和客户端都要配置时间同步

2.2 安装zabbix客户端zabbix-agent2

2.3 启动zabbix-agent2,并验证联通性

2.3.1 在服务端验证连通性(服务端操作) 

2.4 在web页面添加agent主机


一、监控介绍

1、监控目的

监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用。

对系统不间断时实监控

实际上是对系统不间断的时实监控

实时反馈系统当前状态

我们监控某个硬件、或者系统,都是需要能时实看到当前系统的状态,是正常、异常、或是故障。
保证服务可靠性安全性

我们监控的目录就是要保证系统、服务、业务正常运行
保证业务持续稳定运行

如果我们的监控做的很完善,即使出现故障,能第一时间接收到故障报报警,在第一时间处理解决,从而保证业务持续性的稳定运行。

2、监控方法

了解监控对象

了解CPU是如何工作的。
性能基准指标

我们要监控这个东西的什么属性?比如如CPU的使用率、负载、用户态、内核态、上下文切换。
报警阈值定义

怎么才算是故障,比如CPU的负载到底多少算高?内核态,用户态分别跑多少算高?
故障处理流程

收到了故障报警,那么我们怎么处理?

3、监控核心

发现问题

当系统发生故障报警,我们会收到故障报警的信息。
定位问题

故障邮件一般都会写某某主机故障、具体故障的内容,我们需要对报警内容进行分析,比如一台服务器连不上:我们就需要考虑是网络问题、还是负载太高导致长时间无法连接,又或者某开发触发了防火墙禁止的相关策略等等,我们就需要去分析故障具体原因。
解决问题

当然我们了解到故障的原因后,就需要通过故障解决的优先级去解决该故障。
总结问题

当我们解决完重大故障后,需要对故障原因以及防范进行总结归纳,避免以后重复出现。

二、zabbix概述

1、zabbix的主要特点

安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及WEB集中管理功能
可以无agent监视
用户安全认证和柔软的授权方式
通过WEB界面设置或查看监视结果
email等通知功能等等

2、Zabbix是什么

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

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

Zabbix由两部分构成,Zabbix server与可选组件 Zabbix agent 。通过C/S模式采集数据,再通过B/S模式在web端展示和配置。

Zabbix server 可以通过SNMP,Zabbix agent,ping ,端口监视等方法提供对远程服务器够/网络状态的监视,数据收集等功能,它可以运行在linux平台上。
Zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集,以及中间件的信息。

3、zabbix监控对象

zabbix支持监控各种系统平台,包括linux和windows等主流操作系统,也可以借助SNMP或者SSH协议监控路由交换设备。

zabbix如果部署在服务器上,可以监控其CPU、内存、网络等硬件参数,也可以监控具体服务或者应用程序,服务运行情况及性能

① 硬件监控(zabbix IPMI interface)

通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控备监控的对象的物理特征,比如电压、温度、风扇状态、电源状态等。
② 系统监控(zabbix agent interface)

通过专用的代理程序进行监控,与常见的master/agent模型类型,如果监控对象支持对应的agent,推荐选这种方式。
③ java监控(zabbix JMX interface)

通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JMX虚拟机时,使用这种方法非常不错的选择。
④ 网络设备监控(Zabbix SNMP Interface )

通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。
⑤ 应用服务监控Zabbix Agent UserParameter

⑥ MySQL数据库监控:percona-monitoring-plulgins

⑦ URL监控:Zabbix Web 监控

4、Zabbix架构

4.1 server-client架构

① 也就是zabbix的最简单的架构

② 监控机器和被监控机器之间不经过任何处理

③ 直接由zabbix-server和zabbix-agent之间进行数据交换。

④ 适用于网络比较简单,尽量在局域网内,设备比较少的监控环境。

4.2 server-proxy-client架构

① 其中proxy是server、client之间沟通的一个桥梁

② proxy本身没有前端,而且本身并不存放数据,只是将agentd发来的数据暂时存放,然后再交给server。

③ 该架构经常是和master-node-client架构做比较。一般适用于跨机房、跨网络的中型网络架构的监控。

4.3 master-node-client架构

① 该架构是zabbix最复杂的监控架构,使用于跨机房、跨网络设备较多的大型环境。每一个node都会同步server端。相当于也是一个server端

② node下面可以接proxy,也可以直接接clinet。

③ node有自己的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,master的故障或损不会对影响node节点的正常工作,但是会影响zabbix-server整体的完整性。

4.4 zabbix支持的监控内容

① 硬件
电源状态、cpu温度、机器温度、风扇。
物理磁盘、raid、内存状态、网卡状态等。
② 软件
HTTP接口、RPC接口的请求量、耗时、异常量等。

JVM上的线程数、死线程数、活跃线程数、GC耗时等。

(GC是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。)
线程池、连接池的连接数、线程数、拒绝任务、任务耗时等。

日志和业务指标,包括错误日志、访问日志、订单量、PV流量等。

③ 数据
数据库连接、QPS、TPS
并行会话数、缓存数、锁状态等
Nginx的活跃、丢弃、等待连接数、错误等
Tomcat上的线程数、请求量、耗时、内存消耗等
缓存、内存消耗、内存碎片、消息队列等数据

5、zabbix常用术语

主机(host)

要监控的设备,可以有ip或是主机名(必须可解析)指定。
主机组(host group)

主机的逻辑容器,包含主机和模板,主机通常在给用户或是用户组指派监控权限时使用。
监控项(item)

一个特定指定的相关数据,比如内存的大小,CPU的使用率,甚至是服务的运行状态等,监控项数据来源于被监控对象,并且每一个监控项都由一个key值来标识。
触发器(trigger)

一个表达式,用于评估监控的值是否在合理的范围,当接收的值超出触发器的规定时,就被认为是故障,如果超出后再次符合,就被认为是正常。
事件(event)

触发器触发的一个特定时间,或者zabbix定义的一个自定上限注册主机的事件,。
动作(action)

指根据配置,zabbix对于触发器触发的特定时间进行处理的具体措施,如执行某个脚本,或是向管理员邮箱发送邮件等等
报警升级(escalation)

发送警报或是执行远程命令的自定义方案。
媒介(media)

发送通知(告警)的手段,比如:电话,微信,邮件,短信,企业微信,钉钉,等等
通知(notification)

通过指定媒介,向用户发送的有关事件的信息
远程命令

指运维人员提前写好的命令,可以让被监控主机在触发事件后执行。
模板(template)

用于快速被监控主机的预设条目结合,通常包括了监控项、触发器、应用等,模板可以直接连接到某个主机
应用(application)

一组监控的集合
web场景(web scennario)

用于检测web站点可用性的一个或多个HTTP请求
前端(frontend)

zabbix的web接口

6、Zabbix的工作原理

Zabbix agent 安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发至 Zabbix server端,zabbix server收到数据后,将数据存储到数据库中。

用户基于Zabbix Web可以看到数据在前端展现图像。

当Zabbix监控监控某个具体项目,该项目会设置一个触发器阈值,当被监控的指标超过触发器设定的阈值,会进行一些必要的动作,动作包括: 发送信息(邮件、微信、短信、电话,钉钉)、发送命令(shell命令、rebbot、restart、install等)

当告警后,根据告警机制可以先自动处理(比如使用shell脚本启动nginx服务等),自动处理不了的,就会通知对应的运维人员进行处理。

原理总结

zbbix_server 服务端可以通过主动或被动的方式获取到zabbix_agent客户端的数据,zabbix_server拿到数据后进行分析,存放到自己的数据库中,zabbix再将数据给到web_server,然后用户通过client访问web_server的UI界面访问

7、Zabbix监控部署的常见5个程序

Zabbix监控部署在系统中,包含常见五个程序:zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender等

① zabbix_server

zabbix服务端守护进程,其中zabbix_agent、zabbix_get、zabbix_sender、azbbix_proxy的数据最终都交给zabbix_server。
② zabbix_agent

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

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

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

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

三、Zabbix安装

Zabbix-server 硬件内存至少2G,推荐4G

1、Zabbix服务端部署软件

1.1、获取zabbix下载源

获取zabbix的下载源

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

1.2 把zabbix源换成aliyun源 

cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
yum clean all && yum makecache

 

1.3 安装zabbix服务端响应软件

yum install -y zabbix-server-mysql zabbix-agent

1.4 安装SCL

安装SCL(software Collections),便于后续安装高版本的php,默认yum安装php版本为5.4,版本过低,因为zabbix 5.0版本对php版本最低要求7.2.0版本。SCL可以使得在同一台及其上使用多个版本的软件,而又不会影响整个系统的依赖环境,软件包会安装在/opt/rh目录下。

yum install -y centos-release-scl
#安装SCL

vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
......
enabled=1  #开启安装源
......

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
#将前端环境安装达到SCL下   安装mysql和httpd

1.5 安装部署zabbix所需要的数据库

1.5.1 安装zabbix数据库和初始化以及授权

yum install -y mariadb-server mariadb
systemctl enable --now mariadb
#安装mariadb数据库并启动  开机自启

mysql_secure_installation
#初始化数据库(后=后面全部输入y),并设置密码,如:123456

mysql -u root -p123456 
#登录数据库

create database zabbix character set utf8 collate utf8_bin;
#创建zabbix库,使用utf8字符集编码

grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';
#授权权限,zabbix用户可以使用密码zabbix从任意主机登录,且拥有zabbix库的所有权限

flush privileges;
#刷新授权表

1.5.2 导入数据库信息 

rpm -ql zabbix-server-mysql
#查询mysql文件的位置

zcat \ 
/usr/share/doc/zabbix-server-mysql-5.0.28/create.sql.gz | \
mysql -uroot -p123456 zabbix
#zcat压缩状态下查看,然后将压缩的文件导入到zabbix库中

mysql -u root -p123456
use zabbix;
show tables;
#查看zabbix数据库中是否有文件导入

1.6 修改zabbix_server配置文件,修改数据库密码

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

1.7 修改zabbix的php配置文件

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

1.8 启动zabbix相关服务

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

#服务包含(zabbix_server、zabbix_agent、httpd、php)

netstat -natp | grep 10051  #zabbix_server端口

netstat -natp | grep 10050 #zabbix_agent端口

1.9 浏览器访问

浏览器访问:http://192.168.100.11/zabbix
点击下一步,设置数据库的密码 zabbix
安装完成后,默认的登录账号和密码为:Admin/zabbix
设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。

输入数据库登录密码下一步 

确认信息下一步 

安装完成 

登录zabbix前端界面 

用户名  Admix 

密码 zabbix

 查看zabbix的最新数据

 

图表画面发现存在乱码解决方法

yum install -y wqy-microhei-fonts 下载插件

\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

在cp前面加  \ 是强制

2、部署zabbix客户端

zabbix 5.0 版本采用golang语言开发的新版本客户端agent2。

zabbix服务端zabbix_server默认使用10051端口,客户端zabbix_agent2默认使用10050端口。

2.1 服务端和客户端都要配置时间同步

yum -y install ntpdate
ntpdate -u ntp.aliyun.com

客户端

 

mv /etc/localtime{,.bak} 备份
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#设置时区

2.2 安装zabbix客户端zabbix-agent2

配置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.repo

#修改为阿里云源

yum clean all && yum makecache
#删除缓存和重新加载

yum install -y zabbix-agent2
#安装zabbix-agent2

修改agent2配置文件 

cp /etc/zabbix/zabbix/zabbix_agent2.conf{,.bak} 备份

vim /etc/zabbix/zabbix_agent2.conf时

Server=192.168.100.11    #80行,指定zabbix服务端ip
ServerActive=192.168.100.11  #124行,指定zabbix服务端ip 
Hostname=zbx-agent01     #133行,设置客户端主机名

2.3 启动zabbix-agent2,并验证联通性

启动zabbix-agent2

systemctl start zabbix-agent2.service 

systemctl enable --now zabbix-agent2
netstat -natp |grep 10050

2.3.1 在服务端验证连通性(服务端操作) 

yum -y install zabbix-get.x86_64
#服务端安装zabbix主动获取数据的命令  下载数据接收工具 

zabbix_get -s '192.168.100.12' -p 10050 -k 'agent.ping'
#-k指定键,如果返回1,则表示能ping通    测试客户端连通性

zabbix_get -s '192.168.100.12' -p 10050 -k 'system.hostname'
#获取客户端的主机名

zabbix_get -s '192.168.100.12' -p 10050 -k 'system.uname'
#获取客户端的内核版本

2.4 在web页面添加agent主机

点击左边菜单栏【配置】中的【主机】,点击【创建主机】

{---------------------------------
【主机名称】设置成 gang12

 

【可见的名称】设置成 gang12-192.168.100.12

【群组】选择 Linux servers

【Interfaces】的【IP地址】设置成 192.168.100.12

再点击上方菜单栏【模板】
------------------------------------}

【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent

点击 【添加】

 


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

相关文章

Zabbix原理

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

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

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

网络安全运营能力建设

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

安全运营项目的工作方法

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

第16章 安全运营管理

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

数据安全运营体系建设

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

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

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

安全运营之资产安全信息管理

安全风险管理的三要素分别是资产、威胁和脆弱性,脆弱性的存在将会导致风险,而威胁主体利用脆弱性产生风险。网络攻击主要利用了系统的脆弱性。由于网络管理对象(资产)自身的脆弱性,使得威胁的发生成为可能,…

信息安全工程与运营

思维导图: 信息安全工程与运营内容子域:内容安全、社会工程学与培训教育、系统安全工程基础、系统安全成熟度模型(CMM模型)、安全运营 一、系统安全工程基础-针对乙方 良好的安全工程的四个方面:动机(做…

安全运营之漏洞管理

1947年冯诺依曼建立计算机系统结构理论时认为,计算机系统也有天生的类似基因的缺陷,也可能在使用和发展过程中产生意想不到的问题。20世纪七八十年代,早期黑客的出现和第一个计算机病毒的产生,软件漏洞逐渐引起人们的关注。在各种…

数据安全运营平台介绍

以“可实用、可持续”为设计初衷,“一站式、体系化”的数据安全运营管控平台。 可集合包括数据资产梳理、数据库防火墙、数据库审计、数据脱敏、数据库运维管理、数据库加密等在内的各类数据安全产品优势于一身,通过可视化的信息呈现与工作引导&#xf…

三分建设,七分运营|用现代化安全运营应对数据安全风险

近日,华为网络安全治理论坛在华为全联接大会2022期间举办,论坛以“共筑安全可信,护航数字化转型”为主题,汇聚业界专家学者、行业精英等,共同探讨在行业数字化转型下,网络安全与隐私保护的应对之道与未来机…

安全工程与运营

安全工程与运营 系统安全工程系统安全工程重要性安全工程系统安全工程理论基础 成立成熟度模型、系统安全工程能力成熟度模型能力成熟度模型(Capability Maturity Model)能力成熟度模型基本思想系统安全工程能力成熟度模型SSE-CMM的作用SSE-CMM体系结构域…

安全运营是做什么的?企业如何改进安全运营和安全分析水平

2017年安全预算持续走高,通常情况下,这些花销被用于提高安全运营水平。根据最近发布的ESG环境、社会和治理研究,81%的网络安全专家认为企业应优先改善安全分析和运营水平。 什么是安全运营? 在企业信息安全建设初期,安…

我理解的安全运营

曾经,安全圈把从业人员分成剑宗和气宗。剑宗是掌握一些招式,不需要长年累月的积累“内力”,有时候就能出奇制胜,搞Web安全的“脚本小子”被划为这一类,而气宗因为需要从汇编、编译原理等晦涩的知识开始,学习…

安全运营和应急响应详解

一、网络安全运营 1、什么是安全运营 在安全运维的基础上,高效持续的提升企业安全防御能力,实现可视化监控、自主防御,能够发现安全问题、分析安全问题、解决安全问题。 2、为什么需要安全运营 预防网络攻击,保障内网安全,数据安全,满足国家等保护要求。 3、安全运营…

ERP之主生产计划MPS

目录 目录 主生产计划 5.1 主生产计划的定义 5.1.1 概念 5.1.2 MPS输入/输出逻辑 5.1.3 MPS报表 5.1.4 MPS在ERP中的层次关系 5.2 主生产计划的重要性 5.3 编制MPS报表的相关概念 1、提前期 2、计划展望期和计划时段 3、时区和时界 5.4 MPS计划对象与计划方法 5.5…

好用的生产型企业ERP系统有哪些?

一、好用的生产型企业ERP系统有哪些? 目前而言,制造型想要部署一款好用的ERP系统,通常可以从2个方向来考虑: 第一方向:传统IT软硬件。比如:传统ERP厂商SAP; 第二方向:与新一代数字…

适合制造业的ERP系统有哪些? 制造业的ERP对企业有什么作用?

在当前的激烈的市场竞争下,制造企业如果想要长期稳定地发展,除了需要把外部因素做好把控,还需要提升企业自身的管理水平,来提高自己的竞争力,而信息化是企业发展的必经之路。 适合制造业的ERP系统在企业管理中起到了至…

ERP生产管理软件(针对五金机械行业)

信华生产管理软件 流程如下: 五金机械行业是传统的加工行业,基本上是把金属等原材料分割,然后经过车、铣、刨、磨或者冲压、折弯等加工工艺,部件装配,最后装配成成品出厂。 五金机械行业普遍存在有以下管理问题&a…