Zabbix 监控(内容详细 供您参考)

article/2025/11/8 1:44:32

目录

一、Zabbix简介

1.1 Zabbix概述

1.2 Zabbix 监控原理

1.3 zabbix监控部署在系统中,包含常见的五个程序

二、部署zabbix服务端

三、部署zabbix 客户端

 在 Web 页而中添加 agent 主机

四、自定义监控内容

1.明确需要执行的linux命令

2.创建zabbix的监控项配置文件,用于自定义key

3.在服务端验证新建的监控项

 五、 在Web页面创建自定义监控项模板

1.创建模板

2.创建应用集(用于管理监控项的)

3.创建监控项

4.创建触发器

 5. 创建图形

 六、设置邮件报警

七、zabbix 自动发现与自动注册

1.确保客户端上的 zabbix-agent2服务状态正常

2.在 Web 页面删除原有的客户端主机

3.在服务端和客户端上配置 hosts 解析

4.在 Web 页而配置自动发现

八、zabbix 自动注册

1.环境准备

2.修改 zabbix-agent2 配置文件

3.在 Web 页而配置自动注册

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

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

一、Zabbix简介

1.1 Zabbix概述

  • zabbix是一个基于Web界而的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
  • zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  • zabbix由2部分构成,zabbix server与可选组件zabbix agent。通过C/S模式采集数据,通过B/S 模式在Web端展示和配置。
  • zabbix server 可以通过SNMP,zabbix agent, ping, 端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux等平台上。
  • zabbixagent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

1.2 Zabbix 监控原理

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

1.3 zabbix监控部署在系统中,包含常见的五个程序

zabbix_ server. zabbix_ _agent、zabbix_ _proxy、zabbix_get、zabbix_sende

  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. zaabix sender: zabbix 数据发送工具,用户发送数据给server 或proxy端,通常用户耗时比较长的检查。

二、部署zabbix服务端

zabbix-server内存至少2G,推荐4G;

systemctl disable --now firewalld
setenforce 0
hostnamectl set -hostname zbx-server

 

 

//获取zabbix 的下载源
rpm -ivh https://mirrors. aliyun. com/ zabbix/zabbix/5.0/rhe1/7/x86 64/zabbix- release-5.0-1.e17。noarch. rpm
//更换zabbix.repo 为阿里源
cd /etc/yum. repos.d
sed -i 's#bttp://repe .zabbix. comhttps:/ /mirrors .aliyun。com/zabbix#' zabbix. repo
yum 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 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在/opt/rh目录下。

yum install -y centos- release-scl

//修改zabbix- front前端源,安装zabbix 前端环境到scl环境下
vim zabbix. repo
[zabbix- frontend]

 将前端的仓库打开  设置为1

 使用mysql数据库 

 

 

 

 

//添加数据库用户,以及zabbix所而的数据库信息
mysql -u root -pabc123CREATE DATABASE zabbix character set utf8 collate utf8_ bin;
GRANT all ON zabbix.* TO ' zabbix'@'&' IDENTIFIED BY 'zabbix' ;
flush privileges;//导入数据库信息
rpm -ql zabbix-server -mysql#查询sql文件的位置
zcat /usr/share/doc/ zabbix- server -mysq1-5.0.15/create.sq1.gz | mysql -uroot -pabc123 zabbix//修改zabbix server 配置文件,修改数据库的密码
vim /etc/ zabbix/ zabbix_ server . conf
DBPassword= zabbix
#124行,指定zabbix 数据库的密码//修改zabbix 的php配置文件
vim /etc/opt/ rh/ rh-php72/php- fpm. d/ zabbix. conf
php_ value [date. timezone] = Asia/ Shanghai   #24行,取消注释,修改时区

 

 

 

 

 

/启动zabbix 相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

浏览器访问: http://192.168.80.20/ zabbix
点击下一步,设置数据库的密码zabbix
安装完成后,默认的登录账号和密码为: Admin/ zabbix
设置文件界面:点击左边菜单栏的[User settings] ,[ Language] 选择Chinese(zh_ CN), 再点击Update 更新。/解决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服务端zabbix_ server 默认使用10051 端口,客户端zabbix_ agent2 默认使用10050 端口。

