mcpField
V
VMware Log Insight

VMware Log Insight

ローカル
github.com/zw008データ・分析06 日前に更新

VMware Log Insight について

VMware Log Insightは、VMware Aria Operations for Logs向けの読み取り専用ログ検索・集計MCPサーバーです。ESXi、vCenter、VMの集中ログを調査する運用担当者向けで、アプライアンスへの書き込みなしに時間別集計や急増検出を行えます。

主な機能

  1. 01時間範囲とテキストによるイベント検索
  2. 02時間区間ごとのログ集計
  3. 03統計的な急増の検出
  4. 04ログフィールドと型の一覧表示
  5. 05アラートとトリガー履歴の照会

活用シーン

  1. 01エラーログの迅速な検索
  2. 02ログ量が増えた時間帯の特定
  3. 03インシデント相関分析用ログの提供

MCP 対応

MCPサーバーは、ログ検索・集計のほか、フィールド、バージョン、アラートを照会する7つの読み取り専用ツールを公開します。stdioでローカルクライアントに接続でき、HTTPSを設定してリモートMCPクライアントにも提供できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"zw008-vmware-log-insight": {
"command": "uvx",
"args": [
"vmware-log-insight"
]
}
}
}
起動コマンドuvx vmware-log-insight

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypivmware-log-insight1.8.8

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

VMware Log Insight

免責事項:コミュニティが保守するオープンソースプロジェクトであり、VMware, Inc. または Broadcom Inc. とは提携しておらず、両社による承認や後援も受けていません。 「VMware」、「vSphere」、「Aria」は Broadcom の商標です。ソースコードは MIT ライセンスのもとで公開され、監査できます。

VMware Aria Operations for Logs(旧称 vRealize Log Insight)の読み取り専用ログ検索・集計ツールです。ESXi ホスト、vCenter、VM から syslog を収集するアプライアンスです。VMware スキル群で使用する一元化ログのデータソースです。厳格な非破壊型です。クエリを実行するだけで、書き込みは一切行いません。

2.0 へのアップグレード

2.0 では、7 つすべての MCP ツール名を変更し、名前が動詞で始まるようにしました(例:alert_get → get_log_alert、alert_history → get_log_alert_history、alert_list → list_log_alerts)。旧名から新名への完全な対応表は RELEASE_NOTES.md にあります。それ以外の変更はありません。ツール、パラメーター、安全性の制御、CLI コマンドは同じです。エージェントのプロンプト、スクリプト、または ~/.vmware/rules.yaml でツール名を指定している場合は更新してください。ただし、旧名を使った拒否ルールは vmware-policy ≥ 1.18 で引き続き動作します(vmware-audit policy で、名前変更により対象範囲が広がったルールを確認できます)。また、vmware-pilot ≥ 1.13 は保存済みワークフロー内の旧名を変換します。 2.0 より古いインストール環境で同じ rules.yaml を共有する場合は、そちらにも vmware-policy ≥ 1.18.2 を導入してください。各ルールを旧名と新名の両方に照合するため、1 つのファイルで両方に対応できます。

関連スキル

ニーズスキルツール
一元化ログの生データと急増vmware-log-insight(本スキル)7
vCenter のイベントとアラームvmware-monitor27
メトリクス、異常、キャパシティvmware-aria28
インシデントの相関分析/根本原因vmware-debug — search_logs の出力を渡します2
VM のライフサイクル/運用vmware-aiops49

インストール

uv tool install vmware-log-insight
mkdir -p ~/.vmware-log-insight
cp config.example.yaml ~/.vmware-log-insight/config.yaml   # edit host/username/provider
echo 'VMWARE_LOG_INSIGHT_PROD_PASSWORD=...' > ~/.vmware-log-insight/.env
chmod 600 ~/.vmware-log-insight/.env
vmware-log-insight doctor
オフライン/エアギャップ環境へのインストール(ソースから)

このプロジェクトでは最新の PEP 517 ビルドシステム(hatchling)を使用しているため、設計上 setup.py はありません。これは想定どおりであり、ファイルが欠落しているわけではありません。ソースをクローンして、ERROR: File "setup.py" or "setup.cfg" not found ... editable mode currently requires a setuptools-based build が表示された場合、使用中の pip は 21.3 より古く、setuptools 以外のバックエンドでは 編集可能(-e)インストールを実行できません。編集可能モードは開発者向けの利便性機能であり、ツールの実行には不要です。次のいずれかを実行してください。

# From the source tree — a normal (non-editable) install builds a wheel:
pip install .              # NOT  pip install -e .

# ...or upgrade pip first, and editable works too:
pip install --upgrade pip && pip install -e .

完全なエアギャップ環境のホストでは、ネットワーク接続可能なマシンで wheel をビルドしてコピーしてください。これにより、対象ホストでネットワークが不要になります。

# On a connected machine, collect this package + its dependencies as wheels:
pip wheel . -w dist        # → dist/*.whl   (or: uv build, for just this package)

# Copy dist/ to the air-gapped host, then install offline:
pip install --no-index --find-links dist vmware-log-insight

MCP ツール(7 — すべて読み取り専用)

ツール説明
search_logs時間範囲とテキストでイベントを検索します(トークン全体との一致)。最大 200 件のイベントを返します
aggregate_logs時間区間ごとにカウント/集計します(field の UCOUNT/AVG/...)。z スコアによる急増検出機能もあります
list_log_fieldsアプライアンスのフィールド(名前と型)を一覧表示します。aggregate_logs の field に使用します
get_log_insight_versionアプライアンスのバージョン/ビルド情報を取得します
list_log_alerts / get_log_alert / get_log_alert_history定義済みアラートとそのトリガー履歴を照会します

