目的 この資料では SNMP を使用して Nagios XI でリモートの Linux マシンを監視する方法を説明します SNMP を使用すればネットワークデバイスやサーバーを エージェントレス で監視できます 通常は監視対象マシンに専用エージェントをインストールするよりも好まれます 対象読者 この資料は Nagios XI 管理者を対象としています リモート Linux マシンでの SNMP インストール SNMP で Linux マシンの監視を開始する前に システムに SNMP パッケージ (net-snmp パッケージ ) をインストールし設定する必要があります 以下の作業を行います 監視したいリモートの Linux マシンに root でログインし net-snmp パッケージをインストールします RHEL/CentOS システム : 以下のコマンドを実行します yum install net-snmp Debian/Ubuntu ベースのシステム : 以下のコマンドを実行します sudo apt-get install snmpd libsnmp-dev リモート Linux マシンでの SNMP アクセス設定 次に Linux マシン上で SNMP のアクセス権限を設定します この資料では SNMP v2c および SNMP v3 について説明します SNMP v2c: アクセス権はアクセス権限 コミュニティ名 アドレスを使用して付与されます この資料では以下の値を使用します : SNMP v3: アクセス権限 : rocommunity コミュニティ名 : Str0ngC0mmunity アドレス : 10.25.5.12(Nagios XI サーバーのアドレス ) アクセス権はユーザ名 アクセス権限 セキュリティレベル 認証 プライバシーパスワードで付与されます より複雑ですがより安全です 1
この資料では以下の値を使用します : ユーザ名 : nagios アクセス権限 : rouser セキュリティレベル : authpriv 認証プロトコル : SHA 認証パスワード : Str0ng@uth3ntic@ti0n 暗号化プロトコル : AES 暗号化パスワード : Str0ngPriv@cy SNMP v2c 上で示した値を使って設定を行います /etc/snmp/snmpd.conf ファイルに以下の行を追加します rocommunity Str0ngC0mmunity 10.25.5.12 まずオリジナルファイルのバックアップを作成した後で 新しいコンフィグファイルを作成して上記の行を追加します 手順は以下のとおりです : RHEL/CentOS システム : 以下のコマンドを実行します cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.bak echo 'rocommunity Str0ngC0mmunity 10.25.5.12' > /etc/snmp/snmpd.conf Debian/Ubuntu ベースのシステム : 以下のコマンドを実行します sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.bak sudo sh -c "echo 'rocommunity Str0ngC0mmunity 10.25.5.12' > /etc/snmp/snmpd.conf" snmpd サービスを再起動します RHEL/CentOS 5.x 6.x システム : 以下のコマンドを実行します service snmpd restart RHEL/CentOS 7.x システム : 以下のコマンドを実行します systemctl restart snmpd.service Debian 7.x / Ubuntu 13.x 14.x システム : 以下のコマンドを実行します 2
sudo service snmpd restart Debian 8.x / Ubuntu 15.x 16.x システム : 以下のコマンドを実行します sudo systemctl restart snmpd.service SNMP v3 上で示した値を使って設定を行います SNMP v3 ユーザを作成し /etc/snmp/snmpd.conf ファイルと /var/lib/net-snmp/snmpd.conf ファイルに追加します まずオリジナルファイルのバックアップを作成した後で 新しいコンフィグファイルを作成します 手順は以下のとおりです : RHEL/CentOS 5.x 6.x システム : 以下のコマンドを実行します service snmpd restart cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.bak service snmpd stop echo '' > /etc/snmp/snmpd.conf net-snmp-create-v3-user -ro -a SHA -A Str0ng@uth3ntic@ti0n -x AES -X Str0ngPriv@cy nagios service snmpd start RHEL/CentOS 7.x システム : 以下のコマンドを実行します cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.bak systemctl stop snmpd.service echo '' > /etc/snmp/snmpd.conf net-snmp-create-v3-user -ro -a SHA -A Str0ng@uth3ntic@ti0n -x AES -X Str0ngPriv@cy nagios sudo systemctl start snmpd.service Debian 7.x / Ubuntu 13.x 14.x システム : 以下のコマンドを実行します sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.bak sudo service snmpd stop sudo sh -c "echo '' > /etc/snmp/snmpd.conf" sudo net-snmp-create-v3-user -ro -a SHA -A Str0ng@uth3ntic@ti0n -x AES -X Str0ngPriv@cy nagios sudo service snmpd start Debian 8.x / Ubuntu 15.x 16.x システム : 以下のコマンドを実行します 3
sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.bak sudo systemctl stop snmpd.service sudo sh -c "echo '' > /etc/snmp/snmpd.conf" sudo net-snmp-create-v3-user -ro -a SHA -A Str0ng@uth3ntic@ti0n -x AES -X Str0ngPriv@cy nagios sudo sudo systemctl start snmpd.service リモート Linux マシンでのインバウンド Firewall ルール設定 オペレーティングシステムのファイアウォールが有効である場合は インバウンド UDP 161 ポートを許可する必要があります コマンドはオペレーティングシステムごとに異なります RHEL/CentOS 5.x 6.x システム : 以下のコマンドを実行します iptables -I INPUT -p udp -destination-port 161 -j ACCEPT service iptables save RHEL/CentOS 7.x システム : 以下のコマンドを実行します firewall-cmd --zone=public --add-port=161/udp firewall-cmd --zone=public --add-port=161/udp --permanent Ubuntu システム : 以下のコマンドを実行します sudo ufw allow snmp sudo ufw reload Debian システム : 以下のコマンドを実行します iptables -I INPUT -p udp -destination-port 161 -j ACCEPT apt-get install iptables-persistent 注記 : Nagios サーバーのアドレスを許可ホストファイル (/etc/hosts.allow) に追加する必要があるかもしれません SNMP デーモンの自動起動 Linux マシンの再起動時に SNMP デーモンが自動起動するように設定します RHEL/CentOS 5.x 6.x システム : 以下のコマンドを実行します chkconfig snmpd on RHEL/CentOS 7.x システム : 以下のコマンドを実行します systemctl enable snmpd.service Debian 7.x / Ubuntu 13.x 14.x システム : 以下のコマンドを実行します 4
sudo update-rc.d snmpd defaults Debian 8.x / Ubuntu 15.x 16.x システム : 以下のコマンドを実行します sudo systemctl enable snmpd.service SNMP 通信テスト 次に進む前に Nagios XI サーバーが SNMP を使用してリモート Linux サーバーと通信できるかどうかを確認します ( ターミナルまたは SSH セッションを開き )Nagios XI サーバーにログインし 以下のテストクエリを実行します この例では Linux サーバーは 10.25.13.38 でテストします cd /usr/local/nagios/libexec SNMP v2c:./check_snmp_storage.pl -H 10.25.13.37 -C Str0ngC0mmunity -m "^/$" -w 2 -c 4 SNMP v3:./check_snmp_storage.pl -H 10.25.13.37 -l nagios -x Str0ng@uth3ntic@ti0n -X Str0ngPriv@cy L SHA,AES -m "^/$" -w 2 -c 4 このコマンドを実行すると リモート Linux サーバーからディスク使用情報が戻されます 以下のような結果が表示されるはずです : /: 11%used(1550MB/13892MB) (>4%) : CRITICAL 重要 : コマンドがデータを戻さない場合 SNMP が適切に設定されていないかリモートサーバーのファイアウォールに問題がある可能性があります この場合は 前のセクションに戻って適切にセットアップできているかどうかを確認してください Linux SNMP ウィザード Linux SNMP ウィザードを使用すれば SNMP での Linux 監視を簡単に開始できます 使用方法は以下のとおりです : Step 1. Nagios XI インターフェースにログインします 5
Step 2. 設定 -> 設定ウィザード を選択します Step 3. Linux SNMP を選択します メモ : 検索フィールドに snmp と入力するとすぐに見つかります Step 4. SNMP で監視したい Linux マシンの IP アドレス 通信で使用する SNMP 設定を指定し 次へ を選択します 6
Step 5. サーバーメトリック セクションで監視したいサーバーメトリックを選択し 警告およびクリティカルの閾値を指定します ステップ 2 へ進むときに ウィザードがこの Linux サーバーに対して SNMP クエリを実行して利用可能なディスクやプロセスのリストを取得します ディスク使用量を監視したい場合は スキャンされたディスク一覧 でディスクをダブルクリックしてください Drive フィールドに追加されます 必要に応じてしきい値を調整してください Step 6. プロセス セクションで 監視したいプロセスと警告およびクリティカルの閾値を指定します スキャンされたプロセスの一覧 で監視したいプロセスをダブルクリックしてください Linux プロセス フィールドに追加されます 必要に応じてしきい値を指定してください 7
注記 : 警告 または クリティカル フィールドのそれぞれに数字を 1 つ入力した場合 プロセスの数が 警告 フィールドで指定した数より少なければ警告アラートが生成されます プロセスの数が クリティカル フィールドで指定した数以下であればクリティカルアラートが生成されます ヒント : 稼働プロセス数の許容範囲を指定したい場合は カンマ区切りで数字を 2 つ入力してください 例えば 上の例の場合 sshd プロセスが 1 以下または 3 以上の場合に警告アラートが生成され 1 以下または 4 以上の場合にクリティカルアラートが生成されます Step 7. 設定が完了したら 次へ をクリックします メモ : 以降の作業は他のウィザードと同じです Step 8. Step 9. 以降のステップは他のウィザードと同じです ステップ 3 5 までで 監視間隔 通知オプション グループメンバー 親などを設定します 最終ステップで 適用 をクリックします 8
Step 10. 設定が正常に適用されたことを確認します Step 11. ステータス詳細を表示する : xxxxx リンクをクリックしてサービスステータスページでステータスを確認します 9
お問い合わせ 弊社では Nagios XI に関するご意見 フィードバックをお待ちしております Nagios XI についてご不明な点がございましたら 以下までお問い合わせください ジュピターテクノロジー株式会社 (Jupiter Technology Corp.) 住所 : 183-0023 東京都府中市宮町 2-15-13 第 15 三ツ木ビル 8F URL: http://www.jtc-i.co.jp/ 電話番号 : 042-358-1250 FAX 番号 : 042-360-6221 ご購入のお問い合わせ : お問い合わせフォーム https://www.jtc-i.co.jp/contact/scontact.php メール sales@jtc-i.co.jp 製品サポートのお問い合わせ : カスタマーポータル https://www.jtc-i.co.jp/support/customerportal/ 10
日本語マニュアル発行日 2017 年 02 月 17 日本マニュアル原文 Nagios XI Monitoring Linux Using SNMP Revision 1.1 December, 2016 ( 原文の内容を一部変更しています ) ジュピターテクノロジー株式会社