Collecte des mesures du détecteur d'unité IPMI

En plus de l'ensemble des métriques qui sont collectées automatiquement par l'agent de surveillance, vous pouvez collecter d'autres métriques telles que les métriques de capteur. Vous pouvez utiliser l'Prometheus IPMI Exporter pour collecter des métriques de capteur d'unité IPMI (Intelligent Platform Management Interface).

  • L'exportateur Prometheus IPMI Exporter prend en charge les unités IPMI locales et les unités distantes auxquelles vous pouvez accéder en utilisant le protocole RMCP (Remote Management Control Protocol).
  • Lorsque vous utilisez RMCP pour accéder aux unités distantes, vous pouvez utiliser un exportateur IPMI pour surveiller plusieurs unités IPMI. Vous identifiez chaque unité en transmettant le nom d'hôte cible en tant que paramètre.
  • L'exportateur IPMI s'appuie sur les outils de la suite FreeIPMI.

Les figures suivantes illustrent différentes configurations que vous pouvez utiliser pour surveiller les métriques de capteur à partir d'hôtes pouvant être disponibles dans IBM Cloud ou en dehors d'IBM Cloud :

Composants
IPMI : L'exportateur IPMI et l'agent Kubernetes dans différents

Vous pouvez collecter les métriques suivantes lorsque vous configurez l'exportateur IPMI sur un serveur :

  • Métriques d'administration IPMI

    L'indicateur ipmi_up {collector="<NAME>"} signale 1 lorsque les données d'un hôte distant sont collectées avec succès. Elle indique 0 pour la collecte de données dans un hôte local.

    La métrique ipmi_scrape_duration_seconds indique la durée nécessaire au collecteur pour extraire les données.

  • Métriques de journal des événements du système IPMI (SEL)

    La métrique ipmi_sel_entries_count indique le nombre d'entrées dans le journal des événements du système.

    La métrique ipmi_sel_free_space_bytes indique le nombre d'octets disponibles pour les entrées de journal des événements de système.

  • Données du capteur IPMI

    L'exportateur IPMI collecte 2 métriques par type de capteur : état et valeur. La valeur 0 signale un état normal. La valeur 1 signale un état d'avertissement. La valeur 2 signale un état critique. La valeur des informations de rapports NaN n'est pas disponible. Par exemple, consultez les métriques pour les différents capteurs :

    Métriques de capteur de température : ipmi_temperature_celsius, ipmi_temperature_state

    Métriques de capteur de vitesse de ventilateur : ipmi_fan_speed_rpm, ipmi_fan_speed_state

    Métriques de capteur de tension : ipmi_voltage_state, ipmi_voltage_volts

  • Etat d'alimentation du châssis IPMI de la machine

    La métrique ipmi_chassis_power_state indique l'état en cours du châssis de la machine. Sa valeur est 1 lorsque le châssis est sous tension. Sa valeur est 0 lorsque le châssis est hors tension.

  • Données DCMI

    La métrique ipmi_dcmi_power_consumption_current_watts indique la consommation d'énergie réelle de la machine en watts.

  • Détails de BMC

    La métrique ipmi_bmc_info indique les informations sur la révision et le fabricant du microprogramme sur des étiquettes et a la valeur 1.

Pour plus d'informations, consultez Prometheus IPMI Exporter.

Pour configurer un agent de surveillance afin de collecter des métriques IPMI à partir d'un ou plusieurs hôtes, procédez comme suit :

Configuration d'un agent de surveillance

Pour surveiller un ou plusieurs hôtes, vous devez configurer un agent de surveillance. L'agent collecte automatiquement un ensemble de métriques que vous pouvez surveiller via l'interface utilisateur de surveillance.

Voir Choix d'un type d'agent par infrastructure et choisissez l'agent de surveillance que vous souhaitez configurer pour surveiller un hôte.

Configuration de l'exportateur IPMI Prometheus

Vous pouvez installer l'exportateur IPMI dans un ou plusieurs hôtes pour collecter des métriques IPMI.