ワークフロー

  • エラーをすばやく見つける — vmware-log-insight search -q error -l 1h。
  • ログが急増した時間帯を特定する — vmware-log-insight aggregate -q error -l 6h --bin-ms 300000 を実行して spikes[] を確認し、その後、急増した時間帯を search します。
  • 根本原因の特定 — search_logs の結果(および vmware-monitor の vCenter イベント、vmware-aria のメトリクス)を vmware-debug の build_incident_timeline に渡します。

トラブルシューティング

  • /sessions で 401 → ユーザー名/パスワード/provider と、VMWARE_LOG_INSIGHT_<TARGET>_PASSWORD 環境変数を確認してください。
  • どこでも 503 → アプライアンスの起動中です。doctor はクラッシュではなくステータスとして報告します。
  • 結果が空 → --last の範囲を広げてください。text は部分文字列ではなく単語全体に一致します(word* を試してください)。デフォルトの API ポートは 9543 です(異なる場合は port を設定してください)。
  • UCOUNT needs a field → --field を渡してください(名前は fields から指定します)。COUNT と SAMPLE は引数を取りません。

セキュリティ

設計上、読み取り専用です。認証情報は ~/.vmware-log-insight/.env に保存します(chmod 600)。 平文のパスワードは、自動的に grep で安全な b64: に難読化されます(暗号化ではありません。実際に秘匿するには、シークレットマネージャーから注入してください)。TLS はデフォルトで有効です。 SECURITY.md を参照してください。

リモートアクセス(HTTPS)とツールの制限

デフォルトでは、vmware-log-insight mcp は stdio で 1 つのローカルクライアントと通信し、すべてのツールを提供します。次の 2 つのオプションで変更できます (vmware-policy ≥ 1.21.0)。

HTTPS 経由で提供すると、別のマシンにあるクライアントが接続できます。呼び出し元はすべてベアラートークンが必要です。

vmware-audit token create alice          # prints the token once; give it to alice
vmware-audit token list                  # names only
vmware-audit token revoke alice          # refused from its next request, no restart
vmware-log-insight mcp --transport https --host 0.0.0.0 --port 8443 \
    --cert /etc/vmware-mcp/server.pem --key /etc/vmware-mcp/server-key.pem \
    --public-name mcp.example.com

クライアントを接続します(Claude Code の例です。ストリーミング可能な HTTP とカスタムヘッダーに対応する MCP クライアントであれば使用できます)。

claude mcp add --transport http vmware-log-insight https://mcp.example.com:8443/mcp \
    --header "Authorization: Bearer $VMWARE_MCP_TOKEN"
{
  "mcpServers": {
    "vmware-log-insight": {
      "type": "http",
      "url": "https://mcp.example.com:8443/mcp",
      "headers": { "Authorization": "Bearer ${VMWARE_MCP_TOKEN}" }
    }
  }
}
  • トークンがないとサーバーは起動せず、--public-name に含まれない Host/Origin の値を拒否します。また、バインド前に認証されていないリクエストが 401 になることを確認します。これらの名前について、クライアントが信頼する証明書を使用してください。
  • 同じマシン上の TLS 終端リバースプロキシの背後で使用する場合は、--transport http --host 127.0.0.1 --public-name mcp.example.com を使い、Authorization ヘッダーを転送してください。
  • 別のマシン上のロードバランサーやゲートウェイの背後で使用する場合は、--transport https を維持してください(自己署名証明書でもかまいません)。ロードバランサーが Host として送信するホスト名を --public-name に指定し、Authorization を転送するよう設定してください。 ヘルスプローブには GET /healthz を使用できます。トークンは不要で、{"status": "ok"} のみを返します (vmware-policy ≥ 1.23.0)。
  • 各リクエストに traceparent または X-Request-ID を送信すると、監査行に保存されます。 vmware-audit log --correlation-id ID を実行すると、1 つのプラットフォームリクエストに関連する呼び出しを検索できます。
  • 監査ログでは各呼び出し元が token:<name> として記録されます。呼び出しは、ターゲットの指定の有無にかかわらず並行して実行されます。各ターゲットで保持できるセッション数は VMWARE_MCP_POOL_SIZE までです(デフォルトは 2)。各セッションはターゲットへのログインです。すべてのセッションが使用中の場合、空きが出るまで最大 300 秒待機します。
  • エンドポイントにアクセスできる全員が、このサーバーのアカウントで操作します。 トークンは呼び出し元を識別しますが、プラットフォーム上で何らかの権限を付与するものではありません。権限レベルごとにエンドポイントを 1 つ実行してください。
  • 1 つのエンドポイントで複数のユーザーやロールを使う場合: vmware-audit roles enable を 1 回実行してから、各トークンにロールを割り当ててください(vmware-audit token create NAME --role reader、またはツールとターゲットを指定した roles.yaml 内のロールを使用します。vmware-policy ≥ 1.24.0)。ロールによって、このエンドポイントでトークンが呼び出せる範囲を制限できますが、アカウントが持つ権限を超える権限は付与できません。vmware-policy の README の「ネットワーク呼び出し元向けのロール」を参照してください。

ツールの制限: このサーバーのツールはすべて読み取り専用なので、--expose read を指定してもここでは何も変わりません。このオプションは書き込み可能なスキルのためにあります。最小権限は、サーバーが使用するアカウントによって実現します。

詳細:skills/vmware-log-insight/references/setup-guide.md(「MCP を HTTPS 経由で提供する」「提供するツールの制限」)。

ライセンス

MIT。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。