La carte est Micro SD : Carte Mémoire microSDXC SanDisk Ultra 64GB
Le disque SSD : Kingston SSD A400 - 120GB Disque SSD (2.5" , SATA 3)
J’ai donc mes premières statistiques via Munin :
Sur Amazon, la référence est : “5 pouces LCD B Rev2.1 Touch Control Win10 résistif Screen HDMI interface 800*480 with Bicolor case Supports Various Systems Pour Raspberry pi3/3B+/2 “ à 40,99 Euros.
Ma version de raspberry est la suivante :
$ hostnamectl
Static hostname: osmc
Icon name: computer
Machine ID: 1671b5b617884fdf85a465a5ac731b8f
Boot ID: fe304875cb0a49dd835e4a2c5d8c6ee4
Operating System: Open Source Media Center
Kernel: Linux 4.14.34-6-osmc
Architecture: arm
Il faut modifier le fichier /boot/config.txt , mon fichier d’origine est :
J’ai voulu reprendre une citation de Jacques Séguéla : “Si à 50 ans on n’a pas une Rolex, c’est qu’on a raté sa vie”. Personnellement mettre plus de 8000 Euros dans une montre qui indique seulement l’heure, je trouve cela un peu stupide … Si je devais investir dans une montre sans hésiter je prendrais une Garmin Fénix 5X (Sapphire, Gray titane et carbone amorphe avec bracelet en titane et carbone amorphe) à 1200 Euros ( GPS, GLONASS et Galileo + carte TOPO de l’Europe + cardio poignet Garmin Elevate + oxymètre de pouls + … ). Mettre 8000 Euros dans un montre qui indique seulement l’heure, misère. En plus on doit plus avoir de chance de se faire agresser avec une Rolex ;) . Revenons à nos moutons, ou plutôt à notre salle serveur ( plus exactement notre boite serveur ).
Voici les étapes, on commence par vérifier que l’on a la même version que moi :
osmc@osmc:~$ uname -a
Linux osmc 4.14.34-6-osmc #1 SMP PREEMPT Thu Sep 6 00:47:56 UTC 2018 armv7l GNU/Linux
osmc@osmc:~$ cat /etc/*release
PRETTY_NAME="Open Source Media Center"
NAME="OSMC"
VERSION="August 2018"
VERSION_ID="2018.08-2"
ID=osmc
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="https://www.osmc.tv"
SUPPORT_URL="https://www.osmc.tv"
BUG_REPORT_URL="https://www.osmc.tv"
osmc@osmc:~$ sudo mii-tool eth0
eth0: negotiated 1000baseT-HD flow-control, link ok
Maintenant que vous avez vu que vous aviez la même version que moi, on peut commencer :
Ma configuration ( admin est le nom de mon serveur QNAP, son IP est dans /etc/hosts ) :
Les étapes :
osmc@osmc:~$ sudo apt-get install libnet-snmp-perl
osmc@osmc:~$ sudo apt-get install nmap
osmc@osmc:~$ sudo munin-node-configure --shell --snmp admin --snmpversion 2 --snmpcommunity QNAP
ln -s '/usr/share/munin/plugins/snmp__df' '/etc/munin/plugins/snmp_admin_df'
ln -s '/usr/share/munin/plugins/snmp__df_ram' '/etc/munin/plugins/snmp_admin_df_ram'
ln -s '/usr/share/munin/plugins/snmp__if_' '/etc/munin/plugins/snmp_admin_if_1'
ln -s '/usr/share/munin/plugins/snmp__if_' '/etc/munin/plugins/snmp_admin_if_3'
ln -s '/usr/share/munin/plugins/snmp__if_err_' '/etc/munin/plugins/snmp_admin_if_err_1'
ln -s '/usr/share/munin/plugins/snmp__if_err_' '/etc/munin/plugins/snmp_admin_if_err_3'
ln -s '/usr/share/munin/plugins/snmp__if_multi' '/etc/munin/plugins/snmp_admin_if_multi'
ln -s '/usr/share/munin/plugins/snmp__memory' '/etc/munin/plugins/snmp_admin_memory'
ln -s '/usr/share/munin/plugins/snmp__netstat' '/etc/munin/plugins/snmp_admin_netstat'
ln -s '/usr/share/munin/plugins/snmp__processes' '/etc/munin/plugins/snmp_admin_processes'
ln -s '/usr/share/munin/plugins/snmp__swap' '/etc/munin/plugins/snmp_admin_swap'
ln -s '/usr/share/munin/plugins/snmp__uptime' '/etc/munin/plugins/snmp_admin_uptime'
ln -s '/usr/share/munin/plugins/snmp__users' '/etc/munin/plugins/snmp_admin_users'
ln -s '/usr/share/munin/plugins/snmp__winload' '/etc/munin/plugins/snmp_admin_winload'
ln -s '/usr/share/munin/plugins/snmp__winmem' '/etc/munin/plugins/snmp_admin_winmem'
osmc@osmc:~$ sudo munin-node-configure --shell --snmp admin --snmpversion 2 --snmpcommunity QNAP | sudo sh
osmc@osmc:~$ sudo systemctl restart munin-node
On peut tester manuellement via un telnet :
En général sur les Freebox la plage du DHCP est de 192.168.0.10 à 192.168.0.50.
Voici un exemple avec l’IP 192.168.0.70 sur une Freebox, le fichier de configuration a modifier est : /etc/dhcpcd.conf
hostname
clientid
persistent
option rapid_commit
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
option ntp_servers
option interface_mtu
require dhcp_server_identifier
slaac private
interface eth0
static ip_address=192.168.0.70/24
static routers=192.168.0.254
static domain_name_servers=212.27.40.240 212.27.40.241 8.8.8.8
Plus d’information sur mon Raspberry :
pi@raspberrypi:~ $ hostnamectl
Static hostname: raspberrypi
Icon name: computer
Machine ID: 0b646f6436cf4076bc65ccf9a7517e6c
Boot ID: 8b7ab1701d654805a4cf91c4c42105b4
Operating System: Raspbian GNU/Linux 9 (stretch)
Kernel: Linux 4.14.50+
Architecture: arm
pi@raspberrypi:~ $ cat /etc/resolv.conf
# Generated by resolvconf
nameserver 212.27.40.240
nameserver 212.27.40.241
nameserver 8.8.8.8
Pour voir les cartes réseaux, il suffit de faire :
Installation d’un plugin en python : https://github.com/arthur-debert/munin-httpresponse-plugin/blob/master/httpresponsetime
$ sudo vi /usr/share/munin/plugins/httpresponsetime
-> Copie du script.
$ sudo ln -s /usr/share/munin/plugins/httpresponsetime /etc/munin/plugins/httpresponsetime
$ sudo chmod +x /usr/share/munin/plugins/httpresponsetime /etc/munin/plugins/httpresponsetime
$ sudo apt-get install python-setuptools python-dev build-essential
$ sudo easy_install pip
$ sudo pip install httplib2
Ajout dans le fichier :
$ sudo vi /etc/munin/plugin-conf.d/munin-node
...
[httpresponsetime]
env.urls https://www.cyber-neurones.org
...
Et on relance :
$ sudo munin-node-configure --shell
$ sudo service munin-node restart
Et voici le résultat :
Après 24h ou Munin a fonctionné parfaitement, maintenant j’ai une erreur ?! Je pense qu’une mise à jours à casser Perl :
osmc@osmc:~$ sudo su - munin --shell=/bin/bash
munin@osmc:~$ munin-cron --debug
Can't load '/usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/RRDs/RRDs.so' for module RRDs: libpng12.so.0: cannot open shared object file: No such file or directory at /usr/lib/arm-linux-gnueabihf/perl/5.20/DynaLoader.pm line 187.
at /usr/share/perl5/Munin/Master/UpdateWorker.pm line 19.
Compilation failed in require at /usr/share/perl5/Munin/Master/UpdateWorker.pm line 19.
BEGIN failed--compilation aborted at /usr/share/perl5/Munin/Master/UpdateWorker.pm line 19.
Compilation failed in require at /usr/share/perl5/Munin/Master/Update.pm line 17.
BEGIN failed--compilation aborted at /usr/share/perl5/Munin/Master/Update.pm line 17.
Compilation failed in require at /usr/share/munin/munin-update line 14.
BEGIN failed--compilation aborted at /usr/share/munin/munin-update line 14.
A noter aussi que le ldconfig est un peu mal :
Suite à l’installation : https://www.cyber-neurones.org/2018/09/osmc-raspberry-installation-de-muni-node-et-apache2-avec-un-script-pour-freebox/ : OSMC/Raspberry : installation de munin ( et Apache2) avec un script pour Freebox :
Maintenant je vais pouvoir prouver à Free la mauvaise qualité ….
Les idées à mettre en place :
On va dire qu’avec 8-10 Raspberry cela serait parfait. Pour l’instant j’ai essayé ELK sur un Raspberry pas assez puissant (manque de RAM, merci Java), par contre Jeedom, NGNIX, Munin, OSMC ont parfaitement fonctionnés.