企业级 Zabbix 监控

1、zabbix 监控架构

zabbix的监控架构在实际监控架构中,zabbix根据网络环境、监控规模等架构: server-client 、server-proxy-client。

1、server-client架构也是zabbix的最简单的架构,监控机和被监控机之间不经过任何代理 ,直接由zabbix server和zabbix agentd之间进行数据交互。适用于网络比较简单,设备比较少的监控环境 。
2、server-proxy-client架构其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 。一般适用于跨机房、跨网络的中型网络架构的监控 master-node-client

普通监控:
企业级 Zabbix 监控
分布式监控:

企业级 Zabbix 监控

2、Zabbix 优点

  • 开源,无软件成本投入
  • Server 对设备性能要求低
  • 支持设备多,自带多种监控模板
  • 支持分布式集中管理,有自动发现功能,可以实现自动化监控
  • 当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动 从server 端去下载需要监控的item 然后取数据上传到 server 端。 这种方式对服务器的负载比较小。
  • Api 的支持,方便与其他系统结合

3、Zabbix 缺点

​ 需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据很大,瓶颈主要在数据库。

4、Zabbix 监控系统监控对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qvS8mgFH-1584967260896)(assets/1564965053542.png)]

IPMI:智能平台管理接口(Intelligent Platform Management Interface)IPMI 能够横跨不同的操作系统、固件和硬件平台,可以智能的监视、控制和自动回报大量服务器的运作状况,以降低服务器系统成本。

SNMP:网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点服务器工作站路由器交换机等)的一种标准协议,它是一种应用层协议。

5、监控区别

​ 1.nagios图形不是特别好,也可以安装图形插件,但是也不怎么好看
​ 2.nagios一般情况下如果需要图形可以和cacti配合使用
​ 3.cacti的监控是轮询监控,效率低,图形相对nagios比较好看
​ 4.zabbix和nagios因为是并发监控,对cpu的要求更高
​ 5.zabbix在性能和功能上都强大很多
​ 6.zabbix的图形相当漂亮
​ 7.支持多种监控方式 zabbix-agent snmp 等等
​ 8.支持分布式监控,能监控的agent非常多
​ 9.zabbix有图形的web配置界面,配置简洁
​ 10.zabbix支持自动发现功能

6、Zabbix监控方式

被动模式
主动模式

1、Server

Zabbix server 是agent程序报告系统可用性、系统完整性和统计数据的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。

2、数据库存储

所有配置信息和Zabbix收集到的数据都被存储在数据库中。

3、Web界面

为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上。

4、Proxy 代理服务器

Zabbix proxy 可以替Zabbix Server收集性能和可用性数据。

Zabbix Proxy是一个可以从一个或多个受监控设备收集监控数据,并将信息发送到Zabbix
sever,基本上是代server工作的。所有收集的数据都在本地进行缓存,然后传送到proxy所属的Zabbix sever。
部署Proxy是可选的,但是可能非常有益于分散单个Zabbix sever的负载。
如果只有proxy收集数据,sever上的进程就会减少CPU消耗和磁盘I / O负载。 Zabbix
proxy是完成远程区域、分支机构、没有本地管理员的网络的集中监控的理想解决方案. Zabbix proxy需要使用独立的数据库。

5、Agent监控代理

Zabbix agents监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。

6、数据流

监控方面,为了创建一个监控项(item)用于采集数据,必须先创建一个主机(host)。告警方面,在监控项里创建触发器(trigger),通过触发器(trigger)来触发告警动作(action)。 因此,如果你想收到Server XCPU负载过高的告警,你必须: 1. 为Server 创建一个host并关联一个用于对CPU进行监控的监控项(Item)。 2. 创建一个触发器Trigger,设置成当CPU负载过高时会触发 3. Trigger被触发,发送告警邮件 。

4、Zabbix常用术语的含义

1、主机 (host)

  • 一台你想监控的网络设备,用IP或域名表示

2、主机组 (host group)

  • 主机的逻辑组;它包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组。

3、监控项 (item)

  • 你想要接收的主机的特定数据,一个度量数据。

4、触发器 (trigger)

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

5、动作 (action)

  • 一个对事件做出反应的预定义的操作。
    一个动作由操作(例如发出通知)和条件(当时操作正在发生)组成

6、媒介 (media)

  • 发送告警通知的手段;告警通知的途径

7、远程命令 (remote command)

  • 一个预定义好的,满足一些条件的情况下,可以在被监控主机上自动执行的命令

8、模版 (template)

  • 一组可以被应用到一个或多个主机上的实体(监控项,触发器,图形,应用,Web场景等)的集合
    模版的任务就是加快对主机监控任务的实施;也可以使监控任务的批量修改更简单。模版是直接关联到每台单独的主机上。

9、web 场景 (web scenario)

  • 利用一个或多个HTTP请求来检查网站的可用性

10、前端 (frontend)

  • Zabbix提供的web界面

11、Zabbix server

  • Zabbix软件实现监控的核心程序,主要功能是与Zabbix server和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等

12、Zabbix agent

Zabbix agent部署在监控的目标上,主动监测本地的资源和应用(硬件,内存,处理器统计等)。
Zabbix agent收集本地的操作信息并将数据报告给Zabbix server用于进一步处理。一旦出现异常 (比如硬盘空间已满或者有崩溃的服务进程), Zabbix server会主动警告管理员指定机器上的异常。