Chinaunix首页 | 论坛 | 博客
  • 博客访问: 350415
  • 博文数量: 34
  • 博客积分: 251
  • 博客等级: 二等列兵
  • 技术积分: 419
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-21 15:50
文章分类

全部博文(34)

文章存档

2017年(5)

2016年(19)

2012年(10)

我的朋友

分类: 系统运维

2016-06-21 17:46:09

Zabbix自动发现功能从配置流程上比较简单:DiscoveryAction

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

一.环境

1.    zabbix环境

Zabbixzabbix-3.0.1server/agent

2.    配置环境

Discovery

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

Action

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


二.自动发现失效

1.    现象

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

2.    定位故障

查看zabbix_server日志,编译安装的zabbix_server日志默认在/tmp下。

点击(此处)折叠或打开

  1. [root@localhost ~]# vim /tmp/zabbix_server.log
  2. 1412:20160621:110040.593 /usr/sbin/fping: [2] No such file or directory

发现有“找不到/usr/sbin/fping文件”的信息记录。

3.    故障分析

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

三.安装配置fping

1.    安装fping

fping相对ping,可以同时ping多个目标并且有多种统计输出格式;fping只能通过编译的方式安装。

点击(此处)折叠或打开

  1. [root@localhost ~]# cd /usr/local/src
  2. [root@localhost src]# wget http://www.fping.org/dist/fping-3.13.tar.gz
  3. [root@localhost src]# tar -zxvf fping-3.13.tar.gz
  4. [root@localhost src]# cd fping-3.13
  5. [root@localhost fping-3.13]# ./configure
  6. [root@localhost fping-3.13]# make
  7. [root@localhost fping-3.13]# make install

2.    配置fping执行路径

zabbix_server配置文件中默认fping的执行路径被注释掉了,此时默认路径就为:/usr/sbin/fping

可以配置fping的执行路径,如下:

点击(此处)折叠或打开

  1. [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日志会有如下报警信息:

点击(此处)折叠或打开

  1. 21822:20160621:151232.024 fping failed: (null): can't create socket (must run as root?) : Permission denied

zabbix_server是使用zabbix账号调用命令的,可以为fping设置SUID权限,如下:

点击(此处)折叠或打开

  1. [root@localhost ~]# chown root:root /usr/local/sbin/fping
  2. [root@localhost ~]# chmod u+s /usr/local/sbin/fping

#如果是root账号安装的fping,可以不用修改owner

四.验证

1.    验证Discovery

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

2.    验证Action

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

阅读(5391) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~