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 管理メトリック
リモート・ホストからのデータが正常に収集されると、メトリック
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 ベースのホストの場合は、次の手順を実行します。
-
ローカル端末から 、 Prometheus IPMIエクスポーターをダウンロードします。
-
サーバーで、
sshセッションから、ディレクトリー/usr/sysdigを作成します。 以下のコマンドを実行します。cd /usrmkdir sysdig -
ファイルをサーバーにコピーします。 ファイルがあるディレクトリーから、以下のコマンドを実行します。
scp ipmi_exporter-v1.2.0.linux-amd64.tar.gz root@<IP_ADDRESS>:/usr/sysdig/ここで、
<IP_ADDRESS>はサーバーのパブリック IP アドレスです。コマンドが失敗した場合は、VPN 接続がまだ開かれていることを確認してください。
-
ファイルを解凍します。 以下のコマンドを実行します。
cd /usr/sysdig/tar -xvf ipmi_exporter-v1.2.0.linux-amd64.tar.gz -
FreeIPMI スイートをインストールします。 以下のコマンドを実行します。
sudo apt-get updatesudo apt-get install freeipmi -
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 -
センサー・メトリックの収集を計画している複数のホストのうちの 1 つに IPMI エクスポーターをインストールする場合は、
ipmi_remote.ymlファイルを構成します。 IPMI リモート・サンプル・ファイル(IPMI remote sample file)を参照。 -
IPMI エクスポーターを実行します。
./ipmi_exporter --config.file=ipmi_local.yml & -
IPMI エクスポーターが実行されていることを確認します。 コマンドを実行します。
ps -aux | grep ipmiIPMI エクスポーターが実行されていることを確認できます。
ネットワーク設定を構成する
リモート・サーバーから IPMI メトリックを収集する場合は、以下の手順を実行します。
-
ipmi_exporterへのアクセスがファイアウォールで許可されるようにします。 -
[オプション] 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 メトリックを収集するようにモニタリング・エージェントを更新するには、以下の手順を実行します。
-
モニタリング・エージェントが実行されているホストに SSH で接続します。 続いて、
/opt/draios/etc/ディレクトリーに移動して、以下のコマンドを実行します。cd /opt/draios/etc/ -
リモート・スクレイプを有効にするために、
/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" -
モニタリング・エージェントを再始動します。 以下のコマンドを実行します。
service dragent restart
IPMI メトリックを取得していることを確認します。
-
ダッシュボードを作成します。
-
以下の照会ごとにパネルを追加します。
| メトリック | PromQL 照会 | オプション |
|---|---|---|
| IPMI 稼働 | ipmi_up |
number (auto) |
| 電圧 | ipmi_voltage_volts |
number (auto) |
| 温度 (摂氏) | ipmi_temperature_celsius |
number (auto) |
| ファン速度 (RPM) | ipmi_fan_speed_rpm |
number (auto) |
例えば、以下のようなダッシュボードを作成できます。