zabbix监控(1)-介绍

zabbix 监控架构

zabbix的监控架构在实际监控架构中,zabbix根据网络环境、监控规模等 分了三种架构:server-client 、master-node-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架构做比较的架构 ,一般适用于跨机房、跨网络的中型网络架构的监控。
3、master-node-client架构该架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境 。每个node同时也是一个server端,node下面可以接proxy,也可以直接接client 。node有自已的配置文件和数据库,其要做的是将配置信息和监控数据向master同步。

普通监控:

                            监控中心zabbix-server
                                     |
                            ----------------------
                            |                     |
                       -----------           -----------
                       |         |           |         |
                     agent     agent       agent     agent

分布式监控:

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

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

Zabbix 监控系统监控对象
数据库:MySQL、MariaDB、Oracle、SQL Server
应用软件:Nginx、Apache、PHP、Tomcat              agent
--------------------------------------------------
集群:LVS、Keepalived、HAproxy、RHCS、F5
虚拟化:VMware、KVM、XEN
操作系统:Linux、UNIX、Windows                    agent
--------------------------------------------------
硬件:服务器、存储、网络设备                        IPMI
网络:网络环境(内网环境、外网环境)                   SNMP
IPMI:

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

SNMP:

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

监控区别
1.nagios图形不是特别好,也可以安装图形插件,但是也不怎么好看
2.nagios一般情况下如果需要图形可以和cacti配合使用
3.cacti的监控是轮询监控,效率低,图形相对nagios比较好看
4.zabbix在性能和功能上都强大很多
5.zabbix的图形相当漂亮
6.zabbix支持多种监控方式 zabbix-agent  snmp 等等
7.zabbix支持分布式监控,能监控的agent非常多
8.zabbix有图形的web配置界面,配置简洁
9.zabbix支持自动发现功能
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收集数据,sever上的进程就会减少CPU消耗和磁盘I / O负载。 
Zabbix proxy是完成远程区域、分支机构、没有本地管理员的网络的集中监控的理想解决方案。 
Zabbix proxy需要使用独立的数据库。
5、数据流

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

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 agent

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

你可能感兴趣的:(zabbix监控(1)-介绍)