Zabbix小记

简介:

监控的纬度:
一、架构体系监控
1.硬件监控:服务器、路由器、交换机、防火墙
2.系统监控:cpu、内存、磁盘、进程
3.服务监控:nginx、php、redis、mysql
4.网站监控:请求时间、响应时间、加载时间
5.日志监控:ELK(收集 存储 分析 展示)
6.安全监控:firewalld waf
7.网络监控:奇云测
8.业务监控:活动产生多少流量、产生多少注册量

二、根据网络模型进行监控
TCP/IP四层模型

三、根据网站实际情况进行监控

四、根据用户访问网站流程监控

综合架构监控服务体系结构

监控常用命令:
CPU:top
监控什么?
us: 用户进程占用cpu百分比 --> 用户态信息
sy: 内核进程占用cpu百分比 --> 内核态信息
id: 空闲的百分比 --> 空闲状态

memory:top free
监控什么?
内存可用率
swap空间使用情况

disk:df、iotop(检查磁盘io消耗)
监控什么?
磁盘使用情况
磁盘的IO消耗

网络:iftop
监控什么?
网络带宽使用情况

进程:top、htop、ps
监控什么?
占用内存情况
内存占满会产生内存溢出--->服务出现僵死
占用cpu情况

负载:w、top、uptime
监控什么?
十分钟负载、十五分钟负载
<CPU内核数

综合架构监控服务脚本

  1. 如何监控内存使用情况

正常使用情况:内存使用率高于80%
异常使用情况:内存使用率低于80%,发送报警
free|awk 'NR==2{print int($NF/$2*100)}'

  1. 监控服务运行状态

zabbix监控服务说明
1.结构组成
zabbix-server 监控服务器
zabbix-agent 监控客户端
zabbix-web 网站服务
php 处理动态请求
mysql 数据库存储监控数据
zabbix-proxy 负责收集agent信息汇总告知zabbix-server
(大型架构中使用)

实现zabbix报警功能--触发器/动作
报警方式:

1.页面提示信息报警(值班运维)
2.页面声音提示报警
3.邮件信息报警
4.微信功能报警

1.页面提示信息报警
1)创建触发器
配置--主机--选择相应监控主机触发器--创建触发器
设置好表达式:{监控主机名称:键值名称.调用的表达式函数}<=2

表达式总结:
last() #收集到的最新信息(数值)
max() #在一定周期内,收到的最大值
min() #在一定周期内,收到的最小值
diff() #在一定时间内,判断收集的信息是否不同
change() #最新值和上一个值的差异
avg() #一段时间的平均值

2.邮件信息报警
1)创建触发器
同上
2)修改动作配置
配置--动作---将默认动作进行开启
3)建立和163邮箱服务
管理--报警媒介类型--创建报警媒介
4)定义接收报警的邮件地址
个人中心--报警媒介--设置收件人信息

3.微信报警

================

1、zabbix是什么?
由alexei vladisev创建,目前由其成立的公司-zabbix sia积极的持续开发更新维护,并为用户提供技术支持服务。

zabbix是一个企业级分布式开源监控解决方案

zabbix软件能够监控众多网络参数和服务器的健康度、完整性;zabbix使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。
它基于存储的数据提供出色的报表和数据可视化功能,这些功能使得zabbix成为容量规划的理想选择。

zabbix支持主动轮询(polling)和被动捕获(trapping)。
zabbix所有的报表、统计数据和配置参数都可以通过基于web的前端页面进行访问。能够确保你在任何地方访问被监控的网络状态和服务器健康状态;

适当的配置后,zabbix可以在监控IT基础设施方面发挥重要作用,无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。

基于GPL通用公共许可证的第二版编写和发布的,意味着免费、开源。

2、zabbix能干什么?
zabbix是一个高度成熟完善的网络监控解决方案,一个软件包中包含了多种功能。

1)数据采集
可用性和性能检查
执行SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware监控;
自定义检查
按照自定义的时间间隔采集需要的数据
通过server、proxy和agents来执行数据采集。
2)灵活的阈值定义
可以参考后端数据库定义非常灵活的告警阈值,即“触发器”
3)高度可配置化的告警
可以根据递增计划、接收者、媒介类型自定义发送告警通知;
使用宏变量可以使告警通知变得更加高效有用;
自动操作包含远程执行命令。
4)实时图形
内置图形功能可以将健康实时绘制成图形
5)web监控功能
zabbix可以追踪鼠标在web网站上的点击操作,来检查web网站的功能和响应时间。
6)丰富的可视化选项
可以组合多个监控项到单个视图中,创建自定义图标
网络拓扑图
以仪表盘样式展示自定义聚合图形和幻灯片演示
报表
监控资源的更高层次展示视图(业务视图)
7)历史数据存储
存储在数据库总的数据
历史配置
内置数据管理机制(housekeeping)
8)配置简单
将被监控设备添加为主机
主机一旦添加到数据库中,就会采集数据用于监控
将模板用于监控设备
9)使用模板
模板中分组检查
模板可以关联模板,继承已关联模板的属性
10)网络发现
自定发现网络设备
zabbix agent发现设备后自动注册
自动发现文件系统、网络接口和SNMP OIDs值
11)快捷的web界面
基于PHP的web前端
可以从任何地方访问
可以定制自己的操作方式
通过审计日志来查看操作
12)zabbix api
为zabbix提供可编程接口,用于批量操作、第三方软件集合和其他用途
13)权限管理系统
安全的用户身份验证
指定的用户只能查看指定的权限范围内的视图
14)功能强大且易于扩展的zabbix agent
部署于被监控对象上
支持Linux和windows
15)二进制守护进程
为了更好的性能和更少的内存占用,采用C语言编写
便于移植
16)适应更复杂的环境
使用zabbix proxy代理,可以轻松实现分布式远程监控

