Buffaloの無線LAN APのクライアント数をZabbixに記録する


概要

  • 社員から無線LANの接続が切れる事象が報告される
  • 前回の調査から、NAPTテーブル溢れが原因ではないことが判明
  • 今度は無線APの接続数を調査

環境

  • 無線AP: Buffalo社製 WAPS-APG600H
  • Zabbix 3.4.7

Zabbix設定

外部チェックスクリプト

Zabbixサーバに以下の外部チェックスクリプトを配置。

count_airstation_clients.sh
#!/bin/bash

HOST=$1
COMMUNITY=$2
IFACE=${3:-"1"}

snmpbulkwalk -v2c -c ${COMMUNITY} ${HOST} SNMPv2-SMI::mib-2.17.4.3.1.2 \
 | grep "INTEGER: ${IFACE}" | wc -l

このスクリプトでやっているのは、snmpbulkwalkSNMPv2-SMI::mib-2.17.4.3.1.2以下の項目数をカウントしている。

正式なドキュメントは見つからなかったが、SNMPv2-SMI::mib-2.17.4.3.1.2.(MACアドレス)の値が2のものが、Web管理画面の「11g」「クライアントモニター」の端末に一致し、値が3のものが「11a」「クライアントモニター」の端末に一致したので、この項目から値を拾っている。

値が1のものはおそらく有線LAN側のARPテーブルを表示しているものと思われる。

ZabbixにはLow Level Discoveryという機能でSNMPの項目名と値を自動で拾ってくれる機能があるが、項目数を数える機能は見つけられなかった。

Item登録

Zabbixの管理画面から「Configuration」「Templates」で無線LANのAP用のテンプレートを選択し、「Item」「Create Item」からItemを作成する。

  • 11g側
    • Name: 「Wireless Clients 11g」
    • Type: 「External check」
    • Key: count_airstation_clients.sh["{HOST.CONN}", "{$SNMP_COMMUNITY}", "2"]

  • 11a側
    • Name: 「Wireless Clients 11a」
    • Type: 「External check」
    • Key: count_airstation_clients.sh["{HOST.CONN}", "{$SNMP_COMMUNITY}", "3"]

Graph登録

上記で追加したItemを「Create Graph」からGraphにする。

結果

WAPS-APG600Hは11g側と11a側でそれぞれ最大25台まで接続可能なのだが、
従業員が集まる朝8時半からの朝会の時間帯に全部使いきっていることが判明。

社員数が増加しているので、やはり機器を増強しないとな・・・