Munin/Raspberry : Correction à faire ?! ( irqstats, snmp_admin_swap, acpi )

Quand je regarde les logs j’ai :

 Error output from irqstats:
     Argument "usb_fiq" isn't numeric in addition (+) at /etc/munin/plugins/irqstats line 95, <$in> line 18.   

Le code en question qui pose problème :

sub sum (@) {        
    my $sum = 0;
    $sum += $_ || 0 for @_;     # Avoid complaints about empty strings
    return $sum;                                                     
}     

Je viens de voir qu’il y avait un fix : http://munin-monitoring.org/attachment/ticket/1462/munin-v2.0.6-raspberry_pi-irqstats-usb_fiq.patch fait le 01.04.2014 ?!

use Munin::Plugin; 
use Scalar::Util qw(looks_like_number); 
use strict; 
 
if (defined $ARGV[0] && $ARGV[0] eq 'autoconf') { 
…	…	 
 
sub sum (@) { 
    my $sum = 0; 
    $sum += $_ || 0 for @_;     # Avoid complaints about empty strings 
    $sum += (looks_like_number($_) ? $_ : 0) || 0 for @_;   # Avoid complaints about empty strings 
    return $sum; 
} 

Si je regarde ma version, j’ai bien :

$ munin-node -version
Version:
    This is munin-node v2.0.33-1
$ apt-cache policy munin-node
munin-node:
  Installé : 2.0.33-1
  Candidat : 2.0.33-1
 Table de version :
 *** 2.0.33-1 500
        500 http://ftp.debian.org/debian stretch/main armhf Packages
        100 /var/lib/dpkg/status
$ apt-cache policy munin-plugins-extra
munin-plugins-extra:
  Installé : 2.0.33-1
  Candidat : 2.0.33-1
 Table de version :
 *** 2.0.33-1 500
        500 http://ftp.debian.org/debian stretch/main armhf Packages
        100 /var/lib/dpkg/status

La dernière stable est la 2.0.39 ( https://github.com/munin-monitoring/munin/releases ), la date de la release 2.0.33-1 : 2017-03-03 . Alors que la correction a été fait le 01.04.2014, j’ai du mal à comprendre.

Le logs d’erreur suivant est ( c’est SNMP, donc je ne corrige pas ) :

Error output from snmp_admin_swap:
    Argument "noSuchInstance" isn't numeric in addition (+) at /etc/munin/plugins/snmp_admin_swap line 55.
    Argument "noSuchInstance" isn't numeric in addition (+) at /etc/munin/plugins/snmp_admin_swap line 56.

Le source en question :

my $swapsize = 0;           
my $swapused = 0;                                                    
                                                            
foreach my $swap (keys %$swap_d) {                                   
    $swapsize += $session->get_single($hrStorageSize . $swap);     
    $swapused += $session->get_single($hrStorageUsed . $swap);
}    

Et la dernière erreur :

1 lines had errors while 0 lines were correct (100.00%) in data from 'fetch acpi'

Pour fixer ce problème, j’ai essayé d’ajouter :

$ sudo apt-get install pitop-battery-support
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
E: Impossible de trouver le paquet pitop-battery-suppor
$ sudo apt-get install pi-top-brightness pi-top-poweroff
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
E: Impossible de trouver le paquet pi-top-brightness
E: Impossible de trouver le paquet pi-top-poweroff

J’ai pas fixé ses 3 problèmes …

Raspberry : Disque SSD vs Carte SD

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 :

– RASP n°1 : Carte Micro SD : Révision 000f

  • Min : 31.24m
  • Avg : 61,79m
  • Max : 189,62m

– RASP n°3 : Carte Micro SD : Révision a020d3

  • Min : 38,89u
  • Avg : 4,54m
  • Max: 307,48m

– RASP n°4 : Carte Micro SD : Révision a020d3

  • Min : 8,33u
  • Avg : 5,28m
  • Max : 320,91m

– RASP n°2 : Disque SSD : Révision a22082

  • Min : 3,11m
  • Avg : 30,29m
  • Max: 58,11m

En moyenne la carte MicroSD est largement devant, par contre le Max de la carte MicroSD est très important par moment.

A suivre.

Si tu n’as pas de salle serveur à 50 ans, on peut dire que tu as raté ta vie ;)

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 ).