3、zabbix的架构

zabbix由几个主要的功能组件组成

1)server

zabbix server是zabbix软件的核心组件。agent向其报告可用性、系统完整性信息和统计信息;server也是存储所有配置信息、统计信息和操作信息的核心存储库。

2)数据库
所有配置信息以及zabbix采集到的的数据都被存储在数据库中。

3)web界面
该web界面是zabbix server的一部分,通常和zabbix server运行在同一台物理机器上。

4)proxy
zabbix proxy可以代替zabbix server采集性能和可用性数据,zabbix proxy在zabbix的部署是可选部分,但是proxy的部署可以很好的分担单个zabbix server的负载。

5)agent
zabbix agent部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给zabbix server。

6)数据流

另外,回过头来整体的了解下zabbix内部的数据流对zabbix的使用也很重要;
首先,为了创建一个采集数据的监控项,就必须先创建主机;
其次,在任务的另外一端,必须要有监控项才能创建触发器(trigger),必须要有触发器来创建动作(action);

因此,如果想要收到类似“X个server上的CPU负载过高”这样的告警,必须首先为server X 创建一个主机条目,其次创建一个用于监控其CPU的监控项,最后创建一个触发器,用来触发CPU负载过高这个动作,并将其发送到您的邮箱里;

虽然这些步骤繁琐,但是使用模板的话,实际操作非常简单,也正是由于这种设计,使得zabbix的配置变得更加灵活易用。

4、zabbix的常用术语

主机(host)- 你想要监控的联网设备,有IP/DNS。

主机组(host group)- 主机的逻辑组
可能包含主机和模板,一个主机组里的主机和模板之间并没有任何直接的关联,通常再在给不同用户组的主机分配权限时使用主机组。

监控项(item)- 你想要从主机接收的特定数据,一个度量(metrics)/指标数据。

值预处理(value preprocessing)- 存入数据库之前,转化/预处理接收到的指标数据。

触发器(trigger)- 触发器是一个逻辑表达式,用来定义问题阈值和“评估”监控项接收到的数据;
当接收到的数据高于阈值时,触发器从“OK”变成“Problem”状态;当接收的数据低于阈值时,触发器保留/返回“OK”的状态。

时间(event)- 发生的需要注意的事件,例如触发器状态改变、自动发现/监控代理自动注册。

事件标签(event tag)- 提前设置的事件标记,可以用于事件关联,权限细化设置等。

事件关联(event correlation)- 自动灵活地、精确的关联问题和解决方案;
比如,你可以定义触发器A告警的异常可以由触发器B解决,触发器B可能采用完全不同的数据采集方式。

异常(problems)- 处在“异常”状态的触发器。

异常状态更新(problem update)- zabbix提供的异常管理选项,例如添加评论、确认异常、改变严重级别或手动关闭等。

动作(action)- 预先定义的应对事件的动作;
一个动作由操作(例如发出通知)和条件(什么事件进行操作)组成。

升级(escalation)- 用户自定义的一个在动作内执行操作的场景;发送通知/执行远程命令的序列。

媒介(media)- 发送告警通知的方式、途径

告警通知(notification)- 通过预先设定好的媒介途径发送事件信息给用户。

远程命令(remote command)- 预定义好的,满足特定条件的情况下,可以在被监控主机上自动执行的命令。

模板(template)- 被应用到一个或多个主机上的一整套实体组合(如监控项,触发器,图形,聚合图形,应用,LLD,web场景等)。
模板的应用使得主机上的监控任务部署快捷方便,也可以使监控任务的批量修改更加简单,模板是直接关联到每台单独的主机上。

应用(application)- 监控项的逻辑分组。

web场景(frontend)- zabbix提供的web界面

仪表盘(dashborad)- 自定义的web前端模板中,用于重要的概要和可视化信息展示的单元,我们称之为组件。

组件(widget)- dashboard中用来展示某种信息和数据的可视化组件(概览、map、图标、时钟等)。

zabbix api - 允许用于使用json rpc协议来创建、更新和获取zabbix对象(如主机、监控项、图标等)信息或者执行任何其他的自定义的任务。

zabbix server - zabbix软件的核心进程,执行监控操作,与zabbix proxies和agents进行交互、触发器计算、发送告警通知,也是数据的中央存储库。

