一.监控基础及zabbix介绍

监控基础

监控:其实质可以理解为传感器,用来检测指标。

  1)基本的流程就是:数据采集------》数据存储--------》数据展示

       2)在采集数据中,我们就会按照时间序列组织数据,采集到数据超过阈值进行报警。

SNMP协议:

       NMS称为:网络监控系统。市面上的各类监控系统很多,有的不一定有存储。如同所示,是最基础的,也是通常市面上各类监控系统都支持的SNMP协议监控,利用SNMP协议监控,最为划算,稳定,成熟等等好处。是大多监控系统最常用的协议,因此各大厂商都是内置支持snmp协议。

       SNMP称为:简单网络管理协议,在必要时采集数据,管理被监控端,不进行存储,人工判断。

      有三种模式:1)被动模式:采集   

                            2)主动模式:报告    

                             3)管理模式:修改

      snmp组成:MIB管理信息库:(约定监控端、被监控端采集、报告格式、采集对象、如何传输等等)

                          管理信息结构:MIB表示的符号

                          SNMP协议本身(TCP/UDP/IP的一种)

      报告格式:从三种模式中,我们知道如下表示:

             mns:get,getnext(采集以及采集下一个)、set(设置修改)、trap(捕获)

            agent: response

开源监控

       我们知道监控流程是:采集、展示、存储、报警,但是SNMP不进行存储,更不要说展示,所以我们想到了开源监控。

        cacti监控,可以进行组件的编写,具有强大的即时绘制展示能力,本事对于报警功能弱,当然也可以通过插件的形式进行报警,但是在被监控端,状态的变化由弱到强是有一定过程的,转换不及时等等。

        nagios监控:又是另外一个,报警机制强,但是不展示,通过设定值,进行报警升级,可以定义各组件依赖关系。但是支持数百太,太多的话,自己都忙不过来,分布式管理,但是管理麻烦。

        zabbix:结合两者优势:

              zabbix有专门的agent协议,可以在被监控端进行脚本命令,实现本地命令,自愈被监控端,如果不行,在进行报警;但是范围有限,比如交换机,路由器等。

              所以,监控功能的实现:zabbix有:专用的agent、ssh、ping、snmp、ipmi等。对于snmp协议,windows是自带的,linux需要下载net-snmp;

              zabbix是php实现的,在zabbix下存储有mysql和pysql。

              zabbix是企业级10个监控指标、开源、用户多,平台多的优势。

zabbix架构中的组成

 zabbix server:是核心组件,c语言开发,数据分析也是通过它。

 zabbix agent:是重要组件,一般监控都是用它,也是c语言开发

 zabbix database:支持的库有oracle、mysql等等。

 zabbix web GUI:重要组件,设置、展示功能,可以设置监控多少个指标等。

 zabbix proxy:(分布式监控环境中的专用组件,有自己的database),定周期,可以将自己采集的数据发送zabbix server端口,php研发的。

zabbix依赖的各种组件以及依赖的各种配置文件

   

  1)从图可以看出,每一个快,都可以进行一个host主机部署,提高性能,zabbix server和zabbix web GUI实质是没有任何关系的。

  2)zabbix server可以自身与azbbix进行通信,也可以通过zabbix_get和zabbix_agnetd进行通信

       zabbix server一般是进行周期性采集数据进行通信,而zabbix_get则是脚本测试阶段进行的通信

 3)一个zabbix server可以监控多个客户端zabbix agentd,所以需要启用多个zabbix server进程;同理,一个zabbix agentd需要监控本地的多个指标相应zabbix server,也需要启用多个进行,这些都是图中相应的配置文件中进行配置的。

4)在zabbix_agentd中,zabbix_sender也可以主动模式汇报zabbix server

zabbix常用的术语

  主机(host):要监控的网络设备,可由IP或者DNS名称指定。

  主机组(host group):主机的逻辑容器(多个主机),包括主机和模板。模板就是一类指标。

  监控项(item):一个特定监控指标的相关的数据,这些数据来自被监控对象;item是zabbix进行数据收集的核心,定义监控就是定义监控项的。

  触发器(trigger):一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,有阈值;为problem和ok状态

  事件(event):即发生一个关注的事件,比如触发器的状态转变,新的agent或者新上线的agent的注册等等。

  动作(action):事件发生了,所触发的动作,就是处理方法,通过包含操作(如发送通知)和条件(何时执行)

  报警升级:(escalation):发送报警或执行远程命令的自定义方案。如每隔5分钟方一次报警,共5次。

  媒介(media):发送通知的手段或通道。

  通知(notification):就是选定媒介向用户发送的有关某事件的信息。

  远程命令(remote command):预定义的命令,可在被监控主机处于某特定下自动执行的命令

  模板(template):用于快速定义被监控主机的预设条码集合。包含item、trigger、graph、screen、application,zabbix(low-level discovery rule)低级别主动发现功能,在一个网段主动添加各种监控,但是相当消耗资源,可以连接到单个主机上。

  应用(application):一组item的集合

  web场景(web scennario):用于检测web站点可用性的一个或者多个http请求。

  前端(frontend):zabbix的web接口。

 zabbix的逻辑结构

   这里需要注意:zabbix poller在被检测端,可能启动多个,因为并行发送快。

zabbix服务器端运行的主要进程

最后: zabbix产生的数据主要由4部分组成:配置数据、历史数据、历史趋势数据、事件数据(知道就可以了)

原文地址:https://www.cnblogs.com/dangjingwei/p/12758562.html