Zabbix部署
Zabbix 介绍
zabbix是由Alexei Vladishev开发的一种网络监视,管理系统,基于Server-Client架构,可用于监视各种网络服务,服务器和网络机器等状态
使用各种Database-eNd 如 MYSQL PostgreSQL,SQLite,Oracle或IBM DB2储存资料。Server端基于C语言:web管理端frontend是基于PHP所制作的
Zabblx可以使用多种方式监视,可以只使用simple check不需要安装client端,亦可是于SMTP或
HTTP,各种协议定制监视
客户端如UNIX,windows中安装Zabbix Agent之后,可监视CPU Load,网络使用状况,硬盘容量
等各种状态。而就算没有安装Agent在监视对象中,zabbix也可以经由SNMP、TCP,ICMP,利用I
PMI,SSH,telent对自标进行监视
zabbix自带的ltem足够满足普通小公司的监控需求,对于大公司也可以设定自定义的Item,自动生成报表,也有API可以和其他系统集成
附一下zabbix的官方中文文档
功能组件
Server
- Zabbix server是 Zabbix agent 向其报告可用性、系统完整性信息和统计信息的核心组件。是存储所有配置信息、统计信息和操作信息的核心存储库。
数据库
- 所有配置信息以及 Zabbix 收集到的数据都被存储在数据库中。
Web 界面
- 为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。
Proxy
- 可以替 Zabbix server 收集性能和可用性数据。Zabbix proxy 是 Zabbix 环境部署的可选部分;然而,它对于单个 Zabbix server 负载的分担是非常有益的
Agent
- 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。
数据流
- 此外,重要的是,需要回过头来了解下 Zabbix 内部的整体数据流。首先,为了创建一个采集数据的监控项,您就必须先创建主机。其次,必须有一个监控项来创建触发器。最后,您必须有一个触发器来创建一个动作,这几个点构成了一个完整的数据流。因此,如果您想要收到 CPU load it too high on Server X 的告警,您必须首先为 //Server X // 创建一个主机条目,其次创建一个用于监视其 CPU 的监控项,最后创建一个触发器,用来触发 CPU is too high 这个动作,并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐,但是使用模板的话,其实并不复杂。也正是由于这种设计,使得 Zabbix 的配置变得更加灵活易用
关联术语
***主机(host)***
- 你想要监控的联网设备,有IP/DNS。
***主机组(host group)***
- 主机的逻辑组;可能包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组。
***监控项(item)***
- 你想要接收的主机的特定数据,一个度量/指标数据。
***值预处理(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场景(web scenario)***
- 检查网站可浏览性的一个或多个HTTP请求
***前端(frontend)***
- Zabbix提供的web界面
***Zabbix API***
- Zabbix API允许用户使用JSON RPC协议来创建、更新和获取Zabbix对象(如主机、监控项、图形和其他)信息或者执行任何其他的自定义的任务
***Zabbix server***
- Zabbix监控的核心程序,主要功能是与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等
***Zabbix agent***
- 部署在监控对象上的,能够主动监控本地资源和应用的程序
***Zabbix proxy***
- 一个帮助Zabbix Server收集数据,分担Zabbix Server的负载的程序
***加密(encryption)***
- 支持Zabbix组建之间的加密通讯(server, proxy, agent, zabbix_sender 和 zabbix_get 程序) 使用TLS(Transport Layer Security )协议。
安装部署
环境搭建
1 |
|
安装zabbix
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!