IPMIMEX est un Metric ex Porter pour les services de plate-forme fournissant une version "Interface de gestion de la plate-forme intelligente" ( IPMI ) <= 2.0. IPMIMEX utilise ce protocole pour collecter les données souhaitées et les expose éventuellement via HTTP au format d'exposition Prometheuse en utilisant l'URL du point de terminaison http: // hostname: 9290 / métriques (Port et IP sont personnalisables bien sûr) et ainsi visualisé EG en utilisant Grafana, NetData ou Zabbix.
Fondamentalement, IPMIMEX est en mesure de récupérer et d'exposer toutes les données des services IPMI (par exemple , exécutant sur un binage C Ontroller ( BMC)), vous pouvez interroger manuellement ipmitool sdr type {Temperature|Voltage|Fan} et ipmitool dcmi power reading . Mais au lieu du cauchemar Fork / Exec vu sur d'autres exportateurs de métriques IPMI (et leur utilisation inefficace et lente de traitement des données / ressources) Ipmimex est un véritable démon écrit en C , qui cache autant de données que possible et parle directement du service IPMI - par défaut via / dev / ipmi0 (l'interface OpenIPMI des Kernels modernes) ou / dev / bmc (Doaris 11).
Étant donné que l'efficacité, la taille et la simplicité de l'utilitaire sont l'un de ses principaux objectifs, les enregistrements / données spécifiques à l'OEM sont ignorés (je n'ai pas encore vu de données spécifiques à l'OEM exposées via IPMI, qui valent la peine de surveiller). À côté de libprom pour gérer certains trucs liés à Prometheus (PROM) et libmicrohttpd pour fournir un accès HTTP, aucune bibliothèque, outils, outils, etc. tierce n'est utilisée. Enfin et surtout, il n'y a intentionnellement aucune prise en charge IPMI LAN [+] pour interroger par exemple les services distants. L'idée de base est d'exécuter IPMIMEX en tant que service local sur la machine pour surveiller et utiliser les outils et services OS (pare-feu, proxy HTTP, VictoriaMetrics Vmagent, etc.) pour contrôler l'accès aux données exposées.
Ajustez le makefile si nécessaire, définissez éventuellement les variables d'environnement connexes (par exemple, export USE_CC=gcc ) et exécutez GNU Make .
Le référentiel officiel pour ipmimex est https://github.com/jelmd/ipmimex. Si vous avez besoin de nouvelles fonctionnalités (ou de corrections de bogues), n'hésitez pas à créer un problème là-bas en utilisant https://github.com/jelmd/ipmimex/issues.
Ipmimex suit l'idée de base du versioning sémantique, mais ayant le monde réel à l'esprit. Par conséquent, les versions officielles ont toujours trois nombres (ABC), pas plus et pas moins! Pour les constructions Nightly, Alpha, Beta, RC, etc. A .0 et peut-être plus de chiffres séparés par point seront ajoutés, de sorte que l'on est toujours en mesure de remplacer celui-ci en utilisant un 4ème chiffre> 0.
CDDL 1.1
Les packages Ubuntu pour libprom et ipmimex peuvent être trouvés via https://pkg.cs.ovgu.de/lnf/linux/ubuntu/ (recherchez libprom * .deb et ipmimex * .deb). libmicrohttpd est fourni par Ubuntu lui-même, donc en utilisant le package du fournisseur est recommandé (pour Ubuntu 20.04, il est nommé libmicrohttpd12). Les packages connexes avec des fichiers de sources d'en-tête sont nommés libprom-dv.deb et libmicrohttpd-dv.deb.