CentOS6.2とHinemos3.2.2

■CenOS6.2(i686)にHinemos Manager/Agentを導入
 WinXPのHinemos Clientから操作する

 何の目的でインストールしたのか分からないほどクリーンな
 CentOS6.2が仮想マシンのゲストOSとしてあったので、入れてみた。
 (※実際、リリースされたばかりで、インストールを試しただけだった。。。)

■仮想マシンに導入する場合は、はじめからNATにする場合はご注意を。
 jnpプロトコル(rmi)なので、NAT越しよりはブリッジ越しの方が良い。
 詳しくなったらiptablesで設定するという方針で。

■Hinemosマネージャの導入
 ※selinuxのステータスはPermissiveでは無く、Disabledが要求される。

$ tar zxvf hinemos_manager-3.2.2_rhel6_32.tar.gz
$ cd Hinemos_Manager-3.2.2_rhel6_32/
grep rpm manager_installer_all
        sed -e "s/%%FTP_HOST%%/${FTP_HOST}/" ${SCRIPT_DIR}/hinemos
/lib/cr/rpminstall.sh > ${HINEMOS_HOME}/lib/cr/rpminstall.sh
        rpm -q syslog-ng > /dev/null
                rpm -ivh --force ${SYSLOG_NG_RPM}
                rpm -q rsyslog > /dev/null
                rpm -q syslog > /dev/null
$ rpm -q rsyslog
rsyslog-4.6.2-12.el6.i686

$ grep -A 3 selinux manager_installer_all
        # check selinux is Disabled
        echo
        echo -n ${MSG_I031} && sleep 0.5
        if [ "xDisabled" != "x`/usr/sbin/getenforce`" ]

■ftpdの導入

$ sudo yum install vsftpd
$ sudo service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
$ ps -ef | grep vsftpd | cut -c 40- | head -1
00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
$ sudo chkconfig vsftpd on
$ sudo chkconfig --list vsftpd
vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

■ftpクライアントの導入

$ sudo yum install ftp
$ ftp localhost
Trying ::1...
ftp: connect to address ::1接続を拒否されました
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:labunix): labunix
331 Please specify the password.
Password:

■SELinuxの停止、無効化

$ getenforce
Enforcing
$ sudo  setenforce 0
$ getenforce
Permissive

$ sudo vim /etc/sysconfig/selinux
$ sudo grep SELINUX=[ed] /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled

■システムの再起動

$ sudo /sbin/shutdown -r now
$ getenforce
Disabled

□Hinemosマネージャインストーラの修正
 ※2012/01/20追記(作業していたが忘れていた)

# vim manager_installer_all
# grep 'mv -i' manager_installer_all
                && mv -i jboss-4.2.2.GA ${HINEMOS_HOME} \
                && mv -i postgresql-8.3.15 ${HINEMOS_HOME} \

■Hinemosマネージャのインストーラの実行
 ※jboss、postgresqlでのユーザ入力を求められた際は「(A)ll」を選択

$ cd Hinemos_Manager-3.2.2_rhel6_32/
$ su root
# ./manager_uninstaller_JP.sh
# grep "完了" /root/install.log.hinemos_manager
インストールが完了した後、ご確認ください。
Hinemosマネージャのインストールが完了しました。

# rpm -q syslog-ng
syslog-ng-2.0.9-1.i686

# ps -ef | grep -i hinemos | cut -c 40- | head -1
00:00:00 /opt/hinemos/jre1.5.0_22/bin/java -Xms16m -Xmx64m -cp 
/opt/hinemos/lib/syslogforward:/opt/hinemos/lib/HinemosCommon.
jar:/opt/hinemos/lib/HinemosIF.jar:/opt/hinemos/lib/HinemosManag
er.jar:/opt/hinemos/lib/commons-logging-1.1.jar:/opt/hinemos/lib/lo
g4j-1.2.15.jar:/opt/hinemos/lib/javassist.jar:/opt/hinemos/lib/jboss-a
op-jdk50.jar:/opt/hinemos/lib/jboss-messaging-client.jar:/opt/hinemo
s/lib/jbossremoting.jar:/opt/hinemos/lib/jbossallclient.jar:/opt/hinemo
s/lib/trove.jar:/opt/hinemos/lib/syslogforward/SyslogForward.jar:com.
clustercontrol.syslogng.forward.LogForward /opt/hinemos/lib/syslogfo
rward/LogForward.properties /opt/hinemos/lib/syslogforward/log4j.pr
operties

■デーモンの登録

# /opt/hinemos/sbin/service/hinemos_manager stop
# cp /opt/hinemos/sbin/service/hinemos_manager /etc/init.d/
# pushd /etc/init.d/
/etc/init.d ~/Hinemos_Manager-3.2.2_rhel6_32
# chkconfig --add hinemos_manager
# chkconfig --list hinemos_manager
hinemos_manager 0:off   1:off   2:on    3:on    4:on    5:on    6:off

# service hinemos_manager start

- Starting Hinemos RDBMS Server (PostgreSQL) :
waiting for PostgreSQL to start...
PostgreSQL started
                                                           [  OK  ]

- Starting Hinemos Application Server (JBoss) :
JBoss configuration assigned : default

waiting for JBoss to start...
JBoss started (with -W option)
                                                           [  OK  ]

□/etc/hostsのチェック
 ※2012/01/20追記(これも作業したが記載漏れ)

# grep -v ^# /etc/hosts
127.0.0.1       localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.100.88             centos5

