Recopilación de métricas de sensor de dispositivo IPMI

Además del conjunto de métricas que recopila automáticamente el agente de supervisión, puede que desee recopilar otras métricas, como por ejemplo las métricas del sensor. Puede utilizar Prometheus IPMI Exporter para recopilar las métricas del sensor de dispositivos IPMI (Intelligent Platform Management Interface).

  • Prometheus IPMI Exporter da soporte a dispositivos IPMI locales y a dispositivos remotos a los que se puede acceder mediante Remote Management Control Protocol (RMCP).
  • Si utiliza RMCP para acceder a los dispositivos remotos, puede utilizar un exportador de IPMI para supervisar varios dispositivos IPMI. Puede identificar cada dispositivo pasando el nombre de host de destino como parámetro.
  • El exportador de IPMI se basa en las herramientas de la suite de FreeIPMI.

En las imágenes siguientes se muestran distintas configuraciones que puede utilizar para supervisar métricas de sensor desde hosts que pueden estar disponibles en IBM Cloud o fuera de IBM Cloud:

Componentes
componentes: IPMI exportador y Kubernetes agente en diferentes

Puede recopilar las métricas siguientes cuando configure el exportador de IPMI en un servidor:

  • Métricas de administración de IPMI

    La métrica ipmi_up {collector="<NAME>"} notifica a 1 cuándo se recopilan satisfactoriamente los datos de un host remoto. Muestra 0 para la recopilación de datos en un host local.

    La métrica ipmi_scrape_duration_seconds muestra el intervalo de tiempo que tarda el recopilador en recuperar los datos.

  • Métricas del registro de sucesos del sistema (SEL) IPMI

    La métrica ipmi_sel_entries_count muestra el número de entradas del registro de sucesos del sistema.

    La métrica ipmi_sel_free_space_bytes muestra el número de bytes libres para las nuevas entradas de registro de sucesos del sistema.

  • Datos del sensor de IPMI

    El exportador de IPMI recopila 2 métricas por tipo de sensor: estado y valor. El valor 0 indica un estado normal. El valor 1 indica un estado de aviso. El valor 2 indica un estado crítico. El valor NaN indica que no hay información disponible. Por ejemplo, estas son las métricas de distintos sensores:

    Métricas del sensor de temperatura: ipmi_temperature_celsius, ipmi_temperature_state

    Métricas del sensor de velocidad del ventilador: ipmi_fan_speed_rpm, ipmi_fan_speed_state

    Métricas del sensor de voltaje: ipmi_voltage_state, ipmi_voltage_volts

  • Estado de alimentación del chasis de IPMI de la máquina

    La métrica ipmi_chassis_power_state indica el estado actual del chasis de la máquina. Si tiene el valor 1, está encendido. Si tiene el valor 0, está apagado.

  • Datos de DCMI

    La métrica ipmi_dcmi_power_consumption_current_watts indica el consumo de alimentación de la máquina en vatios.

  • Detalles de BMC

    La métrica ipmi_bmc_info incluye información sobre la revisión de firmware y sobre el fabricante en etiquetas y tiene el valor 1.

Para más información, consulte Prometheus Exportador IPMI.

Siga los pasos siguientes para configurar un agente de supervisión para que recopile métricas de IPMI de 1 o más hosts:

Configurar un agente de supervisión

Para supervisar 1 o más hosts, debe configurar un agente de supervisión. El agente recopila automáticamente un conjunto de métricas que puede supervisar a través de la interfaz de usuario de supervisión.

Vea Elegir un tipo de agente por infraestructura y elija el agente de supervisión que desea configurar para supervisar un host.

Configuración de Prometheus IPMI Exporter

Puede instalar el exportador de IPMI en 1 o más hosts para recopilar métricas de IPMI.