systemctl disable --now firewalld 
setenforce 0
hostnamectl set -hostname zbx- agent01

 

//服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp. aliyun. com

 

 

 

 

 

 

//客户端配置时区,与服务器保持一致
mv /etc/localtime{, .bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/ localtime

 

 

//改置zabbix 的下载源,安装zabbix- agent2
rpm -ivh https:/ /mirrors. aliyun. com/ zabbix/zabbix/5.0/rhel/7/x8664/zabbix- release = 5.0-1。el7. noarch. rpmcd /etc/yum. repos.d
sed -i 's#http://repe. zabbix。com#https; //mirrors. aliyun。com/ zabbix#' /etc/yum. repos . d/zabbix . repoyum install -y zabbix- agent2

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

 

 

 

netstat -natp | grep zabbix
tcp6       0        0 :::10050            :::*               LISTEN              43654/zabbix_agent2

 

//在服务端验证 zabbix-agent2 的连通性
yum install -y zabbix-get                   #安装 zabbix  主动获取数据的命令zabbix_get -s '192.168.80.30' -p 10050 -k 'agent.ping'
1zabbix_get -s '192.168.80.30' -p 10050 -k 'system.hostname'
zbx-agent01

 

 在 Web 页而中添加 agent 主机

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01-192.168.130.132
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成192.168.130.132

右上角有个创建选项

 

 

 

 

 

四、自定义监控内容

案列:自定义监控客户端服务器登录的人数

需求:限制登录人数不超过3个,超过3个就发出报警信息

在客户端创建自定义key

1.明确需要执行的linux命令


who | wc -l

 

2.创建zabbix的监控项配置文件,用于自定义key


vim /etc/ zabbix/ zabbix_ agent2. conf
#可以将自定义的监控项配置文件创建在zabbix_ agent2.d目录中
268 Include= /etc/zabbix/zabbix_ agent2.d/* .conf
#自定义监控项的格式如下
291 #
Format: UserParameter=<key>, <shell command>cd /etc/ zabbix/zabbix_ _agent2.d/vim UserParameter_ login. conf
UserParameter=login.user, who | wc -1 
systemctl restart zabbix- agent2

 

 

 

3.在服务端验证新建的监控项


zabbix_ get -s '192.168.80.30' -p 10050 -k ' login.user'

 

 五、 在Web页面创建自定义监控项模板

1.创建模板

点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了

 

 

2.创建应用集(用于管理监控项的)

点击上方菜单栏【应用集】,点击【创建应用集】
【名称】设置成 Login User
点击【添加】

 

 

 

3.创建监控项

点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成login.user              #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成10s
【历史数据保留时长】storage period 30d       #保留时间可自定义设置
点击【添加】

 

 

 

 

4.创建触发器

(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重

 

 

 

 5. 创建图形

 

 

 

 

 

 

 

 六、设置邮件报警

【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】 设置成 qq.com
【SMTP电邮】设置成自己的邮箱地址,例如 qwe45456@qq. com
【认证】选择用户名和密码
【用户名称】设置成自己的邮箱地址,例如 qwe45456@qq. com
【密码】可登录QQ邮箱页而,点击【设置】-->【账户】中的【生成授权码】,通过短信获取授权码
【描述】可自定义
点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
点击【添加】,并测试功能

 

 

 密码为授权码

 

 

 

 

 

 

 

 

 

点击左边菜单栏【User settings】 --> 【报警媒介】,点击【添加】
【类型】选择qq_Email
【收件人】设置成 qwe4546456@wo.cn
【当启用时】设置成 1-7,00:00-24:00
点击【添加】
再点击【更新】

 

 

点击左边菜单栏【配置】中的【动作】
选择相对应的动作名称点击进入,点击【添加】
【类型】选择触发器,【触发器】点击选择 Nunber of login users is greater than 3
点击【启用】

 

//测试邮件报警
增加测试客户端的用户登录数超过触发器预设的值,查看【监测】-->【仪表盘】,确认报警

 

 

 

 

 

 

 

七、zabbix 自动发现与自动注册

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

1.确保客户端上的 zabbix-agent2服务状态正常

systemctl is-active zabbix- agent2.service
active

 

2.在 Web 页面删除原有的客户端主机

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

 

 

3.在服务端和客户端上配置 hosts 解析

vim /etc/hosts
192.168.80.20 zbx-server
192.168.80.30 zbx-agent01

两台都要输入

 

4.在 Web 页而配置自动发现

点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
【名称】设置成 mynetwork
【IP范围】设置成 192.168.80.1-254
【更新间隔】设置成 30s
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端, 【端口范围】设置成 10050, 【键值】设置成 system.uname
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选【已启用】 ,点击【更新】点击左边菜单栏【配置】中的【动作】,上方菜单选择【Discovery actions】
勾选【Auto discovery. Linux servers.】 ,点击【启用】点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机可在服务端查看 zabbix 日志
tail -f /var/log/ zabbix/zabbix_server.log
......6601:20210922:225044.115 enabling Zabbix agent checks on host "zbx-agent01": host became available

 

 

 unname 查看内核

 

 

 

 

 

 

 自动可用

 

八、zabbix 自动注册

(对于 agent2 是主动模式)

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

1.环境准备

点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

 

vim /etc/hosts
192.168.80.20 zbx-server
192.168.80.30 zbx-agent01

2.修改 zabbix-agent2 配置文件

vim /etc/zabbix/ abbix_agent2.conf
......
HostnameItem=system.hostname        #139行,取消注释egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile-/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.80.20
ServerActive=192.168.80.20
Hostname=zbx-gent01
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

 

 

 

3.在 Web 页而配置自动注册

点击左边菜单栏【配置】中的【动作】,上方菜单选择【Autoregistration actions】,点击【创建动作】
【名称】设置成 Auto registration
点击【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent01
点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击【add】
再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers, 点击【add】

 

 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/51HsNMcu.shtml

相关文章

EF框架实现增删改查

EF框架实现增删改查 1.创建数据库&#xff1a;先创建两张表&#xff0c;文章类型表以及文章详情表&#xff0c;设置主外键&#xff08;ID&#xff0c;Catelogid&#xff09; Catelog:文章类型表 字段&#xff1a;Id&#xff08;自增&#xff09;&#xff0c;Name&#xff0c…

【EF框架】EF框架的开发方法

前言 EF框架具有有三种数据持久化的方式&#xff0c;分别为Code First,Model First,Database First.看一下它们都有什么联系&#xff1f; 叙述 EF框架的三种工作方式 1.Database First是基于已存在的数据库&#xff0c;利用某些工具&#xff08;如VS提供的EF设计器&#xff09…

使用EF框架

1.创建一个控制台项目 2.创建一个EF框架 3.查询出一个表中得到所有元素 static void Main(string[] args){//创建一个EF对象var ef new DemoDatabaseEntities1();//遍历数据库Grade表中的所有元素【EF框架对象->Grade表对象->把表内所有元素转换成实体集合Li…

C#控制台EF框架增删改查

1.创建一个linq to sql 或者EF框架&#xff0c;引入自己数据库的表 2.创建一个上下文 3.添加 News是数据库中的一张表名。 创建一个对象&#xff0c;把需要添加的内容放到对象里面&#xff0c;往表中插入对象&#xff0c;提交到数据库中&#xff0c;刷新数据库 。 4. 修改 创…

EF框架你了解多少?

[EF框架的认识] EF教程视频大全 一、 EF简介 ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主&#xff0c;将数据逻辑层切分为三块&#xff0c;分别为 Conceptual Schema, Mapping Schema 与 Storage Schema 三层&#xff0c;其上还有 Entity Client&#xff0c;…

EF-创建EF框架

文章目录 什么是EFEF的作用 EF 分类Model First&#xff08;模型优先&#xff09;Code First&#xff08;代码优先&#xff09; Database First&#xff08;数据优先&#xff09; 如何创建EF 安装创建 注意事项 什么是EF 实体框架&#xff08;Entity Framework&#xff09;是微…

EF框架是什么?

Entity Framework 实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术&#xff0c;是微软的一个ORM框架。 ORM是什么&#xff1f; ORM的全称是Object Relational Mapping&#xff0c;即对象关系映射。 ORM框架有很多&#xff0c;EF框架是ORM框架的其中一种&a…

EF框架学习三

实例操作&#xff1a; Database First&#xff08;数据库优先&#xff09; 1.1创建一个示例数据库。 1.2打开vs2017&#xff0c;新建项目&#xff0c;如图所示 1.3添加EF框架插件 1.4添加ADO实体数据模型 1.5选择模型类型&#xff0c;点击下一步&#xff0c;然后新建连接&…

C# EF框架使用实例

EF框架 1、新增ADO.NET实体数据模型&#xff0c;但这样会导致新增数据库连接配置 2、选择好后&#xff0c;点添加 3、下一步&#xff0c;点新建连接 在这里如果勾上将App.Config&#xff0c;会自动在配置文件&#xff08;App.config&#xff09;中新增数据库连接字符串 4、以…

EF 框架的简介、发展历史;ORM框架概念

一、EF 框架简介 EF 全称是 EntityFramework 。 Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 ORM框架&#xff08;Object Relational Mapping&#xff09; 翻译过来就是对象关系映射。 如果不用ORM框架&#xff0c;我们一般…

【EF框架】聊一聊EF框架

前言 EF框架的全称EntityFramework &#xff0c;Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 叙述 ORM ORM是一种将数据从域对象存储到关系数据库&#xff08;如MS SQL Server&#xff09;的工具&#xff0c;以自动化的方…

给EF框架自动生成实体类修改名字

给EF框架自动生成实体类名字一般以T_ 开头&#xff0c;不符合我们给实体类起的名字这个时候如何进行修改呢&#xff1f; 右击2 选择属性 将属性中的实体集名称和名称改成自己想要的样子就可以啦~ 然后点击重新生成解决方案&#xff0c;我们就能修改自动生成的.cs的实体类名…

EF框架搭建

这是在vs2019版本社区版的创建流程&#xff1b; 右键项目添加新建项->选择数据&#xff0c; 这里选择第一个ADO.NET实体数据模型&#xff0c;并重命名&#xff0c;我这里命名为数据库名 基本上用的都是第一个&#xff0c;通过数据库生成实体类。 因为当前项目没有连接过&am…

EF框架如何搭建

EF出现背景 1、以前程序设计师一定要为了连接与访问数据库而去学习 SQL 指令&#xff0c;因此在信息业中有很多人都在研究如何将程序设计模型和数据库集成在一起&#xff0c;对象关系对应 (Object-Relational Mapping) 的技术就是由此而生。 2、像Hibernate或NHibernate都是这…

EF框架-SQL语句 查询与修改

机房合作当中使用到了框架首先有很多的不同之处&#xff0c;大大方便的编程的时间。 首先在查询与修改这两个点出发。 查询 这是使用SQL语句进行的查询&#xff0c;查询到的是多条信息 public List<CancelCardModel> SelectCancelRecord(string iD){using (InternetBa…

EF框架简介

EF 全称是 EntityFramework 。 Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。   ORM框架&#xff08;Object Relational Mapping&#xff09; 翻译过来就是对象关系映射。 二、EF实体框架整体架构&#xff1a; 架构组件&…

NET EF框架

EF 框架是微软的.NET中ORM&#xff08;对象关系映射&#xff09;框架。 在没有EF框架之前&#xff0c;我们是直接与ADO.Net 进行交互来访问数据库&#xff0c;在SqlHelper 里面面通过设置connection ,command ,dataset,datareader等来与数据库交互&#xff0c;这样的话使得我们…

EF框架的优点是什么?

Entity Framework 应用程序有以下优点&#xff1a; 1、应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。 2、应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。 3、可以在不更改应用程序代码的情况下更改概念性模…

EF框架,认识一下!

What&#xff1f; EF的全称是Entity Framework&#xff0c;也叫实体框架。是微软以ADO.Net为基础开发出来的对象关系映射&#xff08;ORM&#xff09;解决方案&#xff0c;它解决了对象持久化问题&#xff0c;将程序员从编写麻烦的SQL语句当中解放出来。就是用操作对象的方式来…

EF框架学习分享一

一、什么是EF框架和ORM框架 &#xff1f; EF 全称是 EntityFramework 。Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 ORM框架&#xff08;Object Relational Mapping&#xff09; 翻译过来就是对象关系映射。 二、EF实体框…