実装とコードで見る ESXi-AIOps-Agent
1. 後編のはじめに
こんにちは、ネットワールドの海野です。
前編では「何を作ったか / どういう構成か / 何が面白いか」を整理しました。
後編は、手を動かすパートです。
-
リポジトリ構成とセットアップ
-
起動して会話するまで
-
デモでやった操作の流れ
-
実装コード断片(要点だけ)
-
実装のポイントを一言で
前編はこちらです。
2. リポジトリ構成とセットアップ
一次情報は GitHub と SpeakerDeck に置いてあります。
セットアップ(最短ルート)
README に詳細がありますが、ここでは「最短で動かす」手順だけ抜粋します。
-
リポジトリ取得
-
venv 作成と有効化(Windows PowerShell例)
-
依存関係インストール
-
Playwright(Chromium)セットアップ
3. 設定ファイル(local_config.py)
機密情報をコードに直書きしないために、設定は local_config.py に逃がします(README でもこの運用です)。
local_config.py の例(値は必ずマスクしてください):
ポイントは2つだけです。
-
local_config.pyは機密情報を含むので Git 管理しない(README でも注意書きあり) -
HEADLESS の切り替えができるので、デモでは
Falseにして画面を見せると分かりやすい
4. エージェントの起動
venv が有効化されている状態で、起動します。
起動すると、内部的にブラウザが立ち上がって ESXi UI へ自動ログインし、コンソールに esxi> のプロンプトが出ます。
ここまで来たら、あとは会話するだけです。
5. 自然言語で ESXi を操作してみる
5.1 VM 一覧を出す
https://youtu.be/aIiR-mvWvqI?si=FFZp_t1nuSi1QAkm&t=109
5.2 電源状態の確認 -> Power On / Shutdown
https://youtu.be/aIiR-mvWvqI?si=R7PD8QvvfdUI2R0O&t=186
5.3 スナップショット取得
https://youtu.be/aIiR-mvWvqI?si=6Y9m9MidErmI90H_&t=392
6. 【コラム】実装のポイントを一言で
コード全部を追うより、後から効いてくるのはここです。
6.1 Gemini は「考える役」、実行は Python
前編解があるかもしれませんini に「実行まで丸投げ」しないのが大前提です。
Gemini は意図理解とプランニング、Python は安全に手を動かす実行系、という分離が肝です。
6.2 SSH + Web UI のハイブリッドは現実解
ESXi は「SSH で完結する操作」と「UI で触りたい操作」が混ざります。
ちなみに paramiko と Playwright を併用するのはこの記事での実装の都合で、より適切な解があるかもしれません。
7. 後編まとめ
-
README の手順通りにセットアップすれば、
esxi>まで到達できる -
以降は自然言語で VM 操作(一覧/電源/スナップショット)が可能
最後に注意点です。
本ツールは ESXi に対して変更操作(電源操作やスナップショット取得など)を行います。
必ず検証環境で試してから利用してください。
私はラズパイで試しました。