IBM Cloud Docs
Coletando métricas de sensor de dispositivo IPMI

Coletando métricas de sensor de dispositivo IPMI

Além do conjunto de métricas que são coletadas automaticamente pelo agente de monitoramento, talvez você queira coletar outras métricas, como métricas de sensores. É possível usar o Prometheus IPMI Exporter para realizar a coleta das métricas de sensor de dispositivo da Intelligent Platform Management Interface (IPMI).

  • O exportador Prometheus IPMI Exporter suporta dispositivos IPMI locais e dispositivos remotos que podem ser acessados usando o Remote Management Control Protocol (RMCP).
  • Ao usar o RMCP para acessar dispositivos remotos, é possível usar um IPMI Exporter para monitorar vários dispositivos IPMI. Você identifica cada dispositivo transmitindo o nome do host de destino como um parâmetro.
  • O IPMI Exporter conta com ferramentas do conjunto FreeIPMI.

Os números a seguir mostram diferentes configurações que você pode usar para monitorar as métricas de sensor a partir de hosts que podem estar disponíveis na IBM Cloud ou fora da IBM Cloud:

Componentes
IPMI: Exportador IPMI e agente Kubernetes em hosts

É possível coletar as métricas a seguir ao configurar o exportador da IPMI em um servidor:

  • Métricas do administrador do IPMI

    A métrica ipmi_up {collector="<NAME>"} relata 1 quando dados de um host remoto são coletados com sucesso. Ele relata 0 para a coleta de dados em um host local.

    A métrica ipmi_scrape_duration_seconds relata o período de tempo que leva para o coletor recuperar os dados.

  • Métricas do Log de eventos do sistema (SEL) IPMI

    A métrica ipmi_sel_entries_count relata o número de entradas no log de eventos do sistema.

    A métrica ipmi_sel_free_space_bytes relata o número de bytes livres para novas entradas de log de eventos do sistema.

  • Dados do sensor IPMI

    O IPMI Exporter coleta duas métricas por tipo de sensor: estado e valor. Um valor de 0 relata um estado normal. Um valor de 1 relata um estado de aviso. Um valor de 2 relata um estado crítico. Um valor de NaN relata informações não disponíveis. Por exemplo, consulte as métricas para diferentes sensores:

    Métricas do sensor de temperatura: ipmi_temperature_celsius, ipmi_temperature_state

    Métricas do sensor de velocidade do ventilador: ipmi_fan_speed_rpm, ipmi_fan_speed_state

    Métricas do sensor de voltagem: ipmi_voltage_state, ipmi_voltage_volts

  • Estado de energia do chassi da máquina do IPMI

    A métrica ipmi_chassis_power_state informa sobre o estado atual do chassi da máquina. Ele tem um valor de 1 quando a energia está ligada. Ele tem um valor de 0 quando a energia está desligada.

  • Dados DCMI

    A métrica ipmi_dcmi_power_consumption_current_watts informa sobre o consumo de energia em tempo real da máquina em Watts.

  • Detalhes do BMC

    A métrica ipmi_bmc_info inclui informações sobre a revisão e o fabricante de firmware em rótulos e tem um valor de 1.

Para obter mais informações, consulte Prometheus IPMI Exporter.

Conclua as etapas a seguir para configurar um agente de monitoramento para coletar métricas da IPMI a partir de um ou mais hosts:

Configurar um agente de monitoramento

Para monitorar um ou mais hosts, deve-se configurar um agente de monitoramento. O agente coleta automaticamente um conjunto de métricas que podem ser monitoradas por meio da IU de monitoramento.

Consulte Escolha de um tipo de agente por infraestrutura e escolha o agente de monitoramento que você deseja configurar para monitorar um host.

Configurando o Prometheus IPMI Exporter

É possível instalar o exportador da IPMI em um ou mais hosts para coletar as métricas da IPMI.

