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:
É 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>"}
relata1
quando dados de um host remoto são coletados com sucesso. Ele relata0
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 de1
relata um estado de aviso. Um valor de2
relata um estado crítico. Um valor deNaN
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 de1
quando a energia está ligada. Ele tem um valor de0
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:
-
Em um terminal local , faça o download do exportador IPMI Prometheus.
-
No servidor, a partir da sessão de
ssh
, crie um diretório/usr/sysdig
. Execute os seguintes comandos:cd /usr
mkdir sysdig
-
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.
-
Descompacte o arquivo. Execute os seguintes comandos:
cd /usr/sysdig/
tar -xvf ipmi_exporter-v1.2.0.linux-amd64.tar.gz
-
Instale a suite FreeIPMI. Execute os seguintes comandos:
sudo apt-get update
sudo apt-get install freeipmi
-
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
-
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. -
Execute o exportador da IPMI.
./ipmi_exporter --config.file=ipmi_local.yml &
-
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:
-
Ative o firewall para permitir o acesso ao
ipmi_exporter
. -
[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 osource 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:
-
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/
-
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"
-
Reinicie o agente de monitoramento. Execute o comando a seguir:
service dragent restart
Verifique se você está recebendo métricas de IPMI
-
Crie um painel.
-
Crie um painel para cada uma das seguintes consultas:
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:
{: caption="IPMIAmostra de painel IPMIAmostra de painel " caption-side="bottom"}