Les stats de requêtes NSD sont récupérées par polling SNMP des NS distants. Ceux-ci exécutent alors le script python nsd_stats.py (version modifiée du munin nsd3 plugin) :

# cat /etc/snmp/snmpd.conf | grep nsd
extend nsd_stats /etc/snmp/bin/python /usr/local/bin/nsd_stats.py

Puisque le script doit être exécuté avec les droits root, j'ai choisi d'utiliser une copie du binaire python auquel je donne les droits suid :

# chmod +s /etc/snmp/bin/python
# ls -l /etc/snmp/bin/python
-rwsr-sr-x 1 root root 2288272 Oct 27 21:17 /etc/snmp/bin/python

NSD est configuré pour émettre des stats toutes les 5 minutes (300 sec.) :

# cat /etc/nsd3/nsd.conf | grep statistics
        # statistics are produced every number of seconds.
        statistics: 300

Voici le graphe résultant :

(s'agissant d'une petite installation domestique traitant peu de trafic, les stats sont données pour l'intervalle de polling de 5 minutes, mais le template peut être très simplement remodifié pour donner les stats moyennes par secondes, il suffit d'enlever le CDEF "Make per 5 minutes" des graph items)

cacti_graph_template_nsd_query_stats.zip