zoukankan      html  css  js  c++  java
  • zabbix 自动发现(LLD)

    概述

    自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法。例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项。此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的监控项。

    上面是官方的解释,简单来说就是创建规则自动发现主机上的不确定数量的items,例如,我们要监控主机上的cpu 使用情况,但是问题来了,主机的cpu 数量每个主机可以不一样,有的8核,有的16核,这时候我们可能就要建立自动发现的规则了,让程序自动发现主机上的cpu 核心数,然后自动监控,并绘图。

    实例:

    创建web 监控,让主机自动监控我们网站,如果我们有一百个或者上千个url,这时不用一个个的去页面添加,可以让zabbix 自动为我们添加

    1.配置zabbix-agent.conf

    UnsafeUserParameters=1   
    Include=/etc/zabbix/zabbix_agentd.d/      #放置用户自定义监控脚本

    2.配置监控脚本

    vim /etc/zabbix/zabbix_agentd.d/url_monitor.conf   

    UserParameter=url.discover,bash /etc/zabbix/LLD/discover.sh          #uri自动发现,用于自动发现我们的url,我们的url可以写到文件里,也可以取指定的地方获取,这里我们为了简单,就直接脚本中返回过去了。
    UserParameter=url.monitor[*],bash /etc/zabbix/LLD/monitor.sh $1    #监控具体的uri是否可以访问。

    note:

     上面的那个discover.sh  脚本做的事情其实就是自动发现url ,然后返回一个json ,形如:

    {"data":[{"{#URI}":"http://www.baidu.com"},{"{#URI}":"http://www.qq.com"},{"{#URI}":"http://www.sina.com"}]}       

    #大致的原理就是利用我们自己提供的脚本发现机器上的监控项然后zabbix server 收到后将这些值赋给我们指定的macro ,在本例中时赋值给  URI,然后zabbix 在将取到的值一个个的传到我们的monitor.sh 脚本中,用户监控具体的itmes。

    vim /etc/zabbix/LLD/monitor.sh                    #监控具体的url,如果成功访问就返回1,失败就返回0,用于页面绘图,脚本中的 $1 其实就是上面discover.sh 这个脚本返回的值,比如;www.baidu.com  , www.qq.com,  www.sina.com

    #!/bin/bash
    curl $1 > /dev/null 2>&1
    if [[ $? == 0 ]]
    then
    echo 1
    else
    echo 0
    fi

    编辑好后重启zabbix-agentd

    ########接下来就是web 页面的操作:

    1.创建自动发现规则:

    configuration  --->>  templates   --->>  template os linux   --->>  discover rules  --->> create discovery rule

    2.创建item 的具体监控方式(上面第一步相当于只是获取到了主机上的具体itme 项名称,而这里时具体怎样去监控上一步发现到的item)

    configuration  --->>  templates   --->>  template os linux   --->>  discover rules  --->> create discovery rule

     

     3.根据发现到的itme 自动创建图形:

    ####查看获取到的图像:

    点击对应的主机,可以看到已经自动发现了我们的url

     到此,我们就可以利用lld自动发现我们的itmes 并应用对应的itme 绘制图形,当然还可以创建触发器触发对应的告警等功能

  • 相关阅读:
    C# WinForm下,隐藏主窗体,只在进程管理器中显示进程,在任务栏,状态栏都不显示窗体的方法
    C#全能数据库操作类及调用示例
    多个汇总列转换为行记录 mssql
    Oracle 10g创建数据库 用户等基本操作
    Jquery基本选择器 层次选择器 过滤选择器 表单选择器使用示例 带注释
    SQL与ORACLE的外键约束级联更新和删除
    C# 屏幕监控 自动截屏程序 主窗体隐藏,仅在进程中显示
    图文讲解VS2010程序打包操作 安装卸载
    查表法按日期生成流水号 mssql
    给DataTable添加主键 几何级提升Select筛选数据的速度
  • 原文地址:https://www.cnblogs.com/dufeixiang/p/11773218.html
Copyright © 2011-2022 走看看