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

浙公网安备 33010602011771号