> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# XRDU エクスポーター

XRDU エクスポーターは、XRDU のベースボード管理コントローラー (Baseboard Management Controller; BMC) からファンと温度のメトリクスを公開します。1 つのエクスポーターインスタンスで、任意の数の XRDU に対応できます。Prometheus は BMC ごとに 1 回ずつ `/probe?target=<address>` をスクレイプします。

| 項目 | 値 |
| :- | :- |
| ポート | デフォルトは 9821。`xrdu-exporter.port` で設定します。 |
| 実行形態 | `sambanova-hardware-monitoring` チャートがデプロイする Deployment |
| デバイスプロトコル | BMC の HTTPS API (ポート 443、自己署名証明書) |
| 認証 | 必須。XRDU の BMC は認証なしの読み取り (guest read) を許可していません。 |
| ネットワーク | クラスターノードから、管理ネットワーク上の XRDU BMC への経路が必要です |
| イメージバージョン | 1.0.0 (チャート 1.0.0 のデフォルト)。 |

## エンドポイント

| エンドポイント | 返す内容 |
| :- | :- |
| `/probe?target=<address>` | 1 台の BMC のメトリクス |
| `/metrics` | エクスポーター自身のプロセスメトリクス。BMC のデータは含みません。 |
| `/healthz` | エクスポーターの稼働中は `ok` |

`/probe` に任意パラメータはありません。正常な BMC は約 97 の系列 (series) を公開します。内訳は、14 のファン読み値、81 の温度、`xrdu_up`、`xrdu_scrape_duration_seconds` です。

## メトリクス

| メトリクス | 型 | ラベル | 説明 |
| :- | :- | :- | :- |
| `xrdu_fan_rpm` | gauge | `sensor` | ファンの実測回転数 (RPM) |
| `xrdu_temperature_celsius` | gauge | `sensor` | 温度 (摂氏) |
| `xrdu_up` | gauge | なし | BMC が応答した場合は `1`、応答しなかった場合は `0` |
| `xrdu_scrape_duration_seconds` | gauge | なし | BMC の読み取りに要した時間 |

サポートされるメトリクスは以上がすべてです。

BMC が「動作していない」「存在しない」「値が妥当でない」と報告したセンサーは、サンプルを公開しません。読み値の欠落を示すメトリクスはないため、系列には単にギャップ (欠落区間) が生じます。

## ラベル

| ラベル | 値 | 説明 |
| :- | :- | :- |
| `xrdu` | ターゲットの `name`、またはそのアドレス | BMC を識別します。エクスポーターではなく Prometheus が付与します。 |
| `sensor` | `fm0_fan0`、`inlet`、`RDU0_D0_CORETEMP` | BMC 自身のセンサー名 (変更なし) |
| `rack`、`node`、`xrdu_index` | 宣言した任意の値 | ターゲットの `labels` で宣言します |

> [!WARNING]
>
> `xrdu` ラベルの意味はエクスポーターごとに異なります。`xrdu_*` 系列では `<rack-id>-h1xr0` のような BMC のホスト名を保持し、`sambanova_*` 系列ではホスト自身のインデックス (`XRDU_0` 〜 `XRDU_7`) を保持します。両者を `xrdu` で結合 (join) しても何もマッチせず、エラーも報告されません。

### XRDU の温度メトリクスとホストメトリクスの結合

BMC のメトリクスを `sambanova_*` 系列と結合するには、各ターゲットで `node` と併せてホスト側の XRDU インデックスを宣言します。

```yaml theme={}
xrdu-exporter:
  targets:
    - address: <xrdu-0-ip>
      name: <xrdu-0-hostname>
      labels:
        node: <node-name>
        xrdu_index: XRDU_0
```

`snctl rack show` に表示される XRDU 番号 (`Node/<n>/xrdu/<m>`) は、ホスト側のインデックス `XRDU_<m>` に対応します。

結合には `node` と `xrdu_index` の両方を使用してください。`XRDU_2` はどのノードにも存在するため、インデックス単独では一意になりません。

## 動作

| 動作 | 詳細 |
| :- | :- |
| 到達できない BMC は、HTTP 200 と `xrdu_up 0` を返します | 認証情報の拒否と証明書の解析不能は、メトリクスだけでは見分けがつきません。両者はエクスポーターのログで区別できます。アラートは `xrdu_up == 0` に対して設定してください。 |
| エクスポーターが報告するのは読み値であり、判定ではありません | センサーの値が範囲外かどうかは、ここからはわかりません。 |
| スクレイプ間隔は 30 秒より短くしないでください | BMC の応答には 2.3〜2.7 秒かかります。エクスポーターはスクレイプタイムアウトの最小値として 5 秒を強制し、それ未満の設定では起動を拒否します。 |
| レプリカを増やすと BMC の負荷が倍増します | レプリカはキャッシュを共有しません。`replicaCount` は `1` のままにしてください。 |

## エクスポーターが公開しないデータ

エクスポーターは、BMC の OpenBMC センサーツリーを HTTPS で読み取り、その一部を上記のメトリクスに対応付けます。BMC は同じレスポンスでさらに多くの情報を返します。以下のデータが必要な場合、このエクスポーター経由では取得できません。