Para cada host que você desejar coletar as métricas da IPMI, conclua as etapas a seguir para instalar o exportador da IPMI Por exemplo, conclua as seguintes etapas para um host baseado em Linux:

  1. Em um terminal local , faça o download do exportador IPMI Prometheus.

  2. No servidor, a partir da sessão de ssh, crie um diretório /usr/sysdig. Execute os seguintes comandos:

    cd /usr
    
    mkdir sysdig
    
  3. Copie o arquivo no servidor. No diretório no qual o arquivo está disponível, execute o comando a seguir:

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

    Em que <IP_ADDRESS> é o endereço IP público do servidor.

    Se o comando falhar, verifique se a conexão VPN ainda está aberta.

  4. Descompacte o arquivo. Execute os seguintes comandos:

    cd /usr/sysdig/
    
    tar -xvf ipmi_exporter-v1.2.0.linux-amd64.tar.gz
    
  5. Instale a suite FreeIPMI. Execute os seguintes comandos:

    sudo apt-get update
    
    sudo apt-get install freeipmi
    
  6. Configure o arquivo ipmi_local.yml.

    • É possível atualizar o arquivo para excluir os sensores que você não deseja monitorar.

    Mude para o diretório no qual você extraiu o IPMI Exporter:

    cd ipmi_exporter-v1.2.0.linux-amd64/
    

    Verifique o arquivo de configuração. Execute o comando: more ipmi_local.yml. Você deve ver um arquivo com conteúdo semelhante.

    # 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. Se o exportador IPMI estiver instalado em um host a partir do qual você pretende coletar as métricas de sensor de vários hosts, configure o arquivo ipmi_remote.yml. Ver Arquivo de amostra remota IPMI.

  8. Execute o exportador da IPMI.

    ./ipmi_exporter --config.file=ipmi_local.yml &
    
  9. Verifique se o IPMI Exporter está em execução. Execute o comando:

    ps -aux | grep ipmi
    

    Você deve ver o IPMI Exporter em execução.

Definir configurações de rede

Se desejar coletar as métricas da IPMI de servidores remotos, conclua as etapas a seguir:

  1. Ative o firewall para permitir o acesso ao ipmi_exporter.

  2. [Opcional] Atualize as regras do VPC

    Se você usar os terminais privados, inclua uma regra de entrada para o grupo de segurança para a porta 9290 com o source type = Security Group e escolha o grupo de segurança para o servidor.

Atualize o agente de monitoramento para coletar métricas de IPMI

Deve-se configurar o agente de monitoramento para ativar a coleta de métricas de IPMI.

Escolha uma das seguintes opções baseado no tipo de agente de monitoramento que você configurou

Agente de monitoramento do Kubernetes

Execute o comando a seguir para editar o configmap e inclua informações sobre os hosts no qual o exportador da IPMI foi configurado:

kubectl edit configmap sysdig-agent -n ibm-observe

Modifique o arquivo yaml para incluir a configuração prometheus do exportador da 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'

em que

  • <IP_ADDRESS_OF_REMOTE_SERVER> é o endereço IP de um servidor que você deseja monitorar.
  • <INGESTION_ENDPOINT> é o terminal de ingestão da instância do IBM Cloud Monitoring , por exemplo, ingest.us-south.monitoring.cloud.ibm.com. Consulte Terminais do coletor.
  • <IP_ADDRESS_OF_REMOTE_SERVER>:9290 é o endereço IP do servidor que você deseja monitorar.

As alterações serão aplicadas ao salvar o arquivo.

Agente de monitoramento do serviço Linux

Conclua as seguintes etapas para atualizar o agente de monitoramento para coletar as métricas de IPMI:

  1. SSH no host em que o agente de monitoramento está em execução. Em seguida, altere o diretório /opt/draios/etc/ e execute o comando a seguir:

    cd /opt/draios/etc/
    
  2. Atualize o /opt/draios/etc/dragent.yaml enable remotepara permitir o scraping remoto.

    Anexe a seção a seguir ao arquivo 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 o agente de monitoramento. Execute o comando a seguir:

    service dragent restart
    

Verifique se você está recebendo métricas de IPMI

  1. Ativar a IU de monitoramento.

  2. Crie um painel.

  3. Crie um painel para cada uma das seguintes consultas:

Consultas de amostra do exportador IPMI
Métrica PromQL Query Opções
Ipmi Up ipmi_up number (auto)
Voltagem ipmi_voltage_volts number (auto)
Temperatura em Celsius ipmi_temperature_celsius number (auto)
Velocidade do ventilador em RPM ipmi_fan_speed_rpm number (auto)

Por exemplo, é possível criar um painel com a seguinte aparência:

Exemplo de painel{: caption="IPMIAmostra de painel IPMIAmostra de painel " caption-side="bottom"}