mardi 7 juin 2016

Installation de Munin sur le noeud bitcoin (statistiques graphiques)



INSTALLATION DE MUNIN ET CONFIGURATION DU RASPBERRY PI

Avant Propos 

Si vous avez suivi le tuto concernant l'installation et la configuration du noeud bitcoin, vous serez surement intéressé de pouvoir consulter à tout moment l'état du noeud de façon plus complète grâce à un serveur web consultable à distance. Pour cela, nous allons installer sur le raspberry un logiciel permettant d'effectuer un suivi via des graphiques de l'état du système et du fonctionnement du noeud en général.




INSTALLATION DU SERVEUR WEB APACHE ET MUNIN

Nous allons commencer par installer un serveur web apache :

pi@rokos~$ sudo apt-get install apache2 libcgi-fast-perl libapache2-mod-fcgid

Vérifier l'installation d'apache en tapant l'adresse ip de votre raspberry dans un navigateur. Vous devez obtenir la page de démarrage du serveur web apache :


Installer le calculateur basique (nécessaire à un plugin munin pour bitcoin) :

pi@rokos~$ sudo apt-get install bc

Installer le grapheur munin :

pi@rokos~$ sudo apt-get install munin munin-node munin-plugins-extra 

Pour éviter de solliciter la carte sd du raspberry pour les écritures des données statistiques du grapheur, nous allons créer des dossiers sur le disque USB externe.

Pour cela, taper :

pi@rokos~$ cd /home/pi/bitcoinData
pi@rokos~$ mkdir munin

pi@rokos~$ mkdir munin/dbdir
pi@rokos~$ mkdir munin/htmldir
pi@rokos~$ mkdir munin/logdir 

Modifier le fichier munin.conf et changer les dossiers de base pour les faire pointer sur le disque dur externe:
sudo nano /etc/munin/munin.conf

Coller le texte suivant dans le fichier :

dbdir    /home/pi/bitcoinData/munin/dbdir
htmldir /home/pi/bitcoinData/munin/htmldir
logdir  /home/pi/bitcoinData/munin/logdir


Relancer le service munin :
pi@rokos~$ sudo service munin-node restart

re-configuration de munin pour tenir compte des nouveaux paramètres :

pi@rokos~$ su - root  (tapez votre mot de passe root, par défaut raspberry)
root@rokos:~# su - munin --shell=/bin/bash
munin@rokos:~$ munin-cron

=> Attendre 2 mn le temps que la config se fasse sur le DD externe.

Créer le fichier "bitcoind" :

pi@rokos~$ sudo nano /etc/munin/plugin-conf.d/bitcoind

Lui coller le contenu suivant :
[bitcoind*]
user pi


Copier le fichier de configuration bitcoin sur le lecteur USB :

pi@rokos~$ cp /home/pi/.bitcoin/bitcoin.conf /home/pi/bitcoinData/bitcoin.conf

Modifier le contenu du fichier apache24.conf pour autoriser les utilisateurs à se connecter au serveur web  :

pi@rokos~$ sudo nano /etc/munin/apache24.conf

Modifier le fichier comme suit :

Alias /munin /home/pi/bitcoinData/munin/htmldir
<Directory /home/pi/bitcoinData/munin/htmldir>
 # Require local
 Require all granted
 Options FollowSymLinks SymLinksIfOwnerMatch
 Options None
</Directory>

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
 # Require local
 Require all granted
 Options FollowSymLinks SymLinksIfOwnerMatch
 <IfModule mod_fcgid.c>
 SetHandler fcgid-script
 </IfModule>
 <IfModule !mod_fcgid.c>
 SetHandler cgi-script
 </IfModule>
</Location>


Relancer le serveur Apache :
pi@rokos~$ sudo service apache2 restart

Relancer le service munin :
pi@rokos~$ sudo service munin-node restart

