Intro Monitoring Environnemental Ad-Hoc J. Schaeffer Dans mon rack Exploiter ANF Datacentre Monitoring Environnemental Ad-Hoc Jonathan Schaeffer jonathan.schaeffer@univ-brest.fr Conclusion Annexes 3 octobre 2014 1 / 30
Monitoring Environnemental Ad-Hoc J. Schaeffer Paramètres environnementaux Intro Dans mon rack Exploiter Conclusion Pourquoi mesurer? Alerter en cas d anomalie Baser un dialogue sur des faits Démarche d amélioration continue Annexes 2 / 30
Monitoring Environnemental Ad-Hoc J. Schaeffer Paramètres environnementaux Intro Dans mon rack Exploiter Conclusion Annexes Pourquoi mesurer? Alerter en cas d anomalie Baser un dialogue sur des faits Démarche d amélioration continue Que mesurer? Température Humidité Consommation électrique 2 / 30
Monitoring Environnemental Ad-Hoc J. Schaeffer Principe général Intro Dans mon rack Exploiter Conclusion Annexes Dans mon rack Admirer Serveurs Baie Disques Onduleurs Logiciels d'intégration Constructeurs IPMI Munin Sondes SNMP 3 / 30
Serveurs : Physionomie générale Dans mon rack Serveurs Baie Disques Onduleurs Sondes 4 / 30
Serveurs : Physionomie générale Dans mon rack Serveurs Baie Disques Onduleurs Sondes 4 / 30
Serveurs : Physionomie générale Dans mon rack Serveurs Baie Disques Onduleurs Sondes 4 / 30
Serveurs : Physionomie générale Dans mon rack Serveurs Baie Disques Onduleurs Sondes 4 / 30
Serveurs : Physionomie générale Dans mon rack Serveurs Baie Disques Onduleurs Sondes 4 / 30
Serveurs Dans mon rack Serveurs Baie Disques Sondes intégrées température humidité Onduleurs Sondes 5 / 30
Serveurs Dans mon rack Serveurs Baie Disques Onduleurs Sondes intégrées température humidité consommation électrique Sondes 5 / 30
Serveurs Dans mon rack Serveurs Baie Disques Onduleurs Sondes Sondes intégrées température humidité consommation électrique Protocoles d interrogation IPMI Propriétaire constructeur (DeLL Drac, HP ILO,...) 5 / 30
Baies de disques Dans mon rack Serveurs Baie Disques Onduleurs Sondes Sondes de température intégrées Positionnées derrière les disques Pas systématiquement interrogeables Protocole d interrogation Logiciel d intégration constructeur (Serveur connecté à la baie) interface de gestion, protocole IPMI (Dell Equallogic) 6 / 30
Onduleurs Dans mon rack Serveurs Baie Disques Onduleurs Sondes Sondes intégrées Consommation électrique Température Protocole d interrogation SNMP sur une interface de gestion client sur un serveur connecté à l onduleur (USB) 7 / 30
Appareils externes Dans mon rack Serveurs Baie Disques Onduleurs Sondes Interface SNMP (tant qu à faire) 8 / 30
Principe général (rappel) Intro Dans mon rack Dans mon rack Admirer Exploiter Conclusion Annexes Serveurs Baie Disques Onduleurs Sondes Logiciels d'intégration Constructeurs IPMI SNMP Munin 8 / 30
Logiciel d integration constructeurs Logiciels d'intégration Constructeurs IPMI Logiciel d integration constructeurs HP ILO Dell OMSA... SNMP Exemple de Dell OMSA Installation sous GNU/Linux, MS Windows RedHat : Support officiel de Dell Debian : Paquets communautaires 9 / 30
Dell DRAC : interroger Logiciels d'intégration Constructeurs IPMI SNMP root@pmtest3:~ # omreport chassis temps Temperature Probes Information Main System Chassis Temperatures: Ok index : 0 Status : Ok Probe Name : System Board Ambient Temp Reading : 25.0 C Minimum Warning Threshold : 8.0 C Maximum Warning Threshold : 42.0 C Minimum Failure Threshold : 3.0 C Maximum Failure Threshold : 47.0 C 10 / 30
Dell DRAC : interroger Logiciels d'intégration Constructeurs IPMI SNMP root@pmtest3:~ # omreport chassis pwrmonitoring Power Consumption Index : 2 Status : Ok Probe Name : System Board System Level Reading : 140 W Warning Threshold : 917 W Failure Threshold : 966 W Amperage PS 1 Current : 0.2 A PS 2 Current : 0.2 A 11 / 30
Dell DRAC : interroger Logiciels d'intégration Constructeurs IPMI SNMP root@pmtest3:~ # omreport chassis pwrmonitoring unit=btuphr Power Consumption Index : 2 Status : Ok Probe Name : System Board System Level Reading : 502 BTU/hr Warning Threshold : 3130 BTU/hr Failure Threshold : 3297 BTU/hr Amperage PS 1 Current : 0.2 A PS 2 Current : 0.2 A 12 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI Configuration pour monitoring # ipmitool user set name 4 monitor -H pmtest3-ipmi -U root # ipmitool user set password 4 monitorpwd -H pmtest3-ipmi -U root # ipmitool user enable 4 -H pmtest3-ipmi -U root # ipmitool user priv 4 3 -H pmtest3-ipmi -U root SNMP 13 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI Configuration pour monitoring # ipmitool user set name 4 monitor -H pmtest3-ipmi -U root # ipmitool user set password 4 monitorpwd -H pmtest3-ipmi -U root # ipmitool user enable 4 -H pmtest3-ipmi -U root # ipmitool user priv 4 3 -H pmtest3-ipmi -U root SNMP 13 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI Configuration pour monitoring # ipmitool user set name 4 monitor -H pmtest3-ipmi -U root # ipmitool user set password 4 monitorpwd -H pmtest3-ipmi -U root # ipmitool user enable 4 -H pmtest3-ipmi -U root # ipmitool user priv 4 3 -H pmtest3-ipmi -U root SNMP 13 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI SNMP Configuration pour monitoring # ipmitool user set name 4 monitor -H pmtest3-ipmi -U root # ipmitool user set password 4 monitorpwd -H pmtest3-ipmi -U root # ipmitool user enable 4 -H pmtest3-ipmi -U root # ipmitool user priv 4 3 -H pmtest3-ipmi -U root # ipmitool user list -H pmtest3-ipmi -U root Password: ID Name Callin Link Auth IPMI Msg Channel Priv Limit 2 root true true true ADMINISTRATOR 4 monitor true true true OPERATOR 13 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI SNMP Configuration pour monitoring # ipmitool user set name 4 monitor -H pmtest3-ipmi -U root # ipmitool user set password 4 monitorpwd -H pmtest3-ipmi -U root # ipmitool user enable 4 -H pmtest3-ipmi -U root # ipmitool user priv 4 3 -H pmtest3-ipmi -U root # ipmitool user list -H pmtest3-ipmi -U root Password: ID Name Callin Link Auth IPMI Msg Channel Priv Limit 2 root true true true ADMINISTRATOR 4 monitor true true true OPERATOR # ipmi-sensors -h pmtest3-ipmi -u monitor -p monitorpwd 13 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI SNMP exemple d IPMI sur une carte DRAC ID Name Type Reading Units Event <snip> 5 Ambient Temp Temperature 24.00 C OK <snip> 36 FAN 1 RPM Fan 3600.00 RPM OK 37 FAN 2 RPM Fan 3600.00 RPM OK <snip> 49 Current Current 0.28 A OK 50 Current Current 0.40 A OK 51 Voltage Voltage 232.00 V OK 52 Voltage Voltage 232.00 V OK 61 System Level Current 154.00 W OK 14 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI SNMP exemple d IPMI sur une carte DRAC ID Name Type Reading Units Event <snip> 5 Ambient Temp Temperature 24.00 C OK <snip> 36 FAN 1 RPM Fan 3600.00 RPM OK 37 FAN 2 RPM Fan 3600.00 RPM OK <snip> 49 Current Current 0.28 A OK 50 Current Current 0.40 A OK 51 Voltage Voltage 232.00 V OK 52 Voltage Voltage 232.00 V OK 61 System Level Current 154.00 W OK 14 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI SNMP exemple d IPMI sur une carte DRAC ID Name Type Reading Units Event <snip> 5 Ambient Temp Temperature 24.00 C OK <snip> 36 FAN 1 RPM Fan 3600.00 RPM OK 37 FAN 2 RPM Fan 3600.00 RPM OK <snip> 49 Current Current 0.28 A OK 50 Current Current 0.40 A OK 51 Voltage Voltage 232.00 V OK 52 Voltage Voltage 232.00 V OK 61 System Level Current 154.00 W OK 14 / 30
Intelligent Platform Management Interface Logiciels d'intégration Constructeurs IPMI SNMP exemple d IPMI sur une carte DRAC ID Name Type Reading Units Event <snip> 5 Ambient Temp Temperature 24.00 C OK <snip> 36 FAN 1 RPM Fan 3600.00 RPM OK 37 FAN 2 RPM Fan 3600.00 RPM OK <snip> 49 Current Current 0.28 A OK 50 Current Current 0.40 A OK 51 Voltage Voltage 232.00 V OK 52 Voltage Voltage 232.00 V OK 61 System Level Current 154.00 W OK D autres exemples de sortie sont consultable en annexe 14 / 30
Simple Network Monitoring Protocol Logiciels d'intégration Constructeurs OID Identifiant d un objet dans le protocole SNMP MIB Base de donnée hiérarchisée pour chaque objet IPMI SNMP # snmpwalk -c public -v2c hispaniola \.1.3.6.1.4.1.12740.2.1.6.1.3.1.1866952394.3 SNMPv2-SMI::enterprises.12740.2.1.6.1.3.1.1866952394.3 = Gauge32: 29 15 / 30
Simple Network Monitoring Protocol Logiciels d'intégration Constructeurs IPMI SNMP OID Identifiant d un objet dans le protocole SNMP MIB Base de donnée hiérarchisée pour chaque objet Le challenge est d identifier le bon OID # snmpwalk -c public -v2c hispaniola \.1.3.6.1.4.1.12740.2.1.6.1.3.1.1866952394.3 SNMPv2-SMI::enterprises.12740.2.1.6.1.3.1.1866952394.3 = Gauge32: 29 15 / 30
Simple Network Monitoring Protocol Logiciels d'intégration Constructeurs IPMI SNMP OID Identifiant d un objet dans le protocole SNMP MIB Base de donnée hiérarchisée pour chaque objet Le challenge est d identifier le bon OID # snmpwalk -c public -v2c hispaniola \.1.3.6.1.4.1.12740.2.1.6.1.3.1.1866952394.3 SNMPv2-SMI::enterprises.12740.2.1.6.1.3.1.1866952394.3 = Gauge32: 29 Attention à la sécurité Avec SNMPv2, les mots de passe sont transmis en clair. 15 / 30
Principe général (rappel) Intro Dans mon rack Dans mon rack Admirer Exploiter Conclusion Annexes Serveurs Baie Disques Onduleurs Sondes Logiciels d'intégration Constructeurs IPMI SNMP Munin 15 / 30
Round Robin Database Munin Base de donnée temporelle à taille fixe Consolidation => perte de granularité avec le temps Outils rrdtools pour manipuler la base Intégration dans de nombreux systèmes d alerte/surveillance Fiche Plume de RRDTools : https://www.projet-plume.org/fr/fiche/rrdtool 16 / 30
Munin Munin Projet libre de surveillance des OS Architecture /Serveur Simplicité de mise en œuvre et de fonctionnement Serveur TCP agent:4949 fetch uptime uptime.value 47.84 Sondes Sondes Sondes 17 / 30
Collecte par agents : fonctionnement d une sonde Munin Script renvoyant l information instantanée # dell_temps temps.value 24.0 Sondes 18 / 30
Collecte par agents : fonctionnement d une sonde Munin Script renvoyant l information instantanée # dell_temps temps.value 24.0 Installation du script Dans le dossier des plugins munin Redémarrage de l agent munin Sondes 18 / 30
Collecte par agents : fonctionnement d une sonde Munin Script renvoyant l information instantanée # dell_temps temps.value 24.0 Installation du script Dans le dossier des plugins munin Redémarrage de l agent munin Sondes Et c est tout... Le serveur reconnaît la nouvelle sonde et l intègre. 18 / 30
Configuration du graphe Munin Paramètre "config" # dell_temps config graph_title Dell Temperature Readings graph_args base 1000 -l 0 graph_vlabel Temp in Degrees Celsius graph_category Chassis graph_info This graph shows the temperature for all sensors. graph_period second temps.label System Board Ambient Temp 19 / 30
Rendu des graphes Munin 20 / 30
Collecte par SNMP Serveur Munin snmpget.1.2.4345... SNMP SNMP SNMP Simplifié par l utilisation de la classe Perl Munin::Plugin::SNMP 21 / 30
Munin Combiner les données Idée Rassembler les données pour présenter un graphe unique par rack 22 / 30
Combiner les données : seuil d alerte Munin 23 / 30
Configuration de la combination Munin Fichier /etc/munin/munin-conf.d/agregate.conf, détails en annexe. [Sondes;A216;Power] update no contacts no pwr.update no pwr.graph_args base 1000 -l 0 pwr.graph_category Environment pwr.graph_title Power consumption in rack pwr.graph_vlabel Consumption in W pwr.graph_period second pwr.consototal.label Total power consumption pwr.consototal.stack \ longjohn=iuem;hispaniola;longjohn.univ-brest.fr:dell_pwr.pwrmonitoring_0 \ jim=iuem;hispaniola;jim.univ-brest.fr:dell_pwr.pwrmonitoring_0 \ barbossa=iuem;hispaniola;barbossa.univ-brest.fr:dell_pwr.pwrmonitoring_0 \ flint=iuem;hispaniola;flint.univ-brest.fr:dell_pwr.pwrmonitoring_0 24 / 30
Analyse sensorielle Munin 25 / 30
Analyse sensorielle Munin 25 / 30
Analyse sensorielle Munin 25 / 30
Conclusion Intro Dans mon rack Dans mon rack Admirer Exploiter Conclusion Annexes Serveurs Baie Disques Onduleurs Sondes Logiciels d'intégration Constructeurs IPMI SNMP Munin 26 / 30
Munin : configuration d un graphe combiné Intro Dans mon rack Fichier /etc/munin/munin-conf.d/agregate.conf : - update no : ne pas collecter de donnée pour ce graphe [Sondes;A216;Temperatures] update no temperatures.update no Exploiter Conclusion Annexes 27 / 30
Munin : configuration d un graphe combiné Intro Dans mon rack Exploiter Conclusion Annexes Fichier /etc/munin/munin-conf.d/agregate.conf : - paramètres du graphe (légende, échelle, etc.) [Sondes;A216;Temperatures] update no temperatures.update no temperatures.graph_title Temperature in room A216 temperatures.graph_args base 1000 temperatures.graph_vlabel Temperature temperatures.graph_info Montre la temperature du datacentre temperatures.graph_scale no temperatures.graph_category Environment 27 / 30
Munin : configuration d un graphe combiné Intro Dans mon rack Exploiter Conclusion Annexes Fichier /etc/munin/munin-conf.d/agregate.conf : - seuils d alerte (inférieur:supérieur) [Sondes;A216;Temperatures] update no temperatures.update no temperatures.graph_title Temperature in room A216 temperatures.graph_args base 1000 temperatures.graph_vlabel Temperature temperatures.graph_info Montre la temperature du datacentre temperatures.graph_scale no temperatures.graph_category Environment temperatures.warning 0:35.000 temperatures.critical 0:42.000 27 / 30
Munin : configuration d un graphe combiné Intro Dans mon rack Exploiter Conclusion Annexes Fichier /etc/munin/munin-conf.d/agregate.conf : - montrer les données des appareils dans cet ordre [Sondes;A216;Temperatures] update no temperatures.update no temperatures.graph_title Temperature in room A216 temperatures.graph_args base 1000 temperatures.graph_vlabel Temperature temperatures.graph_info Montre la temperature du datacentre temperatures.graph_scale no temperatures.graph_category Environment temperatures.warning 0:35.000 temperatures.critical 0:42.000 temperatures.graph_order \ pmtest3= jim= longjohn= sonde= hispaniola= 27 / 30
Munin : configuration d un graphe combiné Intro Dans mon rack Exploiter Conclusion Annexes Fichier /etc/munin/munin-conf.d/agregate.conf : - quelles données récupérer [Sondes;A216;Temperatures] update no temperatures.update no temperatures.graph_title Temperature in room A216 temperatures.graph_args base 1000 temperatures.graph_vlabel Temperature temperatures.graph_info Montre la temperature du datacentre temperatures.graph_scale no temperatures.graph_category Environment temperatures.warning 0:35.000 temperatures.critical 0:42.000 temperatures.graph_order \ pmtest3=testnodes;pmtest3.univ-brest.fr jim=iuem;hispaniola;jim.univ-brest.fr longjohn=iuem;hispaniola;longjohn.univ-brest.fr sonde=sondes;a216;2ums95 hispaniola=iuem;hispaniola;hispaniola 27 / 30
Munin : configuration d un graphe combiné Intro Dans mon rack Exploiter Conclusion Annexes Fichier /etc/munin/munin-conf.d/agregate.conf : - quelle sonde récupérer [Sondes;A216;Temperatures] update no temperatures.update no temperatures.graph_title Temperature in room A216 temperatures.graph_args base 1000 temperatures.graph_vlabel Temperature temperatures.graph_info Montre la temperature du datacentre temperatures.graph_scale no temperatures.graph_category Environment temperatures.warning 0:35.000 temperatures.critical 0:42.000 temperatures.graph_order \ pmtest3=testnodes;pmtest3.univ-brest.fr:dell_temps jim=iuem;hispaniola;jim.univ-brest.fr:dell_temps longjohn=iuem;hispaniola;longjohn.univ-brest.fr:dell_temps sonde=sondes;a216;2ums95:snmp_2ums95_scangauletemperature hispaniola=iuem;hispaniola;hispaniola:snmp_hispaniola_equallogictemperatures 27 / 30
Munin : configuration d un graphe combiné Intro Dans mon rack Exploiter Conclusion Annexes Fichier /etc/munin/munin-conf.d/agregate.conf : - quelle valeur récupérer [Sondes;A216;Temperatures] update no temperatures.update no temperatures.graph_title Temperature in room A216 temperatures.graph_args base 1000 temperatures.graph_vlabel Temperature temperatures.graph_info Montre la temperature du datacentre temperatures.graph_scale no temperatures.graph_category Environment temperatures.warning 0:35.000 temperatures.critical 0:42.000 temperatures.graph_order \ pmtest3=testnodes;pmtest3.univ-brest.fr:dell_temps.temps_0 \ jim=iuem;hispaniola;jim.univ-brest.fr:dell_temps.temps_0 \ longjohn=iuem;hispaniola;longjohn.univ-brest.fr:dell_temps.temps_0 \ sonde=sondes;a216;2ums95:snmp_2ums95_scangauletemperature.temperature \ hispaniola=iuem;hispaniola;hispaniola:snmp_hispaniola_equallogictemperatures.a 27 / 30
Intelligent Platform Management Interface Intro Dans mon rack Exploiter Conclusion Annexes Sortie IPMI sur HP DL165 G5 (2009) CPU0 Diode 20h ok 3.0 48.50 degrees C CPU1 Diode 22h ok 3.1 51 degrees C Power Ambient 24h ok 0.0 16 degrees C CPU0 Prochot 07h ok 3.0 Limit Not Exceeded CPU1 Prochot 08h ok 3.1 Limit Not Exceeded 28 / 30
Intelligent Platform Management Interface Intro Dans mon rack Exploiter Conclusion Annexes Sortie IPMI sur Supermicro 2013 CPU1 Temp 01h ok 3.1 68 degrees C CPU2 Temp 02h ok 3.2 62 degrees C System Temp 11h ok 7.1 35 degrees C Peripheral Temp 12h ok 7.2 56 degrees C IB Temp 13h ok 7.5 55 degrees C PCH Temp 0Ah ok 7.3 57 degrees C P1-DIMMA1 TEMP B0h ok 32.64 40 degrees C P1-DIMMB1 TEMP B4h ok 32.65 39 degrees C P1-DIMMC1 TEMP B8h ok 32.68 41 degrees C P1-DIMMD1 TEMP BCh ok 32.69 40 degrees C P2-DIMME1 TEMP D0h ok 32.72 34 degrees C P2-DIMMF1 TEMP D4h ok 32.73 35 degrees C P2-DIMMG1 TEMP D8h ok 32.76 33 degrees C P2-DIMMH1 TEMP DCh ok 32.77 35 degrees C 29 / 30
Intelligent Platform Management Interface Intro Dans mon rack Exploiter Conclusion Sortie IPMI sur Dell C6220 2013 CPU1 Temp 41h ok 3.1 45 degrees C CPU2 Temp 42h ok 3.1 43 degrees C DIMM ZONE 1 Temp 43h ok 3.1 37 degrees C DIMM ZONE 2 Temp 44h ok 3.1 32 degrees C PCH Temp 45h ok 3.1 51 degrees C Inlet Temp B1h ok 64.96 22 degrees C Annexes 30 / 30