IBM Cloud Docs
IPMI デバイス・センサー・メトリックの収集

IPMI デバイス・センサー・メトリックの収集

モニタリング・エージェントが自動的に収集する一連のメトリックに加えて、センサー・メトリックなどの他のメトリックも収集したい場合もあります。 Prometheus IPMI Exporterを使用すると、Intelligent Platform Management Interface (IPMI) のデバイス・センサー・メトリックを収集できます。

  • Prometheus の IPMI エクスポーターは、ローカルの IPMI デバイスと、Remote Management Control Protocol (RMCP) を使用してアクセス可能なリモート・デバイスをサポートします。
  • RMCP を使用してリモート・デバイスにアクセスする場合は、1 つの IPMI エクスポーターを使用して複数の IPMI デバイスをモニターできます。 ターゲットのホスト名をパラメーターとして渡すことで、各デバイスを指定します。
  • IPMI エクスポーターは、FreeIPMI スイートのツールに依存しています。

以下の図は、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 は、システム・イベント・ログの新規エントリーのための空きバイト数を報告します。

  • IPMI センサー・データ

    IPMI エクスポーターは、センサー・タイプごとに 2 つのメトリック (状態および値) を収集します。 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 をご覧ください。

1 つ以上のホストから IPMI メトリックを収集するようにモニタリング・エージェントを構成するには、以下の手順を実行します。

モニタリング・エージェントの構成

1 つ以上のホストをモニターするには、モニタリング・エージェントを構成する必要があります。 このエージェントは、モニタリング UI でモニターできる一連のメトリックを自動的に収集します。

インフラストラクチャによるエージェントタイプの選択 」を参照し、ホストの監視用に構成する監視エージェントを選択します。

Prometheus IPMI Exporter の構成

1 つ以上のホスト内に 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. センサー・メトリックの収集を計画している複数のホストのうちの 1 つに IPMI エクスポーターをインストールする場合は、ipmi_remote.yml ファイルを構成します。 IPMI リモート・サンプル・ファイル(IPMI remote sample file)を参照。

  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 のモニタリング・エージェント

以下のコマンドを実行して、構成マップを編集し、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
*サンプルIPMIダッシュボード