Pour chaque hôte devant collecter des métriques IPMI, procédez comme suit pour installer l'exportateur IPMI. Par exemple, pour un hôte Linux :

  1. Depuis un terminal local, téléchargez l'exportateur IPMI Prometheus.

  2. Dans le serveur, à partir de la session ssh, créez le répertoire /usr/sysdig. Exécutez les commandes suivantes :

    cd /usr
    
    mkdir sysdig
    
  3. Copiez le fichier sur le serveur. Dans le répertoire où le fichier est disponible, exécutez la commande suivante :

    scp ipmi_exporter-v1.2.0.linux-amd64.tar.gz  root@<IP_ADDRESS>:/usr/sysdig/
    

    <IP_ADDRESS>est l'adresse IP publique du serveur.

    Si la commande échoue, vérifiez que votre connexion VPN est toujours ouverte.

  4. Décompressez le fichier. Exécutez les commandes suivantes :

    cd /usr/sysdig/
    
    tar -xvf ipmi_exporter-v1.2.0.linux-amd64.tar.gz
    
  5. Installez la suite FreeIPMI. Exécutez les commandes suivantes :

    sudo apt-get update
    
    sudo apt-get install freeipmi
    
  6. Configurez le fichier ipmi_local.yml.

    • Vous pouvez mettre à jour le fichier pour exclure les capteurs que vous ne souhaitez pas surveiller.

    Accédez au répertoire dont vous avez extrait l'exportateur IPMI :

    cd ipmi_exporter-v1.2.0.linux-amd64/
    

    Vérifiez le fichier de configuration. Exécutez la commande : more ipmi_local.yml Vous devez voir un fichier avec un contenu similaire.

    # Configuration file for ipmi_exporter
    
    # This is an example config for scraping the local host.
    # In most cases, this should work without using a config file at all.
    modules:
            default:
                    # Available collectors are bmc, ipmi, chassis, dcmi, and sel
                    collectors:
                    - bmc
                    - ipmi
                    - dcmi
                    - chassis
                    - sel
                    # Got any sensors you don't care about? Add them here.
                    exclude_sensor_ids:
                    # - 2
    
  7. Si l'exportateur IPMI est installé sur un hôte à partir duquel vous prévoyez de collecter des métriques de capteur de plusieurs hôtes, configurez le fichier ipmi_remote.yml. Voir Exemple de fichier d'exemple distant IPMI.

  8. Exécutez l'exportateur IPMI.

    ./ipmi_exporter --config.file=ipmi_local.yml &
    
  9. Vérifiez que l'exportateur IPMI est en cours d'exécution. Exécutez la commande suivante :

    ps -aux | grep ipmi
    

    Vous devriez voir l'exportateur IPMI s'exécuter.

Configurer les paramètres réseau

Si vous souhaitez collecter des métriques IPMI à partir de serveurs distants, procédez comme suit :

  1. Activez le pare-feu pour autoriser l'accès à ipmi_exporter.

  2. [Facultatif] Mettre à jour les règles VPC

    Si vous utilisez des noeuds finaux privés, ajoutez une règle entrante au groupe de sécurité pour le port 9290 avec source type = Security Group et choisissez le groupe de sécurité pour le serveur.

Mise à jour de l'agent de surveillance pour collecter les mesures IPMI

Vous devez configurer l'agent de surveillance pour activer la collecte de métriques IPMI.

Choisissez l'une des options suivantes en fonction du type d'agent de surveillance que vous avez configuré :

Agent de surveillance Kubernetes

Exécutez la commande suivante pour éditer la mappe de configuration et ajouter des informations sur les hôtes sur lesquels l'exportateur IPMI est configuré :

kubectl edit configmap sysdig-agent -n ibm-observe

Modifiez le fichier yaml de sorte à ajouter la configuration Prometheus de l'exportateur IPMI :

log:
  file_priority: error
configmap: true
### Agent tags
# tags: linux:ubuntu,dept:dev,local:nyc

#### Software related config ####

# Collector address
# collector: 192.168.1.1

