首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >zabbix自动发现华为AC6605管理AP状态以及连接数

zabbix自动发现华为AC6605管理AP状态以及连接数

原创
作者头像
cuijianzhe
修改2025-04-10 15:26:03
修改2025-04-10 15:26:03
16500
代码可运行
举报
文章被收录于专栏:cuijianzhecuijianzhe
运行总次数:0
代码可运行

Zabbix 通过 SNMP 获取 AP 信息配置教程

一、准备工作

  1. 获取 SNMP OID 值
    • 具体的 MIB 文件可以在官方网站上查找。
  2. Zabbix 安装
    • 通过 yum 安装或本地源码编译安装。
      • yum 安装:
        • Zabbix 运行脚本目录:/usr/lib/zabbix/externalscripts
        • Zabbix 配置文件目录:/etc/zabbix/zabbix_agentd.d
      • 本地源码编译安装:
        • Zabbix 运行脚本目录:/usr/local/zabbix/share/zabbix/externalscripts
        • Zabbix 配置文件目录:/usr/local/zabbix/etc/zabbix_agentd.conf.d

二、编写 Shell 脚本

示例 Shell 脚本(apdiscovery.sh)

代码语言:bash
复制
#!/bin/bash
id=$(snmpwalk -v 2c -c limi@2018 10.200.250.5 1.3.6.1.4.1.2011.6.139.13.3.10.1.5 | cut -f1 -d"=" | cut -f10 -d".")
id_array=(${id})
sum=$(snmpwalk -v 2c -c limi@2018 10.200.250.5 1.3.6.1.4.1.2011.6.139.13.3.10.1.5 | wc -l)
name=$(snmpwalk -v 2c -c limi@2018 10.200.250.5 enterprises.2011.6.139.13.3.10.1.5 | awk '{print $4}' | sed 's/"//g')
name_array=($name)
printf '{"data":[ '
for ((i=0; i<$sum; i++))
do
    printf "{\"{#APID}\":\"${id_array[$i]}\",\"{#APNAME}\":\"${name_array[$i]}\" }"
    if [ $i -lt $[ $sum - 1 ] ]; then
        printf ','
    fi
done
printf " ]}"

示例 Python 脚本

代码语言:python
代码运行次数:0
运行
复制
#!/bin/env python3
import subprocess
import json

def ApList():
    CMD = "snmpwalk -v 2c -c limi@2018 10.200.250.5 1.3.6.1.4.1.2011.6.139.13.3.10.1.5"
    Result_str = subprocess.getoutput(CMD)
    tmp_list = Result_str.split("\n")
    ap_dict = {}
    for line in tmp_list:
        apName = eval(line.split(':')[3])
        apId = line.split('=')[0].split('.')[9]
        ap_dict[apId] = apName
    return ap_dict

# if __name__ == "__main__":
Results = ApList()
aps = []
for apinfo in Results:
    aps += [{'{#APID}': apinfo, '{#APNAME}': Results[apinfo]}]
print(json.dumps({'data': aps}, sort_keys=True, indent=4, separators=(',', ':')))

三、配置 Zabbix

  1. 创建配置文件
    • /etc/zabbix/zabbix_agentd.d 目录下创建 monitor_wlan.conf 文件。
    • 取出 AP-id 和 ap-name。
  1. AP 状态脚本
    • 需要将自动发现脚本(apdiscovery)里面的参数 ap-id 传参进来。
  2. AP 连接用户数脚本
    • 例如,可以通过 SNMP 获取 AP 连接用户数等信息。
  1. 配置 zabbix_agentd 的配置目录里面的脚本关系
代码语言:bash
复制
[root@zabbix /usr/local/zabbix/etc/zabbix_agentd.conf.d]# cat discoveryapid.conf
UserParameter=discovery_apid,/usr/local/zabbix/share/zabbix/externalscripts/apdiscovery.sh
UserParameter=discoveryapuser[*],/usr/local/zabbix/share/zabbix/externalscripts/apuser.sh $1
UserParameter=ap.status[*],/usr/local/zabbix/share/zabbix/externalscripts/ap_status.sh $1
  1. 创建模板
  1. 创建自动发现规则。
  1. 配置监控项原型。
  1. 设置触发器。
  1. 新建主机
  • 绑定模板。
  1. 等待结果
    • 等待几分钟后便可出来结果(AP 上下行速率自动发现同理)。
  1. 报警内容
    • 配置相应的报警内容和通知方式。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Zabbix 通过 SNMP 获取 AP 信息配置教程
    • 一、准备工作
    • 二、编写 Shell 脚本
      • 示例 Shell 脚本(apdiscovery.sh)
      • 示例 Python 脚本
    • 三、配置 Zabbix
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档