Одним из самых распространённых средств удалённого мониторинга является Zabbix, который позволяет достаточно легко и быстро наладить наблюдение за всеми узлами сети.
Чаще всего при настройке мониторинга администраторы удовлетворяются штатными возможностями системы, однако одним из главных преимуществ Zabbix является возможность определять свои параметры для мониторинга и следить за ними. Далее будет показано как можно мониторить уровень сигнала на Wi-Fi адаптере.
Сперва рассмотрим начальные условия: у нас есть некоторый сервер, работающий под управлением Debian и подключенный к локальной сети организации с помощью Wi-Fi (в силу рядя соображений был выбран именно этот способ). Беспроводной интерфейс, уровень сигнала на котором нас интересует, имеет имя wlan0.
Допустим что zabbix-agent у нас уже установлен и сконфигурирован. Обычно файл конфигурации имеет вид (комментарии пропущены) подобный вот этому:
Server=monitoring.our_firm.domain Hostname=localhost StartAgents=5 DebugLevel=3 PidFile=/var/run/zabbix-agent/zabbix_agentd.pid LogFile=/var/log/zabbix-agent/zabbix_agentd.log Timeout=3
Удобнее всего получать уровень сигнала на беспроводном интерфейсе из вывода утилиты iwconfig:
/sbin/iwconfig wlan0 | grep Quality | cut -d '=' -f2 | cut -d '/' -f1
В этом случае как раз и будет получен уровень сигнала в процентах (в виде числа от 0 до 100). Теперь нужно создать свой ключ в zabbix-agent. Назовём этот ключ "net.wifi.quality" и в качестве параметра будем указывать имя интерфейса для сбора информации. Для этого добавим в конец файла /etc/zabbix/zabbix_agentd.conf строку:
UserParameter=net.wifi.quality[*],/sbin/iwconfig $1 | grep Quality | cut -d '=' -f2 | cut -d '/' -f1
Далее необходимо перезапустить zabbix-agent:
invoke-rc.d zabbix-agent restart
Всё. Теперь агент готов отдавать нужную нам информацию. Переходим к настройке сервера.
Заходим в web-интерфейс системы с правами администратора и переходим по ссылкам: «Настройка» -> «Узлы сети» -> выбираем нужный нам хост и жмём «Выбрать» -> «Элементы данных» -> «Создать элемент данных».
В открывшемся окне создаём элемент со следующими параметрами:
Параметр | Значение |
---|---|
Описание: | Wi-Fi link quality |
Тип: | ZABBIX агент |
Ключ: | net.wifi.quality[wlan0] |
Тип данных: | Числовой (целое 64 бита) |
Единица измерения: | % |
Использовать множитель: | Не использовать |
Интервал обновления (секунды): | 60 |
Flexible intervals (sec): | No flexible intervals |
Хранить историю (дни): | 7 |
Хранить динамику изменений (дни): | 365 |
Статус: | Активен |
Хранить значение: | Как есть |
Показывать значение throw map: | Как есть |
Группы элементов данных: | Network |
Закончив настройку нового элемента сохраняем его. Теперь каждую минуту с точки будет сниматься информация о величине сигнала. На основании этой информации будет рисоваться график, посмотреть который можно перейдя по ссылкам: «Мониторинг» -> «Обзор» и выбрав в открывшейся таблице клеточку с параметром «Wi-Fi link quality» для нужного хоста.
Пример получаемого графика показан на рисунке. Интересно что этот график получен на компьютере, положение которого относительно Wi-Fi-точки остаётся постоянным (и компьютер и точка стационарны).
Колебания уровня сигнала можно объяснить изменениями электромагнитных свойств среды, связанными с хождением людей и перемещением предметов между точкой и компьютером (расстояние между ними по прямой - около пятнадцати метров. однако на пути сигнала присутствует две стены из железобетона).
Приятной работы!
Eugene Katsevman 2009-01-20 17:53:06 (#)
Если я не ошибаюсь то на сигнал Wi-Fi ещё влияет погодные условия, в сильную грозу можно вообще лишиться сети...