VMware Log Insight について
VMware Log Insightは、VMware Aria Operations for Logs向けの読み取り専用ログ検索・集計MCPサーバーです。ESXi、vCenter、VMの集中ログを調査する運用担当者向けで、アプライアンスへの書き込みなしに時間別集計や急増検出を行えます。
主な機能
- 01時間範囲とテキストによるイベント検索
- 02時間区間ごとのログ集計
- 03統計的な急増の検出
- 04ログフィールドと型の一覧表示
- 05アラートとトリガー履歴の照会
活用シーン
- 01エラーログの迅速な検索
- 02ログ量が増えた時間帯の特定
- 03インシデント相関分析用ログの提供
MCP 対応
MCPサーバーは、ログ検索・集計のほか、フィールド、バージョン、アラートを照会する7つの読み取り専用ツールを公開します。stdioでローカルクライアントに接続でき、HTTPSを設定してリモートMCPクライアントにも提供できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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-monitor | 27 |
| メトリクス、異常、キャパシティ | vmware-aria | 28 |
| インシデントの相関分析/根本原因 | vmware-debug — search_logs の出力を渡します | 2 |
| VM のライフサイクル/運用 | vmware-aiops | 49 |
インストール
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。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。