zoukankan      html  css  js  c++  java
  • Zabbix自动发现之fping

    原文发表于cu2016-06-21

    Zabbix自动发现功能从配置流程上比较简单:Discovery与Action。

    在做Zabbix的自动发现验证时,使用"ICMP ping"的check方式时,自动发现功能并不生效。

    一.环境 

    1. zabbix环境

    Zabbix:zabbix-3.0.1server/agent 

    2. 配置环境

    Discovery

    发现本地网络172.19.200.1-254,Check:ICMP ping,如下:

    Action

    ICMP ping方式下,UP状态的主机添加到"Discovery hosts"组,如下:

    二.自动发现失效 

    1. 现象

    在自动发现的discovery与action流程配置正确的前提下,等待10分钟观察,自动发现功能并不生效。

    2. 定位故障

    #发现有"找不到/usr/sbin/fping文件"的信息记录。
    [root@localhost ~]# vim /tmp/zabbix_server.log
    
    1412:20160621:110040.593 /usr/sbin/fping: [2] No such file or directory

    3. 故障分析

    "ICMP ping"的check方式,使用/usr/sbin/fping命令检测状态,如果系统没有安装或fping命令执行路径有误,则check方式不能发现设备,自动发现功能失效。

    三.安装配置fping 

    1. 安装fping

    #fping相对ping,可以同时ping多个目标并且有多种统计输出格式;
    #fping目前只能通过编译的方式安装
    [root@localhost ~]# cd /usr/local/src
    [root@localhost src]# wget http://www.fping.org/dist/fping-3.13.tar.gz
    [root@localhost src]# tar -zxvf fping-3.13.tar.gz
    [root@localhost src]# cd fping-3.13
    [root@localhost fping-3.13]# ./configure
    [root@localhost fping-3.13]# make && make install 

    2. 配置fping执行路径

    #zabbix_server配置文件中默认fping的执行路径被注释掉了,此时默认路径就为:/usr/sbin/fping
    #可以配置fping的执行路径,如下:
    [root@localhost ~]# sed -i 's|# FpingLocation=/usr/sbin/fping|FpingLocation=/usr/local/sbin/fping|g' /usr/local/zabbix/etc/zabbix_server.conf
    
    #或者不修改 zabbix_server.conf文件,使用软连接ln -s /usr/local/sbin/fping /usr/sbin/fping

    3. 配置fping权限

    #fping必须由root用户执行,如果非root账号执行fping,查看zabbix_server日志会有如下报警信息:
    #21822:20160621:151232.024 fping failed: (null): can't create socket (must run as root?) : Permission denied
    #如果是root账号安装的fping,可以不用修改owner;
    #但zabbix_server是使用zabbix账号调用命令的,可以为fping设置SUID权限,如下:
    [root@localhost ~]# chown root:root /usr/local/sbin/fping
    [root@localhost ~]# chmod u+s /usr/local/sbin/fping 

    四.验证 

    1. 验证Discovery

    Monitoring--> Discovery--> Discovery rule,选择"Local network"(创建discovery时的name),如下:

    2. 验证Action

    Configuration--> Hosts--> Group,选择"Discovery hosts"组,如下:

  • 相关阅读:
    Lock
    synchronized
    线程可见性与原子性
    线程安全问题
    MySQL索引背后的数据结构和原理
    求一颗二叉树中两个节点的最低公共父节点
    Session not active, could not store state 的解决方法
    https nginx 设置
    第三方支付系统
    facebook页面种简单测试js调用flash开放的js接口的方法
  • 原文地址:https://www.cnblogs.com/netonline/p/7491513.html
Copyright © 2011-2022 走看看