Le matériel pour faire la salle serveur ( chez Amazon , désolé pour la publicité … je ne suis pas payé par Amazon, ni Garmin ) :

  • Carte Mémoire microSDXC SanDisk Ultra 64GB + Adaptateur SD. Vitesse de Lecture Allant jusqu’à 100MB/S, Classe 10, U1, homologuée A1  : 14,77 Euros x 7.
  • Anker A2123L12 Chargeur Secteur USB Anker PowerPort 6 Ports 60W – Chargeur mural avec technologie PowerIQ : 25,99 Euros x 2.
  • MaGeek [Paquet de 5pcs] 0.3m Court Micro USB Câbles Haute Vitesse USB 2.0 : 7,99 Euros x 2.
  • Raspberry Pi 3 Modèle B+, Carte-mère : 36,77 Euros x 7.
  • Boîte de rangement de 21 litres – Gamme Really Useful – Transparente : 20,39 Euros.
  • 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.
  • TOOGOO(R) Or TEMPer PC portable capteur USB Thermometre Temperature Collecteur de Donnees Enregistreur : 6,41 Euros.
  • TP-Link TL-SF1008D Switch 8 Ports 10/100 Mbps (Bureau, Boîtier Plastique) : 9,8 Euros.
  • 1aTTack 1 aTTack Câble réseau UTP avec connecteurs RJ45 (Cat. 5 pièces) multicolore 10 colores 0.5 m x 10 : 8,59 Euros.
  • Ils – Clear Acrylic 5 Layer Cluster Case Shelf Stack for Raspberry Pi 3/2 B and B+ : 18,49 Euros.
  • ELUTENG Boitier Disque Dur Externe 2.5 » Boitier SSD HDD 7mm ¨¤ 9,5mm SATA 3.0 USB 3.0 5Gbps Disque Dur Portable UASP pour PC/Laptop Transparente : 12,59 Euros. (Pour les backup)
  • Kingston SSD A400 – 120GB Disque SSD (2.5″ , SATA 3) : 25,18 Euros. (Pour les backup, j’ai pas confiance dans les cartes SD)
  • iClever® 2.4GHz Mini clavier sans-fil (wireless) – AZERTY – Rechargeable : 22,99 Euros. (Maintenant c’est à 16,99 Euros

Total : 594 Euros, pour 7 processeurs indépendants avec 4 coeurs, donc 7×4  :).

Prix U Nb
SD Card 64 Go 14,77 € 7 103,39 € Mémoire 17 %
Alimentation 25,99 € 2 51,98 €
Cables USB 7,99 € 2 15,98 €
Raspberry 36,77 € 7 257,39 € Raspberry 43 %
Rangement 20,39 € 1 20,39 €
Ecran 40,99 € 1 40,99 €
Thermomètre USB 6,41 € 1 6,41 €
Switch 9,80 € 1 9,80 €
Cables 8,59 € 1 8,59 €
Rack 18,49 € 1 18,49 €
Boitier SSD 12,59 € 1 12,59 €
SSD 120 Go 25,18 € 1 25,18 € Mémoire 4 %
Clavier 22,99 € 1 22,99 €
TOTAL 594,17 €

Sinon pour un prix équivalent vous pouvez pendre un seul serveur : VIBOX Vision 54 PC Gamer Ordinateur avec War Thunder Jeu Bundle (4,2GHz AMD FX 8-Core Processeur, Nvidia GeForce GTX 1050 Carte Graphique, 8GB DDR3 1600MHz RAM, 1TB HDD, Sans Système d’Exploitation) : à 579,95 Euros sur Amazon. Mais cela ne permet pas de travailler sur un réseau … c’est moins fun.

