Новини:
Я виклав цю штуку (трохи «заребрендерив» її — тепер це SPy Bulk Grapher, або ж SPyBG!-) на github’і — https://github.com/brownian/SPyBG.
Сталося це тому (я ж бо ніколи про це якось і не думав), що виникло бажання дописати деякі можливості, а це буде зручніше робити з нормальним керуванням кодом, з розгалуженнями тощо — а думка зробити сховище публічним (не на bitbucket.org, скажімо) вже й не дискутувалася :О)
PySDTG — (Python’ed) SNMP Devices Traffic Grapher. Чим мене не влаштовував MRTG? — він занадто розумний. Можна сконфігурувати на витягання чого завгодно, можна обробляти витягнуті дані перед записом у базу… Але мегабайтні конфігураційні файли почали трохи гальмувати роботу (~60 пристроїв, раз на 5 хвилин… і він став повільний, як на мене).
Тому я написав набір скриптів (Python, py-snmp, py-rrdtool), які роблять «те саме» і трохи більше:
- витягають статистику — байти, пакети, помилки — і складають у rrd бази
- дають змогу витягати вибірково 32-бітні чи 64-бітні лічильники
- витягають описи (description) інтерфейсів
- показують байти, пакети (unicast, broadcast), помилки, байти/пакети («байт на пакет») у лінійній та/чи логарифмічній
- дають змогу шукати інтерфейс за регулярним виразом (коли інтерфейсів багато, це дуже зручно)
- поновлюють конфігурації
- накопичують статистику роботи у rrd базах (час виконання, час роботи «підсистеми» SNMP, кількість помилок)
- дозволяють визначати «агрегації» інтерфейсів і показуть для них статистику (з індивідуальним вибором окремих інтерфейсів з агрегації) — beta.
Працює досить швидко — зараз біля 130 пристроїв (більше 4 тис. інтерфейсів), витягає кожні дві хвилини шість SNMP таблиць для кожного інтерфейса.
Ось статистика (кількість приладів, час роботи, помилки) за останній рік:
Викладу пізніше (трохи підчищу). Кому цікаво, пишіть.