Se connecter avec un navigateur avec l'adresse ip locale de votre raspberry :
http://Votre Adresse IP/munin

Vous devez obtenir ce retour :


A ce niveau, la catégorie "bitcoind" ne doit pas être présente, il faut ajouter les plugins qui permettent de surveiller le fonctionnement du noeud bitcoin et de bitcoin core.

INSTALLATION DES PLUGINS BITCOIN

Vous pouvez installer uniquement les plugins qui vous intéressent :

1) bitcoind_blockchain_verification


Plugin permettant de surveiller le pourcentage de récupération de la blockchain. Si le noeud fonctionne en permanence, vous serez toujours près des 100% 

pi@rokos~$ cd /usr/share/munin/plugins 
pi@rokos /usr/share/munin/plugins $  sudo nano bitcoind_blockchain_verification

Copier le texte ci-dessous, puis collez le dans le fichier :

CTRL-X pour sauvegarder et quitter.

pi@rokos /usr/share/munin/plugins $  sudo chmod 755 bitcoind_blockchain_verification
pi@rokos /usr/share/munin/plugins $  cd /etc/munin/plugins
pi@rokos /etc/munin/plugins $  sudo ln -s /usr/share/munin/plugins/bitcoind_blockchain_verification bitcoind_blockchain_verification

2) bitcoind_connections

Plugin permettant de surveiller le nombre de connections entrantes et sortantes de votre noeud bitcoin (par défaut le nombre de connections sortantes est limité à un maximum de 8, tandis que le nombre de connections entrantes peut-être configuré à votre guise, par défaut 125).

pi@rokos~$ cd /usr/share/munin/plugins 
pi@rokos /usr/share/munin/plugins $  sudo nano bitcoind_connections

Copier le texte ci-dessous, puis collez le dans le fichier :

CTRL-X pour sauvegarder et quitter.

pi@rokos /usr/share/munin/plugins $  sudo chmod 755 bitcoind_connections
pi@rokos /usr/share/munin/plugins $  cd /etc/munin/plugins
pi@rokos /etc/munin/plugins $  sudo ln -s /usr/share/munin/plugins/bitcoind_connections bitcoind_connections

3) bitcoind_network_traffic

Ce plugin permet de suivre l'évolution du trafic réseau en entrée/sortie généré par le noeud bitcoin depuis son lancement.

pi@rokos~$ cd /usr/share/munin/plugins 
pi@rokos /usr/share/munin/plugins $  sudo nano bitcoind_network_traffic


Copier le texte ci-dessous, puis collez le dans le fichier :

CTRL-X pour sauvegarder et quitter.

pi@rokos /usr/share/munin/plugins $  sudo chmod 755 bitcoind_network_traffic
pi@rokos /usr/share/munin/plugins $  cd /etc/munin/plugins
pi@rokos /etc/munin/plugins $  sudo ln -s /usr/share/munin/plugins/bitcoind_network_traffic bitcoind_network_traffic

4) bitcoind_blocks

Ce plugin indique le nombre de blocks actuellement dans la blockchain.

pi@rokos~$ cd /usr/share/munin/plugins 
pi@rokos /usr/share/munin/plugins $  sudo nano bitcoind_blocks

Copier le texte ci-dessous, puis collez le dans le fichier :

CTRL-X pour sauvegarder et quitter.

pi@rokos /usr/share/munin/plugins $  sudo chmod 755 bitcoind_blocks
pi@rokos /usr/share/munin/plugins $  cd /etc/munin/plugins
pi@rokos /etc/munin/plugins $  sudo ln -s /usr/share/munin/plugins/bitcoind_blocks bitcoind_blocks

5) bitcoind_mempool_bytes


Ce plugin permet de connaitre le nombre de transactions en attente dans la mempool.

pi@rokos~$ cd /usr/share/munin/plugins 
pi@rokos /usr/share/munin/plugins $  sudo nano bitcoind_mempool_bytes

