PySDTG

Some news:
I have rebrandered my snmp traffic grapher — now it is SPy Bulk Grapher, or SPyBG, hip-hop!-) — and created a repository at github: SPyBG.

This happened (i had not thought of this before, at all) because i started to feel like i want to add some features and decided that this would be much easier with code management, using branches etc-etc — so, whether to make repository open or closed (at bitbucket.org, for instance) was not a question at all :О)

PySDTG — (Python’ed) SNMP Devices Traffic Grapher. What’s wrong with MRTG? — it’s too clever. It’s possible to configure to fetch virtually everything, it’s possible to process data before storing… But those configuration files up to several megabytes started to slow down its job ( 60 devices, every 5 minutes… and it became slow as for me).
That’s why i wrote a set of scripts (Python, py-snmp, py-rrdtool), which do «the same» and slightly more:

  • fetch statistics — bytes, packets, errors — and store in rrd bases
  • allows to choose 32-bit or 64-bit counters to fetch
  • fetch descriptions of interfaces
  • show graphs with bytes, packets (unicast, broadcast), errors, bytes per packet with linear or logarithmic format
  • give a possibility to search interface by description (regexp) — it’s very useful when there are a lot of interfaces
  • update its configuration
  • collect statistic about work (total an SNMP) time, SNMP errors etc
  • give a possibility to define an aggregations of interfaces and display statistic for aggregation (with every single interface on/off) — beta

Fetching script works quite fast — now it processes 130 devices (4+ thousand interfaces), every 2 minutes fetches six SNMP tables for every interface.

Here is some statistic (devices number, working time, errors) for last year:

I will put it here some time later, I hope (after some «make-up»).
Write me, if you are interesting.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.