• 一.监控基础及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部分组成:配置数据、历史数据、历史趋势数据、事件数据(知道就可以了)

  • 相关阅读:
    js原型、原型链、继承的理解
    实用的Object操作方法
    数组操作方法汇总
    ES6数组去重、字符串去重
    ES6新增数据结构:Set和Map
    canvas图片、文字在移动端显示模糊问题
    Tabindex
    javascript 单元测试初入门
    ng-file-upload(在单文件选择,并且通过点击“上传”按钮上传文件的情况下,如何在真正选择文件之前保留上一文件信息?)
    如何优化表单验证
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/12758562.html
走看看 - 开发者的网上家园