IBM Cloud Docs
IPMI 디바이스 센서 메트릭 수집

IPMI 디바이스 센서 메트릭 수집

모니터링 에이전트를 통해 자동으로 수집되는 메트릭 세트 외에도 센서 메트릭과 같은 다른 메트릭을 수집할 수 있습니다. Prometheus IPMI Exporter를 사용하여 IPMI(Intelligent Platform Management Interface) 디바이스 센서 메트릭의 콜렉션을 수행할 수 있습니다.

  • Prometheus IPMI Exporter 내보내기 프로그램은 RMCP(Remote Management Control Protocol)를 사용하여 액세스할 수 있는 원격 디바이스와 로컬 IPMI 디바이스를 지원합니다.
  • RMCP를 사용하여 원격 디바이스에 액세스하는 경우 여러 개의 IPMI 디바이스를 모니터하도록 IPMI 내보내기 프로그램을 사용할 수 있습니다. 매개변수로 대상 호스트 이름을 전달하여 각 디바이스를 식별합니다.
  • IPMI 내보내기 프로그램은 FreeIPMI 스위트의 도구에 의존합니다.

다음 그림은 IBM Cloud 또는 IBM Cloud 외부에서 사용할 수 있는 호스트에서 센서 메트릭을 모니터하는 데 사용할 수 있는 다양한 구성을 보여줍니다.

IPMI 구성 요소
구성 요소: 다른 호스트의 IPMI 내보내기 및 Kubernetes

서버에서 IPMI 내보내기 프로그램을 구성할 때 다음 메트릭을 수집할 수 있습니다.

  • IPMI 관리 메트릭

    ipmi_up {collector="<NAME>"} 메트릭은 원격 호스트의 데이터를 수집할 때 1을(를) 보고합니다. 로컬 호스트에서 데이터를 수집하기 위해서는 0을 보고합니다.

    메트릭 ipmi_scrape_duration_seconds는 콜렉터가 데이터를 검색하는 데 걸리는 시간을 보고합니다.

  • IPMI 시스템 이벤트 로그(SEL) 메트릭

    메트릭 ipmi_sel_entries_count는 시스템 이벤트 로그에 있는 항목 수를 보고합니다.

    메트릭 ipmi_sel_free_space_bytes는 새 ystem 이벤트 로그 항목에 대한 무료 바이트 수를 보고합니다.

  • IPMI 센서 데이터

    IPMI 내보내기 프로그램은 센서 유형당 두 개의 메트릭 즉, 상태 및 값을 수집합니다. 0 값은 정상 상태를 보고합니다. 1 값은 경고 상태를 보고합니다. 2 값은 위험 상태를 보고합니다. NaN 값은 사용할 수 없는 정보를 보고합니다. 예를 들어, 다른 센서의 경우에는 메트릭을 참조하십시오.

    온도 센서 메트릭: ipmi_temperature_celsius, ipmi_temperature_state

    팬 속도 센서 메트릭: ipmi_fan_speed_rpm, ipmi_fan_speed_state

    전압 센서 메트릭: ipmi_voltage_state, ipmi_voltage_volts

  • 머신의 IPMI 섀시 전원 상태

    메트릭 ipmi_chassis_power_state는 머신의 현재 섀시 상태에 대한 정보를 제공합니다. 전원이 켜져 있으면 값은 1입니다. 전원이 꺼져 있으면 값은 0입니다.

  • DCMI 데이터

    메트릭 ipmi_dcmi_power_consumption_current_watts는 머신의 실시간 소비전력(와트)에 대한 정보를 제공합니다.

  • BMC 세부사항

    메트릭 ipmi_bmc_info에는 레이블로 된 펌웨어 개정 및 제조업체에 대한 정보가 포함되고 1 값이 있습니다.

자세한 정보는 Prometheus IPMI Exporter를 참조하십시오.

하나 이상의 호스트에서 IPMI 메트릭을 수집하도록 모니터링 에이전트를 구성하려면 다음 단계를 완료하십시오.

모니터링 에이전트 구성

하나 이상의 호스트를 모니터하려면 모니터링 에이전트를 구성해야 합니다. 이 에이전트는 모니터링 UI를 통해 모니터할 수 있는 메트릭 세트를 자동으로 수집합니다.

인프라별로 에이전트 유형 선택하기를 참고하여 호스트 모니터링을 위해 구성하고자 하는 모니터링 에이전트를 선택합니다.

Prometheus IPMI 내보내기 프로그램 구성

하나 이상의 호스트에 IPMI 내보내기 프로그램을 설치하여 IPMI 메트릭을 수집할 수 있습니다.

