Différences
Ci-dessous, les différences entre deux révisions de la page.
— |
sysadmin:monitoring:bind9 [2015/07/21 16:00] (Version actuelle) james créée |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>monitoring bind9 dns munin}} | ||
+ | ====== Serveur DNS bind9 ====== | ||
+ | Il existe de base 2 plugins munin pour monitorer le serveur DNS bind : | ||
+ | * **bind9** qui permet d'avoir le nombre de requêtes par seconde de chaque type (A, AAAA, PTR, MX, SRV, ...) | ||
+ | * **bind9_rndc** permet d'avoir le type/status des requêtes par seconde (rejections, failures, recursion, ...) renvoyées par //rndc stats// | ||
+ | |||
+ | On va comme d'habitude utiliser une machine debian stable, mais ceci doit s'appliquer moyennant des modifications mineures à n'importe quelle autre distribution | ||
+ | |||
+ | ====== Plugin bind9 ====== | ||
+ | |||
+ | <note important>Si vous souhaitez changer le chemin des logs, pensez a vérifier/adapter la configuration appamor pour que bind puisse bien écrire les logs ou vous voulez. Il va sans dire qu'il faut adapter la suite ;-)</note> | ||
+ | |||
+ | * Il nécessite tout d'abord d'activer les logs de bind si ce n'etait pas deja fait :<code> | ||
+ | # cat << EOF >> /etc/bind/named.conf.options | ||
+ | logging { | ||
+ | channel bind_log { | ||
+ | file "/var/log/named/bind.log" versions 3 size 10m; | ||
+ | severity info; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | print-time yes; | ||
+ | }; | ||
+ | category default { bind_log; }; | ||
+ | category update { bind_log; }; | ||
+ | category update-security { bind_log; }; | ||
+ | category security { bind_log; }; | ||
+ | category queries { bind_log; }; | ||
+ | category lame-servers { null; }; | ||
+ | }; | ||
+ | EOF</code> | ||
+ | * Créer le répertoire qui contiendra ces logs : <code># mkdir /var/log/named/</code> | ||
+ | * Donner a l'utilisateur le droit d'ecrire dedans : <code># chown bind:root /var/log/named/</code> | ||
+ | * Redémarrer bind pour prendre en compte ces changements :<code># service bind9 restart</code> | ||
+ | * On peut ensuite vérifier que le fichier /var/log/named/bind.log a bien été créé :<code>$ ls -l /var/log/named/bind.log</code> | ||
+ | * Il reste ensuite à activer le plugin munin :<code>ln -s /usr/share/munin/plugins/bind9 /etc/munin/plugins/</code> | ||
+ | * Puis a le configurer :<code> | ||
+ | # cat << EOF >> /etc/munin/plugin-conf.d/bind9 | ||
+ | [bind9] | ||
+ | env.logfile /var/log/named/bind.log | ||
+ | EOF | ||
+ | </code> | ||
+ | * Il ne reste qu'a tester ce plugin avec un petit **munin-run bind9** comme dans l'exemple suivant:<code># munin-run bind9 | ||
+ | query_PTR.value 2 | ||
+ | query_MX.value 1 | ||
+ | query_A.value 6687 | ||
+ | query_SRV.value 38 | ||
+ | query_SOA.value 2 | ||
+ | query_AAAA.value 529 | ||
+ | query_other.value 0</code> | ||
+ | * Redémarrer ensuite le noeud munin pour prendre en compte tout ca : <code># service munin-node restart</code> | ||
+ | * Aller ensuite sur votre interface munin et attendre que le graphe apparaisse (10 minutes environ) | ||
+ | |||
+ | ====== Plugin bind9_rndc ====== | ||
+ | |||
+ | Celui la est un peu plus compliqué : il nécessite d'activer le fichier de statistiques bind mais aussi d'ajouter un logrotate dessus pour ne pas remplir votre partition ;p | ||
+ | * Editer le fichier /etc/bind/named.conf.options et ajouter **dans la section options {...}** les lignes suivantes :<code> | ||
+ | // activation des stats pour plugin munin | ||
+ | statistics-file "/var/log/named/named.stats";<code> | ||
+ | * Redémarrer le service : <code># service bind9 restart</code> | ||
+ | * Lancer manuellement la collecte des statisques : <code># rndc stats</code> | ||
+ | * On peut vérifier que ce fichier de statisques a bien été créé | ||
+ | * Activer logrotate sur ce fichier pour éviter de remplir le disque :<code> | ||
+ | # cat << EOF >> /etc/logrotate.d/bind9 | ||
+ | |||
+ | /var/log/named/named.stats { | ||
+ | monthly | ||
+ | missingok | ||
+ | rotate 5 | ||
+ | compress | ||
+ | delaycompress | ||
+ | create 644 bind bind | ||
+ | sharedscripts | ||
+ | copytruncate | ||
+ | } | ||
+ | EOF</code> | ||
+ | * Il reste ensuite à activer le plugin munin :<code>ln -s /usr/share/munin/plugins/bind9_rndc /etc/munin/plugins/</code> | ||
+ | * Puis à le configurer :<code> | ||
+ | # cat << EOF >> /etc/munin/plugin-conf.d/bind9 | ||
+ | [bind9_rndc] | ||
+ | user bind | ||
+ | env.querystats /var/log/named/named.stats | ||
+ | |||
+ | EOF | ||
+ | </code> | ||
+ | * Il ne reste qu'a tester ce plugin avec un petit **munin-run bind9_rndc** comme dans l'exemple suivant:<code># munin-run bind9_rndc | ||
+ | query_recursion.value 1676 | ||
+ | query_success.value 5076 | ||
+ | query_nxrrset.value 313 | ||
+ | query_requests.value 5950 | ||
+ | ... | ||
+ | query_responses.value 5940 | ||
+ | </code> | ||
+ | * Redémarrer ensuite le noeud munin pour prendre en compte tout ca : <code># service munin-node restart</code> | ||
+ | * Aller ensuite sur votre interface munin et attendre que le graphe apparaisse (10 minutes environ) | ||