Vault

Vault のメトリクス: 主要メトリクスの見方

2026-04-19
NicheeLab編集部

Vault は高可用で安全にシークレットを配布するためのコア基盤です。運用では、単に起動しているかではなく、リーダー選出、シール状態、リクエスト遅延、ストレージ健全性、リース更新の失敗など、兆候を早めに掴むメトリクスの監視が要点になります。

本稿では公式ドキュメントの挙動を前提に、Prometheus での収集方法と、主要メトリクスの読み方・アラート設計を具体化します。バージョン差異に左右されやすい個別メトリクス名には依存し過ぎず、カテゴリと実務的な見方に寄せて解説します。

全体像と収集方法(Prometheus/StatsD)

Vault は telemetry スタンザを有効化すると、/v1/sys/metrics エンドポイントから Prometheus 形式でメトリクスを公開できます(format=prometheus を指定)。StatsD/DogStatsD への送出も選択可能です。収集方式は運用基盤に合わせて決めますが、ダッシュボードやアラート設計の容易さから、近年は Prometheus 直収集が主流です。

重要な前提は2点です。1) telemetry を設定してサーバを再起動(または安全なメンテナンス手順に従いローリング)すること、2) 本番では /v1/sys/metrics へのアクセス制御(ポリシーで read を付与)を行うこと。まずは開発環境でメトリクス一覧を実際に確認し、利用可能なラベル(パス、メソッド、ステータス、マウント種別など)を把握してからダッシュボード化するのが確実です。

  • エンドポイント: /v1/sys/metrics?format=prometheus
  • telemetry.prometheus_retention_time を設定すると Vault 内部のメトリクス保持が有効に
  • StatsD/DogStatsD は既存 APM/監視と統合しやすいが、ラベルは限定的になりがち
収集方式主な送信先/取得方法長所注意点
Prometheus 直収集Prometheus が /v1/sys/metrics をスクレイプラベルが豊富、可視化テンプレートが多いエンドポイント保護と証明書/トークン管理が必要
StatsDstatsd_address へ UDP 送出軽量・既存基盤に乗せやすいラベル表現が弱く、詳細な切り分けが困難
DogStatsDdogstatsd_address へ送出タグである程度のラベル表現が可能収集エージェント依存、ネットワーク到達性に注意
ファイル/外部ブリッジエージェントで収集し他系へ転送既存 SOC/監視の統合が柔軟運用の複雑化と遅延のリスク

Vault メトリクス収集の典型構成

Vault ServersHA: Active/StdbyPrometheus/v1/sys/metrics?format=prometheus (TLS, Token)Grafana

Vault telemetry と Prometheus スクレイプ設定例(HCL/YAML)

# server.hcl(抜粋)
telemetry {
  prometheus_retention_time = "24h"
  disable_hostname = true
  # 必要に応じて(いずれかを使用)
  # statsd_address   = "127.0.0.1:8125"
  # dogstatsd_address= "127.0.0.1:8125"
}

# sys/metrics 読取用の最小ポリシー例(Vault policy)
path "sys/metrics" {
  capabilities = ["read"]
}

# Prometheus(prometheus.yml 抜粋)
scrape_configs:
  - job_name: "vault"
    scheme: https
    metrics_path: /v1/sys/metrics
    params:
      format: ["prometheus"]
    bearer_token: "s.xxxxxxxx"  # sys/metrics 読取権限のあるトークン
    tls_config:
      insecure_skip_verify: false
    static_configs:
      - targets: ["vault.example.com:8200"]

可用性/HA の見方(リーダー・シール・ヘルス)

HA 運用では、リーダー交代の頻度と直前兆候(レイテンシ上昇、ストレージ遅延)、シール/アンシールのイベント、スタンバイ昇格の成否をウォッチします。メトリクスでは、リーダーシップ関連のカウンタ/ゲージ、シール状態変化のイベント数、スタンバイの RPC 失敗回数などが安定した指標です。加えて /v1/sys/health を併用して状態遷移を定点観測します。

試験・実務ともに、単発のダウン検知よりもリーダー交代の『増加傾向』や『連鎖(交代→遅延→交代)』に注目するのがポイントです。5xx エラーやストレージ警告と相関があれば早期の是正が可能です。

  • 見るべき観点: リーダー交代回数、リーダー滞在時間、シール状態の変化、スタンバイ昇格失敗
  • ヘルス API は即時性が高い(/v1/sys/health)。メトリクスは傾向把握に強い
症状背景リスク初動アクション
リーダー交代が急増ストレージ遅延/ネットワーク不安定ストレージ I/O とネットワーク遅延を確認。Standby の到達性をテスト
頻繁なシール/アンシール自動アンシール KMS の失敗や鍵管理の問題KMS 到達性/権限を確認、監査ログのエラーを精査
Standby 昇格失敗ACL/通信制御、Raft の不整合ポート/証明書を確認、Raft ステータスの収束を待機/是正

HA の状態遷移(概念)

failover / preemptionActive (Leader)Standby (New)

ヘルス/メトリクスの取得例(curl)