A noter que dans mon installation j’ai mis deux anciens Raspberry que j’avais :

  • Vilros Raspberry Pi 3 Complete Starter Kit–EU Plug Edition : 64,99 Euros (septembre 2016)
  • Raspberry Pi modèle B, muni de 512 Mo de RAM (chez RS) : 58,80 Euros (novembre 2013).

Et oui, j’ai commencé en 2013 😉 .

Je pense qu’il est intéressant de mesurer la consommation électrique, pour cela il faut ajouter ( 30 Euros ):

  • Lindy 73167 Multiprise Suisse avec interrupteur 5 prises : 3,69 Euros.
  • AWOX – SMARTPLUG : 26,90 Euros. (Ne pas prendre AWOX : mauvaise qualité : https://www.cyber-neurones.org/2018/10/awox-smartplug-en-panne-apres-une-semaine-dutilisation/ : En panne après une semaine d’utilisation )

Le projet à voir est le suivant : https://github.com/sourceperl/smartplugctl .

En terme de consommation électrique normalement on doit être dans  les 7x2Watts+1 = 15 Watts ( à vérifier ).

A suivre.

La boite !

– Raspberry(s), multi-prise, clavier, écran, hub, …

Superbe découpage … misère.

Un rack de 5 Raspberry(s). et Papi Raspberry sur la droite …

Raspberry/Munin : Installation d’un client SNMP pour Munin

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 :

osmc@osmc:~$ telnet localhost 4949
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
# munin node at osmc
list admin
snmp_admin_cpuload snmp_admin_df snmp_admin_df_ram snmp_admin_if_1 snmp_admin_if_3 snmp_admin_if_err_1 snmp_admin_if_err_3 snmp_admin_memory snmp_admin_netstat snmp_admin_processes snmp_admin_swap snmp_admin_uptime snmp_admin_users snmp_admin_winload snmp_admin_winmem

A noter que le QNAP ne fonctionne pas bien en version 3. Misère. Pour finir il faut modifier munin.conf et relance apache :

osmc@osmc:~$ sudo vi /etc/munin/munin.conf 
...
[admin]                                 
   address 127.0.0.1
   use_node_name no    
...
osmc@osmc:~$ sudo vi /etc/munin/plugin-conf.d/snmp_communities
[snmp_admin_*]
env.community QNAP

osmc@osmc:~$ sudo systemctl restart apache2

Pour verifier que cela fonctionne bien vous pouvez voir si les bases sont initialisées :

osmc@osmc:~$ tree /var/lib/munin/admin/
/var/lib/munin/admin/
├── admin-df_inode-_dev_mmcblk0p2-g.rrd
├── admin-df_inode-_dev_sda1-g.rrd
├── admin-df_inode-_dev_shm-g.rrd
├── admin-df_inode-devtmpfs-g.rrd
....

Le passage via SNMP augmente le temps de traitement de munin (+20 sec minimum …) :

Pour le mesurer :

osmc@osmc:~$ sudo su - munin --shell=/bin/bash
munin@osmc:~$ time munin-cron
real	1m29.225s
user	0m11.708s
sys	0m0.900s

Ensuite via l’interface on a :

Il faut noter le projet très intéressant : https://github.com/gpkvt/muninlite .

Muninlite for Qnap

At the moment there is no IPKG available to install Munin-Node on your QNAP-Device. Fortunately you can use muninlite (http://sourceforge.net/projects/muninlite/). Anyway muninlite doesn’t support QNAP-Devices very well, so I made some tweaks. You can either use the patch file and get muninlite directly from SourceForge, or you can use the complete Script from this repository. The Script is based on muninlite 1.0.4 (with all plugins enabled) and was tested on a QNAP TS-419 Pro.

Pour plus d’information sur le plugin : http://guide.munin-monitoring.org/en/latest/tutorial/snmp.html .

A suivre.