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 /usr
mkdir 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 update
sudo 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 ipmi
IPMI エクスポーターが実行されていることを確認できます。
ネットワーク設定を構成する
リモート・サーバーから 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) |
例えば、以下のようなダッシュボードを作成できます。
