Raspberry : Munin : les graphiques de la Freebox après un mois

Pour faire suite : https://www.cyber-neurones.org/2018/09/raspberry-munin-les-premiers-graphiques-de-la-freebox/ .Raspberry : Munin : les premiers graphiques de la Freebox.

Voici les graphiques après un mois :

En ce moment, je suis en mode : Misère (il suffit de voir :Freebox status). Et comme toujours le support n’est pas joignable …

 

Raspberry/Munin : Plugin pour Awox pour suivre la consommation.

La première étape est de voir si le Bluetooth est bien lancé au démarrage :

$ dmesg | grep -i blue
[   11.903994] Bluetooth: Core ver 2.22
[   11.904056] Bluetooth: HCI device and connection manager initialized
[   11.904073] Bluetooth: HCI socket layer initialized
[   11.904080] Bluetooth: L2CAP socket layer initialized
[   11.904098] Bluetooth: SCO socket layer initialized
[   11.913494] Bluetooth: HCI UART driver ver 2.3
[   11.913506] Bluetooth: HCI UART protocol H4 registered
[   11.913509] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   11.913652] Bluetooth: HCI UART protocol Broadcom registered
[   12.098214] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   12.098223] Bluetooth: BNEP filters: protocol multicast
[   12.098245] Bluetooth: BNEP socket layer initialized

$ sudo systemctl status bluetooth*
● bluetooth.target - Bluetooth
   Loaded: loaded (/lib/systemd/system/bluetooth.target; static; vendor preset: enabled)
   Active: active since Tue 2018-10-09 16:17:10 UTC; 2 days ago
     Docs: man:systemd.special(7)

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-10-09 16:17:10 UTC; 2 days ago
     Docs: man:bluetoothd(8)
 Main PID: 812 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─812 /usr/lib/bluetooth/bluetoothd

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

A noter pour que cela fonctionne bien j’ai du ajouter le service hciuart :

$ sudo systemctl enable hciuart
$ sudo systemctl start hciuart
$ systemctl status hciuart.service
● hciuart.service - Configure Bluetooth Modems connected by UART
   Loaded: loaded (/lib/systemd/system/hciuart.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-10-09 16:17:10 UTC; 2 days ago
 Main PID: 803 (hciattach)
   CGroup: /system.slice/hciuart.service
           └─803 /usr/bin/hciattach /dev/serial1 bcm43xx 3000000 flow - b8:27:eb:23:8b:15

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

Je vais me servir du projet suivant : https://github.com/sourceperl/smartplugctl ( Little utility for control Awox BLE smartPlug SMP-B16-FR : http://www.awox.com/wp-content/uploads/2016/07/User_Guide_SMP-B16.pdf ) .
Voici donc la liste des commandes pour faire un plugin pour Munin afin de mieux suivre la consommation :

$ sudo apt-get install -y python-pip libglib2.0-dev
$ sudo pip install bluepy
$ sudo apt-get install -y python-setuptools
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-setuptools is already the newest version (33.1.1-1).
python-setuptools set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 44 not upgraded.
$ git clone https://github.com/sourceperl/smartplugctl.git
$ cd smartplugctl
$ sudo python setup.py install

Une fois l’installation faite, on fait un SCAN afin d’avoir la référence du AWOX :

$ sudo smartplugscan

Pour faire un scan, on peut aussi faire :

$ sudo hcitool lescan --duplicates

Ou encore

$ sudo bluetoothctl 
[NEW] Controller B8:27:EB:23:8B:15 RASP3 [default]
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
Discovery started

A noter aussi que pour supprimer l’erreur : « Failed to obtain handles for « Service Changed » characteristic »

$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-10-11 20:07:44 UTC; 4s ago
     Docs: man:bluetoothd(8)
 Main PID: 1079 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─1079 /usr/lib/bluetooth/bluetoothd

Oct 11 20:07:43 RASP3 systemd[1]: Starting Bluetooth service...
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Bluetooth daemon 5.43
Oct 11 20:07:44 RASP3 systemd[1]: Started Bluetooth service.
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Starting SDP server
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Bluetooth management interface 1.14 initialized
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Failed to obtain handles for "Service Changed" characteristic
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Sap driver initialization failed.
Oct 11 20:07:44 RASP3 bluetoothd[1079]: sap-server: Operation not permitted (1)

Il faut faire:

 sudo sed -i 's|^ExecStart=/usr/lib/bluetooth/bluetoothd$|ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap|' /lib/systemd/system/bluetooth.service

A noter aussi qu’il faut faire ceci :

$ sudo adduser pi bluetooth
$ newgrp bluetooth

Cela permet aussi de débloquer certains problèmes de droits, ..

La fin de l’article a été supprimé, car AWOX n’est pas de bonne qualité ….

Munin pour Android : l’application est basique mais elle fonctionne.

Voici le lien vers l’application : https://play.google.com/store/apps/details?id=com.chteuchteu.munin&hl=fr . J’ai du mal à voir la valeur ajouter si l’on compare avec un simple navigateur Web. Mais cela fonctionne ….

A suivre.

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 …