# Collector TCP port
# collector_port: 6666

# Whether collector accepts ssl
# ssl: true

# collector certificate validation
# ssl_verify_certificate: true

#######################################
# new_k8s: true
# k8s_cluster_name: production
security:
  k8s_audit_server_url: 0.0.0.0
  k8s_audit_server_port: 7765
k8s_cluster_name: <CLUSTER_NAME>/<CLUSTER_ID>
tags: ibm.containers-kubernetes.cluster.id:<CLUSTER_ID>
collector: <INGESTION_ENDPOINT>
collector_port: 6443
ssl: true
ssl_verify_certificate: true
sysdig_capture_enabled: false
promscrape_fastproto: true
use_promscrape: true
prom_service_discovery: true
prometheus:
  enabled: true
  log_errors: true
  max_metrics: 200000
  max_metrics_per_process: 200000
  max_tags_per_metric: 100
  ingest_raw: true
  ingest_calculated: false
prometheus.yaml:
----
global:
  scrape_interval: 10s
scrape_configs:
- job_name: ipmi
  metrics_path: /metrics
  static_configs:
  - targets:
    - '<IP_ADDRESS_OF_REMOTE_SERVER_WHERE_IPMI_EXPORTER_IS_RUNNING>:9290'
    - '<IP_ADDRESS_OF_REMOTE_SERVER_WHERE_IPMI_EXPORTER_IS_RUNNING>:9290'
    - '<IP_ADDRESS_OF_REMOTE_SERVER_WHERE_IPMI_EXPORTER_IS_RUNNING>:9290'

  • <IP_ADDRESS_OF_REMOTE_SERVER> est l'adresse IP d'un serveur que vous souhaitez surveiller.
  • <INGESTION_ENDPOINT> est le noeud final d'ingestion d'instance IBM Cloud Monitoring, par exemple, ingest.us-south.monitoring.cloud.ibm.com. Voir Noeuds finaux de collecteur.
  • <IP_ADDRESS_OF_REMOTE_SERVER>:9290 est l'adresse IP du serveur que vous souhaitez surveiller.

Lorsque vous enregistrez le fichier, les modifications sont appliquées.

Agent de surveillance du service Linux

Procédez comme suit pour mettre à jour l'agent de surveillance afin de collecter des métriques IPMI :

  1. Accédez via SSH à l'hôte où l'agent de surveillance s'exécute. Accédez ensuite au répertoire /opt/draios/etc/ et exécutez la commande suivante :

    cd /opt/draios/etc/
    
  2. Mettez à jour le fichier /opt/draios/etc/dragent.yaml pour activer le raclage à distance.

    Ajoutez la section suivante à la fin du fichier dragent.yaml :

    customerid: xxxxxxxxxx
    collector: ingest.us-south.monitoring.cloud.ibm.com
    collector_port: 6443
    ssl: true
    sysdig_capture_enabled: false
    use_promscrape: true
    promscrape_fastproto: false
    prom_service_discovery: true
    prometheus:
      enabled: true
      process_filter:
        - include:
            port: 9290
            conf:
              port: 9290
              path: "/metrics"
    
  3. Redémarrez l'agent de surveillance. Exécutez la commande suivante :

    service dragent restart
    

Vérifiez que vous obtenez des mesures IPMI

  1. Lancez l'interface utilisateur de surveillance.

  2. Créez un tableau de bord.

  3. Ajoutez un panneau pour chacune des requêtes suivantes :

Exemples de requêtes pour l'exportateur IPMI
Métrique Requête PromQL Options
IPMI en cours d'exéc ipmi_up number (auto)
Tension ipmi_voltage_volts number (auto)
Température en Celsius ipmi_temperature_celsius number (auto)
Vitesse du ventilateur (tr par min) ipmi_fan_speed_rpm number (auto)

Par exemple, vous pouvez créer un tableau de bord qui se présente comme suit :

Exemple de tableau de{: caption="de bord IPMIExemple de tableau de bord IPMIExemple de tableau " caption-side="bottom"} bord IPMI*