目的
この資料では、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: • アクセス権はアクセス権限、コミュニティ名、アドレスを使用して付与されます。 • この資料では以下の値を使用します: • アクセス権限: rocommunity • コミュニティ名: Str0ngC0mmunity • アドレス: 10.25.5.12(Nagios XI サーバーのアドレス) • SNMP v3: • アクセス権はユーザ名、アクセス権限、セキュリティレベル、認証、プライバシーパス ワードで付与されます。 • より複雑ですがより安全です• この資料では以下の値を使用します: • ユーザ名: 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.bakecho '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
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.confnet-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
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
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 インターフェースにログインします。Step 2. 「設定 -> 設定ウィザード」を選択します。
Step 3. 「Linux SNMP」を選択します。
メモ: 検索フィールドに「snmp」と入力するとすぐに見つかります。
Step 4. SNMP で監視したい Linux マシンの IP アドレス、通信で使用する SNMP 設定を指定し、 「次へ」を選択します。
Step 5. 「サーバーメトリック」セクションで監視したいサーバーメトリックを選択し、警告およびクリ ティカルの閾値を指定します。 ステップ 2 へ進むときに、 ウィザードがこの Linux サーバーに対して SNMP クエリを実行して 利用可能なディスクやプ ロセスのリストを取得し ます。 ディスク使用量を監視し たい場合は、「スキャン されたディスク一覧」で ディスクをダブルクリック してください。「Drive」フィ ールドに追加されます。 必要に応じてしきい値を 調整してください。 Step 6. 「プロセス」セクションで、監視したいプロセスと警告およびクリティカルの閾値を指定しま す。 「スキャンされたプロセスの一覧」で監視したいプロセスをダブルクリックしてください。 「Linux プロセス」フィールドに追加されます。必要に応じてしきい値を指定してください。
注記: 「警告」または「クリティカル」フィールドのそれぞれに数字を1つ入力した場合、 プロセスの数が「警告」フィールドで指定した数より少なければ警告アラートが生成され ます。プロセスの数が「クリティカル」フィールドで指定した数以下であればクリティカルア ラートが生成されます。 ヒント: 稼働プロセス数の許容範囲を指定したい場合は、カンマ区切りで数字を2つ入 力してください。例えば、上の例の場合、sshd プロセスが1以下または 3 以上の場合に 警告アラートが生成され、1以下または 4 以上の場合にクリティカルアラートが生成され ます。 Step 7. 設定が完了したら、「次へ」をクリックします。 メモ: 以降の作業は他のウィザードと同じです。 Step 8. 以降のステップは他のウィザードと同じです。ステップ 3 – 5 までで、監視間隔、通知オ プション、グループメンバー、親などを設定します。 Step 9. 最終ステップで「適用」をクリックします。
Step 10. 設定が正常に適用されたことを確認します。
Step 11. 「ステータス詳細を表示する: xxxxx」リンクをクリックしてサービスステータスページでス テータスを確認します
お問い合わせ
弊社では、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 メール [email protected] 製品サポートのお問い合わせ: カスタマーポータル https://www.jtc-i.co.jp/support/customerportal/
日本語マニュアル発行日 2017 年 02 月 17 日 本マニュアル原文 Nagios XI – Monitoring Linux Using SNMP Revision 1.1 – December, 2016 (原文の内容を一部変更しています) ジュピターテクノロジー株式会社