LoginSignup
0
1

More than 5 years have passed since last update.

zabbixとpyvmomiでネットワーク切断の自動化をしてみる

Last updated at Posted at 2017-07-29

pyvmomiで作成したスクリプトをZabbixで実行して自動化するサンプルを作ってみました。
ここでは、監視対象ホストから取得した値でアラートが発生したらZabbixサーバ側でスクリプトを実行して監視対象ホスト(VM)のvNICを自動で切断してみます。

検証方針

  • Zabbixサーバ、監視クライアント共にCentOSを使用する
  • Zabbixサーバに監視クライアントの登録、トリガー設定、アクション設定をする
  • 監視対象ホストからzabbix_senderで値を飛ばしてトリガーを発生させる
  • vCenterからVMのvNICが切断されたことを確認する

環境

項目 内容
OS CentOS 7.3
Zabbix 3.2.7-1
python python34
pyvmomi 6.5.0.2017.5.post1
vCenter バージョン 6.5.0 ビルド 4602587
ホスト Zabbixサーバ : ZBX_SRV、監視対象ホスト : ZBX_AGE

vNIC切断ツール

ソースコード

https://gist.github.com/sky-joker/0c9e689d982c9871d7967661c596ecbd

使い方

(1) 使い方は以下の通りです。

[root@localhost ~]# ./vm_disconnect_nw.py vCenterのIP ログインユーザー名 パスワード 対象VM名 対象vNIC名
[root@localhost ~]# ./vm_disconnect_nw.py xxx.xxx.xxx.xxx administrator@vsphere.local password ZBX_AGE 'Netwok adapter 1'

検証

ホスト登録

(1) ホスト情報は以下の通りです。

(2) 以下のマクロを登録します。

項目 内容
{$VCENTER_IP} vCenterのIP
{$USERNAME} vCenterへログインするユーザー名
{$PASSWORD} vCenterへログインするユーザーのパスワード

(3) アイテムは以下の様に登録してあります。

(4) トリガーは以下の様に登録してあります。

アクション設定

(1) アクションは以下の様に登録してあります。

(2) 実行内容は以下の様に登録してあります。

/usr/lib/zabbix/externalscripts/vm_disconnect_nw.py {$VCENTER_IP} {$USERNAME} {$PASSWORD} {HOST.HOST} 'Network adapter 1'

vNIC切断ツールのインストール

(1) ツールをダウンロードします。

[root@ZBX_SRV ~]# git clone https://gist.github.com/0c9e689d982c9871d7967661c596ecbd.git
Cloning into '0c9e689d982c9871d7967661c596ecbd'...
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.

(2) zabbixのスクリプトディレクトリへコピーします。

[root@ZBX_SRV ~]# cp 0c9e689d982c9871d7967661c596ecbd/vm_disconnect_nw.py /usr/lib/zabbix/externalscripts/
[root@ZBX_SRV ~]# chmod +x /usr/lib/zabbix/externalscripts/vm_disconnect_nw.py
[root@ZBX_SRV ~]# chown zabbix.zabbix /usr/lib/zabbix/externalscripts/vm_disconnect_nw.py
[root@ZBX_SRV ~]# chmod 750 /usr/lib/zabbix/externalscripts/vm_disconnect_nw.py

検証実行

(1) ZBX_AGEのvNIC状態が接続中のことを確認します。

(2) ZBX_AGEから「1」を送信します。

[root@ZBX_AGE ~]# zabbix_sender -z zabbixサーバIP -s 'ZBX_AGE' -k test.item -o 1

(3) タスクが実行されZBX_AGEのvNICが切断されたことを確認します。

vNICが切断されました :-)
このような感じでpyvmomi + Zabbixを組み合わせることでVMwareの自動化が出来たりします。
自動化がきちんとハマるととても便利ですね!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1