| 非公開のデータ | 詳細 |
| :- | :- |
| 電圧・電流・電力・使用率の各センサー | ファン・温度と同じレスポンスで返されますが、公開されません。 |
| しきい値 | BMC はセンサーごとに、警告 (warning) と重大 (critical) の上限・下限を宣言します。 |
| しきい値超過アラーム | 読み値が警告帯・重大帯に入ると (一時的な場合も含めて) BMC がフラグを立てます。 |
| ファンへの指令デューティ比 | ファンの状態を表すのは、`xrdu_fan_rpm` の実測回転数です。 |
| センサーの動作範囲 | BMC は各値と併せて最小値と最大値を報告します。 |
| 光トランシーバーのテレメトリ | QSFP のケース温度・ダイ温度、接続状態、ファームウェアバージョン。 |
| BMC のイベントログと Redfish テレメトリレポート | 障害 (fault) レポートは BMC の別インターフェースです。このエクスポーターはセンサーのみを読み取ります。 |
| 電源状態とインベントリ | シャーシの電源状態、シリアル番号、FRU データ。これらには SambaRack Manager を使用してください。 |

エクスポーターを介さずに、デバイスから直接センサーを読み取るには、以下を実行します。

```bash theme={}
read -rs -p "XRDU BMC password: " XRDU_PASSWORD; echo

curl -sk -u root:"$XRDU_PASSWORD" \
  "https://<bmc-address>/xyz/openbmc_project/sensors/enumerate" | jq

unset XRDU_PASSWORD
```

`-k` と `-u` はどちらも必須です。BMC は自己署名証明書を提示し、認証を要求します。

## 設定

### Helm values

| キー | デフォルト値 | 説明 |
| :- | :- | :- |
| `xrdu-exporter.enabled` | `true` | エクスポーターをデプロイします |
| `xrdu-exporter.probe.enabled` | `true` | BMC をスクレイプする `Probe` を作成します。これがないと、BMC をスクレイプするものがなくなります。 |
| `xrdu-exporter.probe.interval` | `30s` | スクレイプ間隔。短くしないでください。 |
| `xrdu-exporter.probe.scrapeTimeout` | `15s` | Prometheus 側のスクレイプタイムアウト。`xrdu-exporter.scrapeTimeout` より長くする必要があります。 |
| `xrdu-exporter.probe.labels` | `{}` | Prometheus の `probeSelector` と一致させる必要があります |
| `xrdu-exporter.targets` | `[]` | 有効時は必須。[ターゲット](#ターゲット) をご参照ください。 |
| `xrdu-exporter.auth.existingSecret` | `""` | `XRDU_USERNAME` と `XRDU_PASSWORD` を持つ Secret。認証情報の設定はいずれか 1 つが必須です。 |
| `xrdu-exporter.auth.username` / `.password` | `""` | `auth.existingSecret` が空の場合のみ使用されます。`auth.password` (必要に応じて `auth.username` も) を設定すると、チャートが `xrdu-exporter-credentials` を作成します。ユーザー名のデフォルトは `root` です。ここで設定したパスワードは Helm リリースに保存されるため、`auth.existingSecret` の使用を推奨します。 |
| `xrdu-exporter.auth.usernameKey` / `.passwordKey` | `XRDU_USERNAME` / `XRDU_PASSWORD` | Secret 内のキー名 |
| `xrdu-exporter.cacheTTL` | `15s` | 1 台の BMC の読み取り結果を再利用する時間 |
| `xrdu-exporter.scrapeTimeout` | `10s` | エクスポーター側のタイムアウト。最小値は `5s`。 |
| `xrdu-exporter.logLevel` | `info` | `debug`、`info`、`warn`、`error` のいずれか |
| `xrdu-exporter.serviceMonitor.enabled` | `false` | エクスポーター自身の `/metrics` をスクレイプします |
| `xrdu-exporter.serviceMonitor.interval` | `60s` | エクスポーター自身のエンドポイントのみに適用されます。BMC の読み取り頻度は `probe.interval` が決めます。 |
| `xrdu-exporter.serviceMonitor.scrapeTimeout` | `10s` | スクレイプ間隔を超えないようにする必要があります |
| `xrdu-exporter.replicaCount` | `1` | エクスポーター Pod の数 |
| `xrdu-exporter.port` | `9821` | エクスポーターが待ち受けるポート |
| `xrdu-exporter.resources` | 50m / 64Mi、制限 256Mi | Pod のリクエストと制限 |
| `xrdu-exporter.nodeSelector` / `.tolerations` / `.affinity` | `{}` / `[]` / `{}` | 管理ネットワークに到達できるノードに Pod を固定します |
| `xrdu-exporter.podSecurityContext` / `.securityContext` | 非 root、読み取り専用 rootfs、drop ALL | デフォルトで堅牢化済み |

### ターゲット

```yaml theme={}
xrdu-exporter:
  enabled: true
  probe:
    enabled: true
  auth:
    existingSecret: xrdu-creds
  targets:
    - address: <xrdu-0-ip>
      name: <xrdu-0-hostname>
      labels:
        rack: "<rack-id>"
    - <xrdu-1-ip>                   # no labels: excluded from per-rack panels and host joins
    - address: <xrdu-2-ip>
```

| フィールド | 説明 |
| :- | :- |
| `address` | 必須。記載どおりの値が `?target=` に渡されます。 |
| `name` | アドレスの代わりに `xrdu` ラベルとして使用されます |
| `labels` | 各キーが、この BMC のすべての系列のラベルになります |

ユーザー名のデフォルトは `root` のため、通常はパスワードのみを設定します。パスワードは `snctl secret get --device-type xrdu --show-value` で取得できます。

## 次のステップ

* [監視のインストール](https://docs.sambanova.ai/docs/ja/v2.2.6/sambastack/hardware-admin/sambarack-manager/monitoring/monitoring-install.md)
* [リファレンスダッシュボード](https://docs.sambanova.ai/docs/ja/v2.2.6/sambastack/hardware-admin/sambarack-manager/monitoring/monitoring-reference-dashboards.md)
* [トラブルシューティング](https://docs.sambanova.ai/docs/ja/v2.2.6/sambastack/hardware-admin/sambarack-manager/monitoring/monitoring-troubleshooting.md#xrdu-のプローブ失敗)