# リーダー・シール状態確認(ヘルス API)
curl -sS https://vault.example.com:8200/v1/sys/health \
  -H "X-Vault-Token: s.xxxxx" | jq '{sealed, standby, initialized, version}'

# メトリクス(Prometheus 形式)
curl -sS "https://vault.example.com:8200/v1/sys/metrics?format=prometheus" \
  -H "X-Vault-Token: s.xxxxx" | head -n 50

リクエスト遅延・スループット・エラー率の見方

Vault の API リクエストは、パス(例: auth/、sys/、kv/)、HTTP メソッド、ステータスコードなどのラベルと共にエクスポートされます。これにより、マウント/メソッド/ステータス別のスループット、レイテンシ分布、5xx エラー率を可視化できます。SLO 設計では p95/p99 のレイテンシと 5xx 率(直近 5〜15 分)が実務的です。

個別のメトリクス名やラベルはバージョンで増減することがあるため、まずは /v1/sys/metrics の出力を実際に確認し、ラベル(path, method, status など)で集計できることを前提にダッシュボードを定義してください。

  • 遅延は分位点(p95/p99)で監視。突発的スパイクと恒常的上昇を分けて可視化
  • 5xx はルート別に集計。auth/* の増加は外部 IdP/ネットワーク要因も疑う
指標カテゴリ見るべき集計軸運用メモ
スループットpath × methodホットパスの把握とレート制限の影響確認
レイテンシp95/p99 × pathバックエンド遅延や鍵生成の重さが表れやすい
エラー率status(5xx) × path限定的に 429/403 なども別グラフで切り出す

レイテンシ分布の把握(概念)

countlatencyp50p90p95p99

ダッシュボード/アラート設計の雛形(PromQL の考え方)

# 具体的なメトリクス名は /v1/sys/metrics の出力に合わせて置換してください。
# 例: レイテンシ p95(Histogram/summary を利用可能なら)
# histogram_quantile(0.95, sum by (le, path) (<request_duration_bucket>))

# 例: 5xx 率(直近 5 分)
# sum by (path)(rate(<request_total>{status=~"5.."}[5m])) / sum by (path)(rate(<request_total>[5m]))

# 例: スループット(RPS)
# sum(rate(<request_total>[1m]))

ストレージ/レプリケーション(Raft/Integrated Storage)の見方

Integrated Storage(内蔵 Raft)利用時は、コミット遅延、ピアの健全性、スナップショット/ログ圧縮の進行、ディスク I/O のボトルネックを監視します。メトリクスはストレージ操作の遅延やエラー回数としてエクスポートされます。短期の遅延スパイクよりも、継続的なレイテンシ上昇や再送増加を重視します。

メトリクスと併せて、Autopilot の状態やピアのヘルスを API で確認しておくと、切り分けが早くなります。

  • Raft ピア数・リーダーの識別、コミット/適用遅延、スナップショット頻度
  • ディスクの fsync 遅延やストレージ層エラーは上位のレイテンシ/リーダー交代に伝播
観点確認手段しきい値/目安
ピア健全性Autopilot 状態/API全ピア healthy が前提。degraded は即調査
コミット遅延ストレージ関連メトリクス平常値からの倍化が 5m 以上継続で注意
スナップショットログサイズ/世代肥大化・頻発は I/O ボトルネックの兆候

Raft の概念図(Active/Peers)

Append/Commit (Replication)LeaderFollower

Autopilot/ピア状態の取得(参考 API)

# Autopilot の状態(参考:補助的な健全性確認)
curl -sS https://vault.example.com:8200/v1/sys/storage/raft/autopilot/state \
  -H "X-Vault-Token: s.xxxxx" | jq '{healthy: .healthy, failure_tolerance: .failure_tolerance, servers: [.servers[] | {id, node, voter, healthy}]}'

# ピア一覧
curl -sS https://vault.example.com:8200/v1/sys/storage/raft/configuration \
  -H "X-Vault-Token: s.xxxxx" | jq '.configuration.servers[] | {id, address, voter}'

トークン/リース/シークレット寿命の見方

トークン発行とリース更新の失敗は、認可の不具合や外部依存(KMS/PKI/DB)に直結します。メトリクスでは、発行/更新/失効の回数や失敗率、リース保有数の推移を把握します。定常的な増加はリークの兆候、失敗スパイクは外部依存の障害やポリシー変更の影響を疑います。

補助的に /sys/leases API を用いたスポット確認(特定パスのリース総数や残存時間の分布)を運用 Runbook に入れておくと、障害時の切り分けが早くなります。

  • 見るべき数値: リース総数、更新成功率、失敗の発生源(path/mount 別)
  • 長寿命リースの滞留は tidy/ポリシー見直しの合図
指標異常の兆候対処の方向性
リース更新失敗率短時間で急増外部依存(DB/PKI)の到達性・権限を確認
発行レート平常時より倍化スパイク要因(バッチ/デプロイ)とレート制限を確認
リース総数右肩上がりで高止まりリーク疑い。TTL 設計と tidy の計画実行

リースのライフサイクル(概念)

issueactive leaserenewactiveexpire/revokeend

リース確認の補助(API)

# 特定パス配下のリース一覧(例)
curl -sS https://vault.example.com:8200/v1/sys/leases/lookup/db/creds/ \
  -H "X-Vault-Token: s.xxxxx" | jq '.'

# トークン情報(例)
curl -sS https://vault.example.com:8200/v1/auth/token/lookup-self \
  -H "X-Vault-Token: s.xxxxx" | jq '{id, policies, ttl, orphan}'

アラート設計と試験対策の要点

アラートは『瞬間最大』より『継続的な逸脱』を拾う条件で設計します。HA の安定性、API レイテンシ、5xx、ストレージ遅延、リース更新失敗の5系統を最低限おさえ、相関を見るダッシュボードをペアで用意します。

試験(Operations)では、telemetry 有効化、/v1/sys/metrics 取得の前提(format=prometheus、権限)、HA とストレージの関係、レート制限や監査ログエラーの兆候などが頻出の文脈です。用語は公式ドキュメント準拠で覚えておくと安全です。

  • しきい値は『平常時の基準値 × 2 が 5 分継続』のようにベースラインから設計
  • sys/health による即時性と Prometheus による傾向把握を併用
カテゴリ推奨 SLI/SLO 例一次アラート条件(例)
HA/リーダー交代回数/24h, リーダー滞在時間中央値交代回数が直近1hで3回以上
レイテンシp95 ≤ 200ms(ホットパス)p95 が基準の2倍超を5分継続
エラー率5xx ≤ 0.5%直近5分で1%超

相関を見るダッシュボード(概念配置)

Latency p955xx Error %Leader changes

運用 Runbook の雛形(擬似レシピ)

# 1) アラート発火(例: 5xx 増加)
# 2) /v1/sys/metrics を取得し、path/method/status を確認
# 3) 該当 path の下位依存(DB/PKI/ネットワーク)の健全性を確認
# 4) 併せて /v1/sys/health と Raft Autopilot 状態を確認
# 5) 影響範囲(トークン/リース)を確認し、レート制限/回避策を適用

問題で確認

Ops

問題 1

Vault のメトリクスを Prometheus で収集しダッシュボード化したい。最も適切な手順の組み合わせはどれか。

  1. server.hcl の telemetry で prometheus_retention_time を設定し、Prometheus が /v1/sys/metrics?format=prometheus をスクレイプ。sys/metrics を read できるトークンを使用する
  2. Vault の監査ログを Fluentd で収集すれば、/v1/sys/metrics を有効化する必要はない
  3. Prometheus は /v1/sys/health を 1 秒間隔でスクレイプし、そこからレイテンシ分布を算出する
  4. StatsD のみを有効化すれば、Prometheus はタグ情報をそのまま取得できる

正解: A

Prometheus での収集は、telemetry を有効化し /v1/sys/metrics に対して format=prometheus を指定してスクレイプします。アクセス制御として sys/metrics 読取権限のトークンを用意します。監査ログはメトリクスの代替ではなく、/v1/sys/health は状態確認でありレイテンシ分布は出せません。StatsD のタグは Prometheus 直収集の代替にはなりません。

よくある質問

telemetry 設定は動的に反映されるか。再起動は必要?

多くのケースでサーバの安全な再起動(もしくは計画的なローリング)が必要です。変更可否はバージョンにより差異がありうるため、公式ドキュメントの該当バージョンを確認し、検証環境で動作を確かめてから本番適用してください。

/v1/sys/metrics は認証が必要? Prometheus の接続方法は?

本番ではトークン等でのアクセス制御を推奨します。Vault ポリシーで path "sys/metrics" に read を付与したトークンを用い、Prometheus から Bearer Token として送出します。TLS 証明書の検証も適切に構成してください。

具体的なメトリクス名が環境で違う。どう整合させる?

まず /v1/sys/metrics の実出力をダンプし、利用可能なラベル(path, method, status, mount など)単位でダッシュボード/アラートを設計してください。個別名に強く依存せず、カテゴリ(レイテンシ、5xx、ストレージ遅延、リーダー交代、リース更新失敗)を軸に据えると、バージョン差異に強くなります。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Vault

Vault のコア概念を最短距離で理解する:Secret / Auth / Policy / Token

HashiCorp Vault Associate レベルで押さえるべきコア概念(Secret Engine、Auth ...

Vault

Vault Operations Professional: 上位資格としての範囲を実務目線で押さえる

HashiCorp Vault Operations Professional(Ops Pro)の出題範囲を、Assoc...

Vault

Vaultにおけるパスベースのルーティング: マウントとAPI構造を読み解く

HashiCorp Vaultのパスベースのルーティングを、マウント設計とAPIパスの観点から整理。Associateレ...

Vault

Vault Tokens の基礎: 認証の起点となる概念

HashiCorp Vault におけるトークンの役割、種類、ライフサイクル、ポリシー連携、設計パターンをAssocia...

Vault

Vault のトークン種類を正しく使い分ける: service / batch 実践

HashiCorp Vault Associate 向けの試験対策と実務運用を両立させた、service トークンと b...

Vaultの記事一覧 (100件)
© 2026 NicheeLab All rights reserved.