Copier le texte ci-dessous, puis collez le dans le fichier :

CTRL-X pour sauvegarder et quitter.

pi@rokos /usr/share/munin/plugins $  sudo chmod 755 bitcoind_mempool_bytes
pi@rokos /usr/share/munin/plugins $  cd /etc/munin/plugins
pi@rokos /etc/munin/plugins $  sudo ln -s /usr/share/munin/plugins/bitcoind_mempool_bytes bitcoind_mempool_bytes

6) bitcoind_estimatefee7


Ce plugin permet d'estimer les frais d'une transaction bitcoin prioritaire (à confirmer dans les 7 blocs suivants). Permet d'avoir une idée sur l'engorgement du reseau bitcoin. Plus les frais sont elevés, plus le reseau bitcoin sature..n,

pi@rokos~$ cd /usr/share/munin/plugins 
pi@rokos /usr/share/munin/plugins $  sudo nano bitcoind_estimatefee7

Copier le texte ci-dessous, puis collez le dans le fichier :

CTRL-X pour sauvegarder et quitter.

pi@rokos /usr/share/munin/plugins $  sudo chmod 755 bitcoind_estimatefee7
pi@rokos /usr/share/munin/plugins $  cd /etc/munin/plugins
pi@rokos /etc/munin/plugins $  sudo ln -s /usr/share/munin/plugins/bitcoind_estimatefee7 bitcoind_estimatefee7

7) bitcoind_cout_transaction_euro


Dnas le même ordre d'idée, ce plugin permet d'estimer les frais d'une transaction bitcoin prioritaire (à confirmer dans les 7 blocs suivants) mais en Euro. La conversion se fait directement avec le dernier cours connu du bitcoin sur la plateforme Kraken.com.

Pour récupérer le dernier cours connu du bitcoin sur kraken, nous allons utiliser l'api fournie par kraken dans un petit script en python :


pi@rokos~$ nano /home/pi/kraken.py


Copier le texte ci-dessous, puis collez le dans le fichier :

CTRL-X pour sauvegarder et quitter.

pi@rokos~$ cd /usr/share/munin/plugins 
pi@rokos /usr/share/munin/plugins $  sudo nano bitcoind_cout_transaction_euro

Copier le texte ci-dessous, puis collez le dans le fichier :

CTRL-X pour sauvegarder et quitter.

pi@rokos /usr/share/munin/plugins $  sudo chmod 755 bitcoind_cout_transaction_euro
pi@rokos /usr/share/munin/plugins $  cd /etc/munin/plugins
pi@rokos /etc/munin/plugins $  sudo ln -s /usr/share/munin/plugins/bitcoind_cout_transaction_euro

Lorsque toutes les configurations de plugins sont faites, relancer le service munin :
pi@rokos~$ sudo service munin-node restart

Tester un plugin (exemple avec le plugin bitcoind_extimatefee7) :

cd /etc/munin/plugins
sudo munin-run bitcoind_estimatefee7





Si tout est ok, le plugin doit renvoyer les valeurs visibles sur le graphe.



Pour pouvoir maintenant accéder aux graphiques depuis internet, il faut configurer votre box pour que le serveur apache puisse accepter les connections.


Connectez vous à votre box (pour moi, je tape 192.168.1.1 dans mon navigateur puis mon nom d'utilisateur/mot de passe personnel). Dans la partie "Réseau", puis "Paramètres Avancés" et "Transfert de ports", il faut ajouter le port 80 qui va être redirigé vers l'adresse IP de notre réseau local du raspberry (pour moi, 192.168.1.16) comme ci-dessous :


Voila, maintenant, vous pouvez accéder aux statistiques de votre noeud bitcoin depuis n'importe quel  appareil relié à internet avec votre adresse IP publique.

Tapez dans votre navigateur : http://Votre adresse ip publique/munin



Aucun commentaire:

Enregistrer un commentaire