[bind10-dev] Statistics gathering and publishing
Jeremy C. Reed
jreed at isc.org
Thu Aug 27 13:52:53 UTC 2009
In June, Evi suggested some type of "stats daemon" similar to syslogd for
listening to and handling statistics.
It would be nice to have sometype of generic handler for this, maybe could
be reused by other projects.
Gathering ideas:
- Received over a UNIX domain datagram log socket (like /dev/log)
- received over TCP / maybe using XMPP?
- received over UDP / maybe using SNMP?
Message data tagged with:
- sender: program, hostname
- identifiers: the type of data (more specific that syslog facility). This
clearly describes the data so it can be stored and reused correctly.
Store ideas:
The "stats" daemon could be configured to:
- dump to flat file
- forward to another stats daemon server
- reformat and log via syslog (for low quantities)
- pipe into a storage tool (like rrdtool)
- create RRD (rrdtool compatible Round Robin Database files)
- store in memory, configured for a certain limits and stop when full or
cycle
- maybe configuration for this could also have threshold checks and
possible notifications -- i.e. simple real-time monitoring and
reporting.
Retrieval:
- if configured to store in memory, then need a way to ask for it.
- be able to request / filter type of data
Publishing:
- separate tool to use previously stored data or real-time retrieved data
from stats daemon and generate BIND 9 style XML
- use rrdtool (for time-based stats) to generate reports
- use outside tools to generate graphs.
-=-=-=-=-=-=
I found a tool but haven't tried it yet:
collectd
http://collectd.org/
- It gathers statistics.
- Can listen on Unix domain socket, unicast, IPv6, multicast.
- It can write RRD files.
- Data is collected and sent (pushed) to a multicast group or server.
- It doesn't generate graphs. Other tools for that.
- Over 70 plugins. For example for BIND 9 XML and libpcap DNS traffic:
http://collectd.org/wiki/index.php/Plugin:BIND
http://collectd.org/wiki/index.php/Plugin:DNS
- Can encrypt traffic.
- Can use signed or encrypted traffic.
- SNMP support
- Can do threshold checking for notifications (as a monitoring type
system).
- supposedly lightweight and efficient where one daemon can handle
hundreds of clients
- I don't see any plugin for collectd to listen on or send data via XMPP.
- collectd is licensed with GPLv2
Maybe collectd could work for BIND 10 stats collection.
Or maybe it should be looked at for ideas.
Jeremy C. Reed
ISC
More information about the bind10-dev
mailing list