はじめに
前回の記事では、監視サーバーおよび、管理クライアントの構築方法と、基本的な監視設定について解説しました。今回は、監視ノードのリソース監視および、エージェント監視について解説します。
監視ノードの設定
前回の記事では、監視ノードに対してPINGによる死活監視を行いましたが、ここでは、CPU使用率やメモリ使用量など監視ノードのリソース監視を行います。
- SNMPのインストールと設定
監視ノードのリソース情報を取得するために、SNMPをインストールします。
$ sudo yum -y install net-snmp net-snmp-utils
[vagrant@hinemos-client ~]$ sudo yum -y install net-snmp net-snmp-utils Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Including mirror: ftp.jaist.ac.jp Including mirror: ftp.tsukuba.wide.ad.jp Including mirror: ftp.riken.jp Including mirror: ftp.nara.wide.ad.jp Including mirror: ftp.iij.ad.jp Including mirror: www.ftp.ne.jp Including mirror: mirror.fairway.ne.jp * base: ftp.jaist.ac.jp Including mirror: ftp.jaist.ac.jp Including mirror: ftp.tsukuba.wide.ad.jp Including mirror: ftp.riken.jp Including mirror: ftp.nara.wide.ad.jp Including mirror: ftp.iij.ad.jp Including mirror: www.ftp.ne.jp Including mirror: mirror.fairway.ne.jp * extras: ftp.jaist.ac.jp Including mirror: ftp.jaist.ac.jp Including mirror: ftp.tsukuba.wide.ad.jp Including mirror: ftp.riken.jp Including mirror: ftp.nara.wide.ad.jp Including mirror: ftp.iij.ad.jp Including mirror: www.ftp.ne.jp Including mirror: mirror.fairway.ne.jp * updates: ftp.jaist.ac.jp Setting up Install Process Resolving Dependencies --> Running transaction check
Total download size: 2.0 M Installed size: 6.7 M Downloading Packages: (1/4): lm_sensors-libs-3.1.1-17.el6.i686.rpm | 37 kB 00:00 (2/4): net-snmp-5.5-49.el6.i686.rpm | 304 kB 00:00 (3/4): net-snmp-libs-5.5-49.el6.i686.rpm | 1.5 MB 00:00 (4/4): net-snmp-utils-5.5-49.el6.i686.rpm | 171 kB 00:00 -------------------------------------------------------------------------------- Total 326 kB/s | 2.0 MB 00:06 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : lm_sensors-libs-3.1.1-17.el6.i686 1/4 Installing : 1:net-snmp-libs-5.5-49.el6.i686 2/4 Installing : 1:net-snmp-5.5-49.el6.i686 3/4 Installing : 1:net-snmp-utils-5.5-49.el6.i686 4/4 Verifying : lm_sensors-libs-3.1.1-17.el6.i686 1/4 Verifying : 1:net-snmp-5.5-49.el6.i686 2/4 Verifying : 1:net-snmp-utils-5.5-49.el6.i686 3/4 Verifying : 1:net-snmp-libs-5.5-49.el6.i686 4/4 Installed: net-snmp.i686 1:5.5-49.el6 net-snmp-utils.i686 1:5.5-49.el6 Dependency Installed: lm_sensors-libs.i686 0:3.1.1-17.el6 net-snmp-libs.i686 1:5.5-49.el6 Complete!
- SNMP設定ファイルの修正
MIBツリーの全情報を取得するために、SNMP設定ファイルを修正します。
$ echo "view systemview included .1.3.6.1" | sudo tee -a /etc/snmp/snmpd.conf
- SNMPの動作確認
MIBの全情報が取得可能か確認します。
ここでは、出力される情報が多いため、10行のみ表示しています。$ snmpwalk -v 2c -c public localhost | head -10
[vagrant@hinemos-client ~]$ snmpwalk -v 2c -c public localhost | head -10 SNMPv2-MIB::sysDescr.0 = STRING: Linux hinemos-client 2.6.32-431.el6.i686 #1 SMP Fri Nov 22 00:26:36 UTC 2013 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (14241) 0:02:22.41 SNMPv2-MIB::sysContact.0 = STRING: Root
(configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: hinemos-client SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance - サービスの起動と自動起動設定
サービスの起動と自動起動の設定を行います。
$ sudo service snmpd start $ sudo chkconfig snmpd on
- 監視ノード情報の確認
管理クライアントを起動し、登録されている監視ノードの設定情報を確認します。
Find By SNMPに表示されている情報が、監視ノードのIPアドレスに更新されたことが確認できます。 - リソース監視の追加
監視項目として、リソース監視を追加します。
監視設定[一覧]ビューから[作成]を選択し、監視種別に[リソース監視(数値)]を選択します。
PING監視と同様に、監視項目IDなどを指定し、監視項目に[CPU使用率]を選択します。
その際、[収集時は内訳のデータも合わせて収集する]もチェックします。監視にチェックを入れ、監視レベルを設定します。
ここでは、CPU使用率が、0%~30%未満を情報、30%~80%未満を警告、80%以上を危険としています。通知IDは、PING監視と同様に[ステータス通知]に設定し、アプリケーション名を設定した後、収集をチェックします。
[OK]で終了すると、監視項目が追加されます。
しばらくすると、SNMP情報が収集されステータスビューに監視状況が表示されます。
エージェント監視
エージェント監視は、監視ノードに対してコマンドを実行した監視や、システムログ監視、カスタム監視などを行う場合に必要になります。
ここでは、監視ノードにエージェントをインストールし、エージェントの死活監視によるエージェント監視を設定します。
- OpenJDKのインストール
$ sudo yum -y install java-1.7.0-openjdk
[vagrant@hinemos-client ~]$ sudo yum -y install java-1.7.0-openjdk Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Including mirror: ftp.jaist.ac.jp Including mirror: ftp.tsukuba.wide.ad.jp Including mirror: ftp.riken.jp Including mirror: ftp.nara.wide.ad.jp Including mirror: ftp.iij.ad.jp Including mirror: www.ftp.ne.jp Including mirror: mirror.fairway.ne.jp * base: ftp.jaist.ac.jp Including mirror: ftp.jaist.ac.jp Including mirror: ftp.tsukuba.wide.ad.jp Including mirror: ftp.riken.jp Including mirror: ftp.nara.wide.ad.jp Including mirror: ftp.iij.ad.jp Including mirror: www.ftp.ne.jp Including mirror: mirror.fairway.ne.jp * extras: ftp.jaist.ac.jp Including mirror: ftp.jaist.ac.jp Including mirror: ftp.tsukuba.wide.ad.jp Including mirror: ftp.riken.jp Including mirror: ftp.nara.wide.ad.jp Including mirror: ftp.iij.ad.jp Including mirror: www.ftp.ne.jp Including mirror: mirror.fairway.ne.jp * updates: ftp.jaist.ac.jp Setting up Install Process Resolving Dependencies --> Running transaction check
giflib.i686 0:4.1.6-3.1.el6 jline.noarch 0:0.9.94-0.8.el6 jpackage-utils.noarch 0:1.7.5-3.12.el6 libICE.i686 0:1.0.6-1.el6 libSM.i686 0:1.2.1-2.el6 libX11.i686 0:1.5.0-4.el6 libX11-common.noarch 0:1.5.0-4.el6 libXau.i686 0:1.0.6-4.el6 libXext.i686 0:1.3.1-2.el6 libXfont.i686 0:1.4.5-3.el6_5 libXi.i686 0:1.6.1-3.el6 libXrender.i686 0:0.9.7-2.el6 libXtst.i686 0:1.2.1-2.el6 libasyncns.i686 0:0.8-1.1.el6 libfontenc.i686 0:1.0.5-2.el6 libjpeg-turbo.i686 0:1.2.1-3.el6_5 libogg.i686 2:1.1.4-2.1.el6 libpng.i686 2:1.2.49-1.el6_2 libsndfile.i686 0:1.0.20-5.el6 libvorbis.i686 1:1.2.3-4.el6_2.1 libxcb.i686 0:1.8.1-1.el6 pulseaudio-libs.i686 0:0.9.21-14.el6_3 rhino.noarch 0:1.7-0.7.r2.2.el6 ttmkfdir.i686 0:3.0.9-32.1.el6 tzdata-java.noarch 0:2013i-2.el6 xorg-x11-font-utils.i686 1:7.2-11.el6 xorg-x11-fonts-Type1.noarch 0:7.2-9.1.el6 Complete!
- Hinemos Agentのダウンロードと解凍
$ wget -q http://jaist.dl.sourceforge.jp/hinemos/60378/hinemos_agent-4.1.1_rhel5-rhel6.tar.gz $ tar zxf hinemos_agent-4.1.1_rhel5-rhel6.tar.gz
- Hinemos Agentのインストール
ダウンロードしたアーカイブ中に含まれる日本語インストーラーを実行します。
$ sudo Hinemos_Agent-4.1.1_rhel5-rhel6/agent_installer_JP.sh
インストーラーを起動すると、初期メニューが表示されますので、1を入力します。
[vagrant@hinemos-client ~]$ sudo Hinemos_Agent-4.1.1_rhel5-rhel6/agent_installer_JP.sh ------------------------------------------------------- Welcome to the installation for Hinemos Agent Version 4.1.1 Copyright (C) 2013 NTT DATA Corporation ------------------------------------------------------- 実行ユーザの確認中... [OK] SELinux の確認中... [OK] OpenJDKの確認中... java-1.7.0-openjdk... [OK] java-1.6.0-openjdk... [NG] [OK] --- 実行する項目を選択してください --- 1) Hinemosエージェントのインストール 2) Hinemosエージェントのアンインストール 9) インストーラを終了する ==> 1
インストール中に必要なパッケージがインストールされ、Hinemos ManagerのIPアドレスの入力プロンプトが表示されたら、192.168.0.50を入力します。Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : 1:tcl-8.5.7-6.el6.i686 1/2 Installing : expect-5.44.1.15-5.el6_4.i686 2/2 Verifying : expect-5.44.1.15-5.el6_4.i686 1/2 Verifying : 1:tcl-8.5.7-6.el6.i686 2/2 Installed: expect.i686 0:5.44.1.15-5.el6_4 Dependency Installed: tcl.i686 1:8.5.7-6.el6 Complete! coreutils... [OK] shadow-utils... [OK] gawk... [OK] grep... [OK] sed... [OK] krb5-workstation... [OK] passwd... [OK] openssh... [OK] openssh-clients... [OK] expect... [OK] HinemosマネージャのIPアドレスを入力してください。IPv6の場合は、IPアドレスの前後に[]を入れてください。 : 192.168.0.50 192.168.0.50 でよろしいでしょうか?(Y/N デフォルト:Y) :
エージェントのインストールが終了すると、初期メニューが表示されますので、9を入力してインストーラーを終了します。
その他の入力プロンプトは、全てデフォルトで構いません。---------- Hinemosエージェントが利用するJREを変更したい場合は、hinemos_agent.cfgを変更して下さい。 [OK] 設定ファイルの生成中... [OK] /etc/init.d/にHinemosエージェントのサービススクリプトを配置します。よろしいですか? (Y/N デフォルト:Y) : サービススクリプトを配置しました。 設定ファイル(rsyslog.conf)の変更中...rsyslogd (pid 1042) を実行中... システムロガーを停止中: [ OK ] システムロガーを起動中: [ OK ] /etc/rsyslog.conf を変更しました。 (appended "*.info;mail.none;authpriv.none;cron.none @192.168.0.50:514") Hinemosエージェントのインストールが完了しました。 --- 実行する項目を選択してください --- 1) Hinemosエージェントのインストール 2) Hinemosエージェントのアンインストール 9) インストーラを終了する ==> 9 インストーラを終了します。
- サービスの起動と自動起動設定
サービスの起動と自動起動の設定を行います。
sudo service hinemos_agent start sudo chkconfig hinemos_agent on
- エージェント監視の追加
監視項目として、エージェント監視を追加します。
監視設定[一覧]ビューから[作成]を選択し、監視種別に[エージェント監視(真偽値)]を選択します。
PING監視と同様、監視項目IDなどの必須項目を指定し、通知IDを[ステータス通知]に設定します。
[OK]で終了すると、監視項目が追加されます。
しばらくすると、SNMP情報が収集されステータスビューに監視状況が表示されます。
エージェントが起動していることが確認できます。監視ノードのエージェントを停止します。
$ sudo service hinemos_agent stop
しばらくすると、SNMP情報が収集されステータスビューに監視状況が表示されます。
エージェントが停止していることが確認できます。
まとめ
ここまで、Hinemosを用いたサーバー監視システムの構築方法について解説しました。Hinemosは、従来のサーバー監視システムとは異なる構成で構築されますが、管理クライアントを、Windows上で実行しGUIで監視設定や状況を把握することができます。本記事を参考にして、純国産の監視システムを構築しましょう。