■ログの確認
 しばらく眺めて、ERROR/WARNが無ければ先に進む。
 あった場合は、再インストールする

# tail -f /opt/hinemos/var/log/syslogforward.log | grep --color "WARN\|INFO\|ERROR"
2012-01-19 07:35:15,853 INFO  [pool-2-thread-1] [com.clustercontrol.syslogng.forward.EJBContoroller] reInitial() finish

■Hinemosエージェントの導入

$ tar zxvf hinemos_agent-3.2.2_rhel6_32.tar.gz
$ cd Hinemos_Agent-3.2.2_rhel6_32/
$ grep rpm agent_installer_all
                rpm -q ${RPM} > /dev/null 2>&1
                PKG_NET_SNMP=`rpm -q net-snmp`
                PKG_NET_SNMP_LIB=`rpm -q net-snmp-libs`
                rpm -q ${RPM} > /dev/null 2>&1
        rpm -q syslog-ng > /dev/null
                rpm -ivh --force ${SYSLOG_NG_RPM}
        rpm -q rsyslog > /dev/null
        rpm -q syslog > /dev/null
        rpm -q syslog-ng > /dev/null
        rpm -e syslog-ng libevtlog0
        rpm -q rsyslog > /dev/null
        rpm -q syslog > /dev/null

■net-snmpの導入

$ sudo yum install net-snmp

■他に必要なパッケージは?

$ grep ^RPM install.cfg
RPM_SNMP=(net-snmp net-snmp-libs)
RPM_CRUN=(coreutils shadow-utils gawk grep sed krb5-workstation passwd openssh openssh-clients expect)

$ sudo yum install krb5-workstation
$ sudo yum install expect

■Hinemosエージェントのインストーラの起動

$ cd Hinemos_Agent-3.2.2_rhel6_32
$ su root
# ./agent_installer_JP.sh
# grep "完了" /root/install.log.hinemos_agent
設定ファイルの生成が完了しました。
Hinemosエージェントのインストールが完了しました。

■デーモンチェック

# grep Usage /etc/init.d/hinemos_*
/etc/init.d/hinemos_job_agent:          echo "Usage: $0 {start|stop|status|restart}"
/etc/init.d/hinemos_log_agent:          echo "Usage: $0 {start|stop|status|restart}"
# /etc/init.d/hinemos_log_agent status
Hinemos Log Agent is stopped
# /etc/init.d/hinemos_job_agent status
Hinemos Job Agent is stopped

# chkconfig --list | grep -i hinemos
hinemos_job_agent       0:off   1:off   2:on    3:on    4:on    5:on    6:off
hinemos_log_agent       0:off   1:off   2:on    3:on    4:on    5:on    6:off
hinemos_manager 0:off   1:off   2:on    3:on    4:on    5:on    6:off

■順番はjob⇒logのアルファベット順のようだ。

# ls /etc/rc*/*hinemos* | sed s%/etc/rc\.\*/%%g | sort | uniq
K01hinemos_job_agent
K01hinemos_log_agent
S99hinemos_job_agent
S99hinemos_log_agent

■FWの停止、無効化(後に修正)

# /etc/rc.d/init.d/iptables stop
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
# chkconfig iptables off

■システムの再起動

# /sbin/shutdown -r now && exit

■起動チェック

# /etc/init.d/hinemos_manager status
Hinemos Manager is running...
  - JBoss Process ID      : 2116 (stopped)
  - PostgreSQL Process ID : 2049 (running)
# /etc/init.d/hinemos_job_agent status
Hinemos Job Agent is stopped
# /etc/init.d/hinemos_log_agent status
Hinemos Log Agent is stopped

■Javaがリンクできていない

# grep -i java /opt/hinemos_agent/lib/hinemos_agent.cfg
JAVA_HOME=/usr

# /opt/hinemos/jre1.5.0_22/bin/java -version
java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)

# grep JAVA /etc/init.d/hinemos_job_agent | awk -F\" '{print $2}'
${JAVA_HOME}/bin/java.*com.clustercontrol.agent.Agent

# cat /opt/hinemos_agent/var/log/*   nohup: failed to run command `
/usr/bin/java': そのようなファイルやディレクトリはありません
nohup: failed to run command `/usr/bin/java': そのようなファイルやデ
ィレクトリはありません

# ln -s /opt/hinemos/jre1.5.0_22/bin/java /usr/bin/java
# /opt/hinemos_agent/bin/job_agent_start.sh
# /etc/init.d/hinemos_job_agent status
Hinemos Job Agent (PID 5831) is running...

# /etc/init.d/hinemos_log_agent start
[Starting hinemos_log_agent :                              [  OK  ]
# /etc/init.d/hinemos_log_agent status
Hinemos Log Agent (PID 5898) is running...

■Hinemosクライアントの導入(WinXP)

 インストーラを実行するだけ。
 ああ、スクリプト。。。

■ログインしたら性能監視の設定を行う

 3.1のマニュアルだが、操作はほぼ同じ。
 というか違いをまだ発見出来ていない。

 参考:Hinemos ver.3.1 ユーザマニュアル 第 1.6 版
 http://iij.dl.sourceforge.jp/hinemos/45450/user_manual_ja-3.1.pdf

  「4.4. ノードの作成・変更・削除」を参考にノードを追加すると、
 登録ノードすべての配下にファシリティIDが出る。
 CPU、メモリ、ディスク、ネットワークの各ツリー配下に
 SNMPのMIB情報が表示されていれば使用可能になる。
 ほう、一度出来てしまえば便利なものだ。。。w