IPMI 메트릭을 수집하려는 각 호스트에 대해 다음 단계를 완료하여 IPMI 내보내기 프로그램을 설치하십시오. 예를 들어, Linux 기반 호스트의 경우 다음 단계를 완료하십시오.

  1. 로컬 터미널에서 Prometheus 의 IPMI 수출기를 다운로드하십시오.

  2. 서버의 ssh 세션에서 /usr/sysdig 디렉토리를 작성하십시오. 다음 명령을 실행하십시오.

    cd /usr
    
    mkdir sysdig
    
  3. 파일을 서버에 복사하십시오. 파일이 사용 가능한 디렉토리에서 다음 명령을 실행하십시오.

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

    여기서 <IP_ADDRESS>은(는) 서버의 공용 IP 주소입니다.

    명령이 실패하면 VPN 연결이 계속 열려 있는지 확인하십시오.

  4. 파일의 압축을 푸십시오. 다음 명령을 실행하십시오.

    cd /usr/sysdig/
    
    tar -xvf ipmi_exporter-v1.2.0.linux-amd64.tar.gz
    
  5. FreeIPMI 스위트를 설치하십시오. 다음 명령을 실행하십시오.

    sudo apt-get update
    
    sudo apt-get install freeipmi
    
  6. ipmi_local.yml 파일을 구성하십시오.

    • 모니터하지 않으려는 센서를 제외하도록 파일을 업데이트할 수 있습니다.

    IPMI 내보내기 프로그램을 추출한 디렉토리로 변경하십시오.

    cd ipmi_exporter-v1.2.0.linux-amd64/
    

    구성 파일을 확인하십시오. more ipmi_local.yml 명령을 실행하십시오. 컨텐츠가 유사한 파일을 확인해야 합니다.

    # 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. 여러 호스트에서 센서 메트릭을 수집하려는 호스트에 IPMI 내보내기 프로그램이 설치된 경우 ipmi_remote.yml 파일을 구성하십시오. 보다 IPMI 원격 샘플 파일.

  8. IPMI 내보내기 프로그램을 실행하십시오.

    ./ipmi_exporter --config.file=ipmi_local.yml &
    
  9. IPMI 내보내기 프로그램이 실행 중인지 확인하십시오. 다음 명령을 실행하십시오.

    ps -aux | grep ipmi
    

    실행 중인 IPMI 내보내기 프로그램을 확인해야 합니다.

네트워크 설정 구성

원격 서버에서 IPMI 메트릭을 수집하려면 다음 단계를 완료하십시오.

  1. ipmi_exporter에 액세스할 수 있도록 방화벽을 사용으로 설정하십시오.

  2. [옵션] VPC 규칙 업데이트

    사설 엔드포인트를 사용하는 경우 인바운드 규칙을 9290인 포트 source type = Security Group에 대한 보안 그룹에 추가하고 적합한 보안 그룹을 선택하십시오.

모니터링 에이전트를 업데이트하여 IPMI 메트릭 수집

IPMI 메트릭 수집을 사용으로 설정하려면 모니터링 에이전트를 구성해야 합니다.

구성한 모니터링 에이전트의 유형을 기반으로 다음 옵션 중 하나를 선택하십시오.

Kubernetes 모니터링 에이전트

다음 명령을 실행하여 configmap을 편집하고 IPMI 내보내기 프로그램이 구성된 호스트에 대한 정보를 추가하십시오.

kubectl edit configmap sysdig-agent -n ibm-observe

yaml 파일을 수정하여 IPMI 내보내기 프로그램의 prometheus 구성을 추가하십시오.

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>은(는) 모니터하려는 서버의 IP 주소입니다.
  • <INGESTION_ENDPOINT>은(는) IBM Cloud Monitoring 인스턴스 수집 엔드포인트입니다(예: ingest.us-south.monitoring.cloud.ibm.com). 콜렉터 엔드포인트를 참조하십시오.
  • <IP_ADDRESS_OF_REMOTE_SERVER>:9290은(는) 모니터하려는 서버의 IP 주소입니다.

파일을 저장하면 변경사항이 적용됩니다.

Linux 서비스 모니터링 에이전트

IPMI 메트릭을 수집하도록 모니터링 에이전트를 업데이트하려면 다음 단계를 완료하십시오.

  1. 모니터링 에이전트가 실행 중인 호스트에 SSH로 접속하십시오. 그런 다음 /opt/draios/etc/ 디렉토리로 변경하고 다음 명령을 실행하십시오.

    cd /opt/draios/etc/
    
  2. 원격 스크랩핑을 사용으로 설정하도록 /opt/draios/etc/dragent.yaml을 업데이트하십시오.

    다음 절을 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. 모니터링 에이전트를 다시 시작하십시오. 다음 명령을 실행하십시오.

    service dragent restart
    

IPMI 메트릭을 가져오는 중인지 확인하십시오.

  1. 모니터링 UI를 실행하십시오.

  2. 대시보드를 작성하십시오.

  3. 다음 조회 각각에 대한 패널을 추가하십시오.

IPMI 내보내기 샘플 쿼리
메트릭 PromQL 조회 옵션
IPMI 작동 ipmi_up number (auto)
전압 ipmi_voltage_volts number (auto)
섭씨 온도 ipmi_temperature_celsius number (auto)
팬 속도 RPM ipmi_fan_speed_rpm number (auto)

예를 들어, 다음과 같은 대시보드를 작성할 수 있습니다.

샘플 IPMI
IPMI