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

31 x served & 3 x viewed

Pour faire suite : http://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.

35 x served & 10 x viewed

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.

57 x served & 9 x viewed

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 )

58 x served & 4 x viewed

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/Munin : Installation d’un client SNMP pour Munin

98 x served & 13 x viewed

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.