Para cada host del que desee recopilar métricas de IPMI, complete los pasos siguientes para instalar el exportador de IPMI. Por ejemplo, complete los pasos siguientes para un host basado en Linux:

  1. Desde un terminal local, descargue el exportador IPMI de Prometheus.

  2. En el servidor, desde la sesión ssh, cree el directorio /usr/sysdig. Ejecute los mandatos siguientes:

    cd /usr
    
    mkdir sysdig
    
  3. Copie el archivo al servidor. En el directorio en el que está disponible el archivo, ejecute el mandato siguiente:

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

    Donde <IP_ADDRESS> es la dirección IP pública del servidor.

    Si el mandato falla, compruebe que la conexión VPN sigue abierta.

  4. Descomprima el archivo. Ejecute los mandatos siguientes:

    cd /usr/sysdig/
    
    tar -xvf ipmi_exporter-v1.2.0.linux-amd64.tar.gz
    
  5. Instale la suite de FreeIPMI. Ejecute los mandatos siguientes:

    sudo apt-get update
    
    sudo apt-get install freeipmi
    
  6. Configure el archivo ipmi_local.yml.

    • Puede actualizar el archivo para excluir los sensores que no desea supervisar.

    Vaya al directorio en el que ha extraído el exportador de IPMI:

    cd ipmi_exporter-v1.2.0.linux-amd64/
    

    Compruebe el archivo de configuración. Ejecute el mandato: more ipmi_local.yml Debería ver un archivo con un contenido similar al siguiente.

    # 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 el exportador de IPMI está instalado en un host desde el que tiene previsto recopilar métricas de sensor de varios hosts, configure el archivo ipmi_remote.yml. Consulte Archivo de ejemplo remoto IPMI.

  8. Ejecute el exportador de IPMI.

    ./ipmi_exporter --config.file=ipmi_local.yml &
    
  9. Verifique que el exportador de IPMI se está ejecutando. Ejecute el mandato:

    ps -aux | grep ipmi
    

    Debería ver que el exportador de IPMI se está ejecutando.

Configurar valores de red

Si desea recopilar métricas de IPMI desde servidores remotos, siga estos pasos:

  1. Habilite el cortafuegos para permitir el acceso a ipmi_exporter.

  2. [Opcional] Actualice las reglas de VPC

    Si utiliza Puntos finales privados, añada una regla de entrada al grupo de seguridad para el puerto 9290 con source type = Security Group y elija el grupo de seguridad correspondiente al servidor.

Actualizar el agente de supervisión para recopilar métricas de IPMI

Debe configurar el agente de supervisión para habilitar la recopilación de métricas de IPMI.

Elija una de las opciones siguientes según el tipo de agente de supervisión que ha configurado:

Agente de supervisión de Kubernetes

Ejecute el siguiente mandato para editar el configmap y añadir información sobre los hosts en los que está configurado el exportador de IPMI:

kubectl edit configmap sysdig-agent -n ibm-observe

Modifique el archivo yaml para añadir la configuración de prometheus del exportador 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'

Donde

  • <IP_ADDRESS_OF_REMOTE_SERVER> es la dirección IP de un servidor que desea supervisar.
  • <INGESTION_ENDPOINT> es el punto final de ingestión de la instancia de IBM Cloud Monitoring, por ejemplo, ingest.us-south.monitoring.cloud.ibm.com. Consulte el apartado Puntos finales de recopilador.
  • <IP_ADDRESS_OF_REMOTE_SERVER>:9290 es la dirección IP del servidor que desea supervisar.

Cuando guarde el archivo, se aplicarán los cambios.

Agente de supervisión del servicio Linux

Realice los pasos siguientes para actualizar el agente de supervisión para que recopile métricas de IPMI:

  1. Ejecute SSH en el host donde se está ejecutando el agente de supervisión. A continuación, vaya al directorio /opt/draios/etc/ y ejecute el siguiente mandato:

    cd /opt/draios/etc/
    
  2. Actualice el archivo /opt/draios/etc/dragent.yaml para habilitar la recopilación remota.

    Añada la siguiente sección al archivo 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. Reinicie el agente de supervisión. Ejecute el siguiente mandato:

    service dragent restart
    

Compruebe que está recibiendo métricas de IPMI

  1. Inicie la interfaz de usuario de supervisión.

  2. Cree un panel de control.

  3. Añada un panel para cada una de las siguientes consultas:

Consultas de ejemplo del exportador IPMI
Métrica Consulta de PromQL Opciones
Ipmi Activado ipmi_up number (auto)
Voltage ipmi_voltage_volts number (auto)
Temperatura Celsius ipmi_temperature_celsius number (auto)
Velocidad de ventilador RPM ipmi_fan_speed_rpm number (auto)

Por ejemplo, puede crear un panel de control que tenga el aspecto siguiente:

Ejemplo de
de panel de control