zabbix监控

zabbix

Zabbix是一个企业级解决方案,支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标,适用于任何IT基础架构、服务、应用程序和资源的解决方案

zabbix系统概述:

数据采集: 周期性时序数据,在主机上采集指标数据
数据存储:

  • SQL: MySQL/MariaDB(Zabbix)
  • NoSQL:Redis(Open-falcon)
  • rrd: Round Robin Database(Cacti)

数据类型:

  • 历史数据: 每个监控项采集到的每个监控值
  • 趋势数据: 趋势表里主要保留某个监控项一个小时内历史数据的最大值、最小值和平均值以及该监控项一个小时内所采集到的数据个数

阈值:

  • 可按照预定义的阈值等级实现分层报警

告警机制:

  • email,短信,微信,语音,故障自治愈

zabbix的架构:

server:

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

数据库:

  • 所有配置信息以及Zabbix采集到的数据都被存储在数据库中

web界面:

  • 为了从任何地方和任何平台轻松访问Zabbix,我们提供了基于web的界面。该界面是Zabbix-server的一部分,通常(但不一定)和Zabbix-server运行在同一台物理机器上

proxy:

  • Zabbix-proxy可以代替Zabbix-server采集性能和可用性数据。Zabbix-proxy在Zabbix的部署是可选部分;但是proxy的部署可以很好的分担单个Zabbix server的负载

agent:

  • Zabbix-agents部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix serve

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) 用户自定义的一个在动作(action)内执行操作的场景; 发送通知/执行远程命令的序列
媒介(media) 发送告警通知的方式、途径
告警通知(notification) 通过预先设定好的媒介途径发送事件信息给用户
远程命令(remote command) 预定义好的,满足特定条件的情况下,可以在被监控主机上自动执行的命令
模版(template) 被应用到一个或多个主机上的一整套实体组合(如监控项,触发器,图形,聚合图形,应用,LLD,Web场景等)。模版是直接关联到每台单独的主机上
应用(application) 监控项的逻辑分组
Web场景(web scenario) 检查网站可浏览性的一个或多个HTTP请求
前端(frontend) Zabbix提供的web界面
仪表板(dashboard) 自定义的web前端模块中,用于重要的概要和可视化信息展示的单元, 我们称之为组件(widget)
组件(widget) Dashboard中用来展示某种信息和数据的可视化组件(概览、map、图表、时钟等)
Zabbix API Zabbix API允许用户使用JSON RPC协议来创建、更新和获取Zabbix对象(如主机、监控项、图表等)信息或者执行任何其他的自定义的任务
Zabbix server Zabbix软件的核心进程,执行监控操作,与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知;也是数据的中央存储库
Zabbix agent 部署在监控对象上的进程,能够主动监控本地资源和应用
Zabbix proxy 代替Zabbix Server采集数据,从而分担Zabbix Server负载的进程
加密(encryption) 使用TLS(Transport Layer Security )协议,支持Zabbix组建之间的加密通讯(server, proxy, agent, zabbix_sender 和 zabbix_get工具)
网络自动发现(network discovery) 网络设备的自动发现
低级别自动发现(low-level discovery) 特定设备上低级别实体的自动发现(如文件系统、网络接口等)
低级别自动发现规则(low-level discovery rule) 为自动发现设备中低级别实体设定的一系列规则
监控项原型(item prototype) 有特定变量的指标,用于自动发现。. 低级别自动发现执行之后,该变量将被实际自动发现的参数替换,该指标也自动开始采集数据
触发器原型(trigger prototype) 有特定参数作为变量的触发器,用于自动发现。自动发现执行后该变量将被实际自动发现的参数替换,该触发器自动开始计算数据,还有其他的一些Zabbix 实体原型也被用于自动发现中——图表原型,主机原型,主机组原型,应用原型
agent自动注册(agent auto-registration) Zabbix agent自己自动注册为一个主机,并且开始监控的自动执行进程

zabbix相关程序:

zabbix_agentd agent程序
zabbix_server server
startup java-gatewag代理程序开启
shutdown.sh java-gatewag代理程序关闭
zabbix_proxy_mysql 代理程序
zabbix_get 获取监控主机的信息

zabbix_get命令:

zabbix_get 选项 	
选项:
	-s ip 		被监控的agent的ip
	-p port		agent对应的port
	-I 			
	-k str		要获取的监控信息
	   system.cpu.load[all,avg1]	cpu负载
	   agent.ping			agent主机状态,1正常
例:
zabbix_get -s 2.2.2.22 -k system.cpu.load[all,avg1]
zabbix_get -s 2.2.2.22 -p 10050 -k agent.ping
posted @ 2022-02-18 20:56  suyanhj  阅读(126)  评论(0)    收藏  举报