Здравствуй, Хабр!
В процессе своей работы (администрирование активного оборудования) столкнулся с необходимостью оперативного получения онлайн-данных (желательно с графиком) входящего/исходящего трафика на сетевом интерфейсе по SNMP.
При этом всегда попадается такое оборудование, которое либо не заведено в систему мониторинга, либо требует просмотра статистики чаще, чем раз в минуту (как rrdtool).
А в арсенале, зачастую, лишь консоль сервера на Windows или Debian.
Вот тогда и появилась идея сделать небольшую утилитку обладающую следующими возможностями:
— кроссплатформенность;
— без зависимостей (статическая линковка библиотек);
— построение графиков в онлайн-режиме;
— построение графиков в консоли (псевдографика — спасибо, curses);
— шаблоны для специальных OID (пока один для ifInOctets и ifOutOctets);
— возможность прорисовки нескольких кастомных графиков.
Пока альфа-версия бинарников. Разместил здесь на Sourceforge.
Проверено на Windows 7/8/10 32-bit и 64-bit. Debian и Ubuntu.
Кушает данные SNMP — COUNTER, INTEGER, GAUGE.
Примеры запуска утилиты.
Список интерфейсов с OID.
wtraf 10.1.16.2 -l
Теперь знаем OID интерфейса (наш №3) и запускаем.
wtraf 10.1.16.2 -i 3
Результат на Windows 8 в небольшом консольном окне:
Результат на Ubuntu 18.04 LTS на весь экран:
Запускаем с интервалом сбора данных (раз в 5 сек.) и ограничиваем пропускную способность до 50 МБит/сек.
wtraf 10.1.16.2 -i 3 -n 5 -m 50
Результат в PuTTY (прим. — для удобства восприятия график исходящего трафика течет слева, входящего — справа):
А теперь самое сочное. Пример кастомных графиков.
wtraf.exe 10.1.16.2 -xc -a .1.3.6.1.2.1.2.2.1.10.2:LAN:rl:x,8,*,1000,/,1000,/:Mbit/s -a .1.3.6.1.2.1.2.2.1.10.3:Internet:bl:x,8,*,1000,/,1000,/:Mbit/s:80 -a .1.3.6.1.2.1.2.2.1.10.4:LAN_to_GUS:gl:x,8,*,1000,/,1000,/:Mbit/s
В свою очередь хочу довести до ума утилитку, может порадует админов.
Буду благодарен выявленным ошибкам. На данный момент их очень много, не все залатал.