【ProxmoxVE】snmpdの導入と設定
【ProxmoxVE】rsyslogの導入と設定
の2つの記事で紹介した通り、無事ProxmoxVEにrsyslogとsnmpdを導入することができたので、ProxmoxVEの監視に関する考えをまとめてみます。
本番環境を想定し、Zabbixなどの監視マネージャとの連携を前提とした内容になります。
監視マネージャとの連携の必要性について
なぜ監視マネージャとの連携を前提とするかですが、ProxmoxVEだけでなくNW機器その他もろもろを監視することを考えるとなにかしらの監視マネージャでまとめて監視できたほうが都合がよいと思うためです。
また、既存システムの更改でProxmoxVEを導入する場合、すでに利用する監視マネージャや監視運用方法が決まっている場合もあるかと思います。
rsyslogについて
監視だけでなく、ログを保管するという観点でも導入するのが良いと思います。環境によっては「ログを一定期間保管すること」、や「ログを外部保管すること」が求められることもありますので、そういった場合は導入必須となるでしょう。
監視としては、監視マネージャ側の機能にもよりますが、
・転送されたsyslogメッセージを監視対象とする
・転送されたログをいったんファイルへ出力し、そのログファイルを監視対象とする
のどちらの方法も可能です。
また、ProxmoxVEへ独自スクリプトなどを導入する際も、出力したいメッセージをloggerコマンドで出力してあげれば連携対象になるというのも利点です。
snmpdについて
リソース監視として有用だと思いますので、こちらも導入するのが良いと思います。
やりようによってはrsyslogだけでも足りるかもしれませんが、CPU使用率・メモリ使用率その他もろもろsnmpで取得できる情報は多いですし、監視マネージャ側にsnmp監視のテンプレートがあることも多いです。
ただし、snmpd導入の記事にも書いた通り、ルートパーティションの使用率が正しい値にならないこと、Ceph利用時はCephディスク情報も取得できないことから、ディスク関連の情報はsnmpではなく別途スクリプト等を用意してあげる必要があります。
rsyslogとsnmpd以外について(snmptrap)
私がかかわってきたシステム運用ではsnmptrapもよく利用されていますが、あえてProxmoxVEにsnmptrapdを導入してtrap連携するところまではしなくてもよいと考えています。
もちろんやってもいいと思いますし、ちゃんと設定できれば便利そうですが、こちらの記事「LinkUp/Down の snmptrap を送信する。」を見て、Linuxにsnmptrapdを導入・設定して期待しているエラーをすべて検知するというのは、Trap送信可能なメッセージの精査とそこから実際に検知したいメッセージの洗い出しが大変そうだなと感じました。(なので検証してません。。)
HW監視としては、iLOやiDRACなどの管理ポートが搭載されている機器であればそちらを使えばいいと思いますし、そうでなければsyslogで十分かなと思います。