zabbix agent - 部署在监控对象上的进程,能够主动监控本地资源和应用。

zabbix proxy - 代替zabbix server 采集数据,从而分担zabbix server负载的进程。

加密(encryption)- 使用TLC协议支持zabbix组件之间的加密通讯(server、agent、proxy、zabbix_sender和zabbix_get工具)。

网络自动发现(network discovery)- 网络设备的自动发现

低级别自动发现(low-level discovery)- 特定设备上低级别实体的自动发现(如文件系统、网络接口等)。

低级别自动发现规则(low-level discovery rule)- 为自动发现设备中低级别实体设定的一系列规则。

监控项原型(item prototype)- 有特定变量的指标,用于自动发现;低级别自动发现执行之后,该变量将被实际自动发现的参数替换,该指标也自动开始采集数据。

触发器原型(trigger prototype)

  • 有特定参数作为变量的触发器,用于自动发现;自动发现执行后该变量将被实际自动发现的参数替换,该触发器自动开始计算数据。

还有其他一些zabbix实体原型也被用于自动发现中--图标原型,主机原型,主机组原型,应用原型。

agent自动注册(agent auto-registration)

  • zabbix agent自己自动注册为一个主机,并且开始监控的自动执行进程。
目录
相关文章
|
Java Docker 索引
微服务轮子项目(13) - 统一日志中心详解(docker安装部署)
微服务轮子项目(13) - 统一日志中心详解(docker安装部署)
567 0
|
开发框架 移动开发 小程序
强烈推荐:绝对是好用的小程序开源框架
强烈推荐:绝对是好用的小程序开源框架
369 0
|
3月前
|
机器学习/深度学习 边缘计算 并行计算
【无人机三维路径规划】基于遗传算法GA结合粒子群算法PSO无人机复杂环境避障三维路径规划(含GA和PSO对比)研究(Matlab代码代码实现)
【无人机三维路径规划】基于遗传算法GA结合粒子群算法PSO无人机复杂环境避障三维路径规划(含GA和PSO对比)研究(Matlab代码代码实现)
299 2
|
7月前
|
人工智能 搜索推荐 机器人
Qwen3+MCP快速解决今晚吃什么?
智能体是一种基于云计算和人工智能的自主决策系统,相比通用AI大模型,更注重场景化适配与垂直领域深耕。本文以“今天吃什么”智能体为例,依托Qwen3多模态能力和MCP动态规划框架,打造个性化饮食推荐服务。从开通百炼平台、创建智能体到设计Prompt和部署MCP服务,最终实现精准美食推荐,解决选择困难问题,将点餐变为一场充满惊喜的探险。总结来看,智能体通过云+AI技术,在垂直场景中展现高效精准的决策能力。
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
738 7
|
9月前
|
存储 运维 数据处理
数据中心有哪些等级规范?
数据中心是现代信息社会的基石,支撑着海量数据的存储、处理与交换。其稳定性对互联网企业、金融机构和政府部门至关重要。依据场地设施、电力供应、网络架构等多维度因素,数据中心被划分为不同等级,如TIA-942标准中的Tier I至Tier IV。各等级从基础配置到高可靠性设计逐步提升,满足不同业务需求。TIA-942标准为全球数据中心建设提供了统一规范,推动了行业的标准化发展。
522 1
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
《揭秘AI语音助手:从“听”到“说”的智能之旅》
在数字化时代,AI语音助手如Siri、Alexa、小爱同学等成为生活中的得力伙伴。它们通过自动语音识别(ASR)将语音转换为文本,利用自然语言处理(NLP)理解语义并生成回应,再通过文本到语音转换(TTS)输出自然语音。ASR捕捉、预处理和分析语音信号;NLP解析文本、理解意图;TTS合成流畅语音。这三项技术协同工作,使语音助手能听懂、理解并回应用户,为人机交互带来便利与创新。
1737 1
springCloud之服务降级熔断Hystrix、OpenFeign
springCloud之服务降级熔断Hystrix、OpenFeign
1122 0
|
分布式计算 并行计算 Java
Python并发风暴来袭!IO密集型与CPU密集型任务并发策略大比拼,你站哪队?
【7月更文挑战第17天】Python并发处理IO密集型(如网络请求)与CPU密集型(如数学计算)任务。IO密集型适合多线程和异步IO,如`ThreadPoolExecutor`进行网页下载;CPU密集型推荐多进程,如`multiprocessing`模块进行并行计算。选择取决于任务类型,理解任务特性是关键,以实现最佳效率。
493 4
|
存储 云安全 安全
云端数据加密实践
【7月更文挑战第12天】云端数据加密是保障云端数据安全的重要手段。通过选择合适的加密方式、加强加密密钥管理、实施静态与动态数据加密、采用加密信息检索技术和应用层加密组件等措施,可以有效地保护云端数据的安全。未来,随着技术的不断进步和应用需求的多样化,云端数据加密技术将继续发挥其重要作用,为各种应用场景提供强大的安全保障。