FreeNAS 11 SNMP
を参考に、TrueNAS を Zabbix で監視する手順を確認してみました。
確認用に使ったのは、ESXi上の仮想マシンのCentOS 8で、
OSのインストールだけして放置している環境で行ってみました。
(ので、Zabbixの環境構築は試行錯誤して一発勝負なのでここでは説明しません)
私のテスト用のCentOS 8は、minimal でインストールしているため、SNMP関連もインストールされていないので、
(見つけた Zabbix のインストールの流れだけでは入らなかった)
CentOS8 で SNMP Trap を受信出来るように設定する - らくがきちょう
を参考にインストールしました。
# dnf -y install net-snmp net-snmp-utils
(インストールだけ。このマシンを監視したいわけではないので、「Poll を許可する」以降は省略)
また、SELinux は止めない派なのですが、うまく設定できる手順が見つけられなかったので、今回は setenforce 0 で一時的に止めてから systemctl start zabbix-server をするという一時しのぎで動作確認しています。
(audit 関連のユーティリティをインストールして、Permissive 状態で一度実行し、ログから許可設定をする流れが有効そうだけど、そもそも audit 関連のユーティリティをすんなり入れられなかったので諦め。Zabbix の環境構築に詳しい方の説明などで構築してください)
TrueNAS のプラグインで設定を試してみたので確認するだけならこれでも。
TrueNAS を Zabbix Server にする
設定は下記の手順。
(Zabbix 自体を使っていないので、監視ができているっぽいことしか確認していません。画像も動作確認後にざっとスクショを撮っているので、後ろ側がすでに設定済みだったりします)
1) 下記のテンプレートをまだインポートしていなければインポートする。
https://share.zabbix.com/official-templates/snmp-devices/snmp-interfaces-discovery
https://share.zabbix.com/official-templates/snmp-devices/snmp-processors-discovery
https://share.zabbix.com/official-templates/snmp-devices/snmp-generic
書いてないけど、TrueNAS/FreeNAS SNMP w/ZFS Stats の方を使いたい場合は、
https://share.zabbix.com/official-templates/snmp-devices/snmp-disks-discovery
も必要
それぞれのDownloadのところからパソコンとかにそれぞれのXMLファイルをダウンロードして、
ZabbixにSuper Adminでログインして、
Configuration>Templates
右上の Import からそれぞれインポート。
(なお、フツーのAdminユーザーだとダメらしい)
2) 手元のFreeNASサーバーより、 FREENAS-MIB.txt ファイルをダウンロードして、Zabbix サーバーへアップロードする。
TrueNASの
ServicesのSSHの鉛筆マークで
■ Login as Root with Password
にチェックしてSAVE、
Runningをクリックして SSH サービス起動、
RLoginなどのSSHクライアントを使用してTrueNASに接続して、
ファイル>SFTPファイルの転送から
/usr/local/share/snmp/mibs/
にある FREENAS-MIB.txt ファイルをダウンロードして、
これを
Zabbixのサーバーの
/usr/share/snmp/mibs/
にアップロードする。
参考:TrueNAS/FreeNAS SNMP w/ZFS Stats
TrueNASはSNMPで監視されるので、
Services
で SNMP を鉛筆アイコンをクリックして
Log-Level を info
にして
■ Enable Network Performance Statistics
にチェックして SAVE
こっちは起動時に必要なサービスなので、
Start Automatically にチェックして
Running をクリックして青くして起動。
(SSHは普段使ってなければここで停止してもいい)
3) テンプレートをインポートする
冒頭のページの Download のところからダウンロードできる
Template-FREENAS-11-SNMP-v3.xml
を
Zabbixの
Configuration>Templates Import からインポート。
※ 1) のテンプレートが揃っていないと参照しているテンプレートがない、みたいなエラーでインポートできない。
4) ホストを追加、マクロも設定する {$SNMP_COMMUNITY}
Zabbixで
Configuration > Host
右上の Create Host
で、
Host Name に TrueNAS の名前
Groups は何か適当に(今回は Zabbix servers を選んでる)
Interfaces の Add から
SNMP を選択して、
IP Address 欄の 127.0.0.1 を TrueNAS のIPアドレスに変更
Templates タブで、
Link new templates の type here to search に FreeNAS とか入力すると
Template SNMP FreeNAS 11
が候補に出るのでそれを選択。
Macros タブで、
Macro {$SNMP_COMMUNITY}
Value public
を設定して一番下の青い Add ボタン(青い文字の Add は設定できるマクロの欄が増える。右側の Remove で削除できるけど)。
Macroは {} が必要。
Value は TrueNAS の SNMP サービスで設定した Community のはず(初期値 public )
登録されると、
行が1行増えて、
ここまでの設定が順調なら
Status Enabled
Availability SNMP
Agent None
が全部緑色の表示になるはず。
※ Zabbix のサーバーに SNMP 関連のインストールをしていないと、 SNMP が灰色で動作していないっぽかった。赤だったときもあったかも。
(SNMP が緑色になるには一度別の画面に行って戻ってくるくらいのタイムラグがあるかも)
5) しばらく待つ
メモリのステータスの収集はかなり早いと思いますが、zpoolsは時間がかかるかもしれません、とのこと。
Monitoring > Hosts
のところを見て、
TrueNAS の行の Latest Data をクリックすると収集状況がわかる。
手元の環境ではものの数分で収集されました。
Graphs のところでグラフも見られます。
(TrueNAS/FreeNAS SNMP w/ZFS Stats の方を使うと設定されているグラフが多くなるのですが、分母に必要な情報が収集されなくて、円グラフがみんな真っ白でした。一応、TrueNAS の Log-Level を debug にしてみたけど変わらず)