今までずっとKVMを使ってきましたがコンテナ型の方が軽いし速いしで
最近はコンテナ(LXC Container)を使っています。
コンテナ型はKVMと違ってエミュレートされず、cgroupでリソース管理がされるため
Zabbix-Agentを入れるだけではダメなんです;;
[blogcard url=”http://www.zabbix.com/img/zabconf2015_jp/presentations/04_zabconf2015_watanabe.pdf“][/blogcard]
詳しいことは上記で説明されています。
コンテナをZabbixで監視する
既に有志がLXC用のZabbixテンプレートを作成していて公開されていますが
私の環境ではネットワークトラフィックのIn/Outが取得できませんでした(何でかは忘れた)
[blogcard url=”https://github.com/rluisr/Zabbix-LXC“][/blogcard]
ということでフォークして手直しした。
Zabbix-LXC
変更点
- コンテナに1つ以上のNICがある場合でもIN/OUTの転送量が取得できる(合算)
- 転送量がきちんと取得できるように(?)
- Proxmoxを使用している場合にZabbixに登録される表示名にホスト名を指定(そのまんまだとid (ex 100, 101とか)で登録される)
インストール方法
$ sudo ./install.sh
テンプレートのインポート
# ノードのテンプレート zbx_template/Template_LXC_Node.yml (Proxmoxの人は Template_LXC_Node_Proxmox.yml) # コンテナのテンプレート zbx_template/Template_LXC_CT.yml
の2つインポート
コンテナの登録はLLDによって勝手にされるので放置してるだけで大丈夫だと思います。
オリジナルのレポジトリはPerlでディスカバリースクリプト書かれていましたが、PHPで書き直したのでちょっとね…….。
ちなみにProxmoxはデフォでsudoとphpが入ってないのでご注意。