Orabbixは、設定ファイルに監視対象のOracleや通知するZabbixサーバの接続情報、監視のためのSQLを設定する必要があります。
設定は、/opt/orabbix/conf/config.propsファイルにkey=value形式の設定ファイルで設定します。
監視のために発行するSQLとSQLの結果をモニタするZabbixのアイテムは名前ベースのマッピングとなるので最初に動かすときには関係が分かりづらいです。
OrabbixでOracleを監視する場合のサーバとソフトウェアの設定の関係を書いてみました。(これも分かりやすいかどうか微妙ですが…)
接続情報の設定
通知先のZabbixサーバ
/opt/orabbix/conf/config.propsファイルにZabbixサーバの接続情報を設定します。
下記のようにZabbixServerListに任意の名前を定義します。
名前.Addressに通知するZabbixサーバのIPアドレス、名前.Portにポートを設定します。
カンマ区切りで複数のZabbixサーバに通知することができます。
#comma separed list of Zabbix servers ZabbixServerList=ZabbixServer1 ZabbixServer1.Address=10.1.1.10 ZabbixServer1.Port=10051 ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER
監視対象のOracle
同じ設定ファイルに監視対象のOracleの接続情報を設定します。
下記のようにDatabaseListにZabbixに登録するホスト名と同じ名前を定義します。(ココが一つ目のポイント!)
名前.UrlにJDBC URL、名前.UserにOracleユーザ名、名前.Passwordにパスワードを設定します。
名前.QueryListFileには監視のためのSQL文が記載されたファイルを指定します。
#put here your databases in a comma separated list DatabaseList=XE #define here your connection string for each database XE.Url=jdbc:oracle:thin:@oracle:1521:XE XE.User=zabbix XE.Password=pass #Those values are optionals if not specified Orabbix is going to use the general values XE.MaxActive=10 XE.MaxWait=100 XE.MaxIdle=1 XE.QueryListFile=./conf/query.props
Orabbixの起動
Orabbixを起動すると監視が始まります。
$ sudo /etc/init.d/orabbix start
動いているかどうかは、Orabbixのログファイルを見るとわかります。
$ pwd /opt/orabbix/logs $ multitail orabbix.log 2011-12-10 19:23:40,614 [main] INFO Orabbix - Starting Orabbix Version 1.2.3 2011-12-10 19:23:40,622 [main] INFO Orabbix - Orabbix started with pid:16449 2011-12-10 19:23:40,623 [main] INFO Orabbix - PidFile -> ./logs/orabbix.pid 2011-12-10 19:23:40,757 [main] INFO Orabbix - DB Pool created: org.apache.commons.dbcp.datasources.SharedPoolDataSource@70cb6009 2011-12-10 19:23:40,758 [main] INFO Orabbix - URL=jdbc:oracle:thin:@oracle:1521:XE 2011-12-10 19:23:40,758 [main] INFO Orabbix - maxPoolSize=10 2011-12-10 19:23:40,759 [main] INFO Orabbix - maxIdleSize=1 2011-12-10 19:23:40,759 [main] INFO Orabbix - maxIdleTime=1800000ms 2011-12-10 19:23:40,759 [main] INFO Orabbix - poolTimeout=100 2011-12-10 19:23:40,760 [main] INFO Orabbix - timeBetweenEvictionRunsMillis=-1 2011-12-10 19:23:40,760 [main] INFO Orabbix - numTestsPerEvictionRun=3 2011-12-10 19:23:41,032 [main] INFO Orabbix - Connected as ZABBIX 2011-12-10 19:23:41,034 [main] INFO Orabbix - --------- on Database -> XE 2011-12-10 19:23:41,396 [pool-1-thread-1] INFO Orabbix - Done with dbJob on database XE QueryList elapsed time 331 ms 2011-12-10 19:24:41,097 [pool-1-thread-2] INFO Orabbix - Done with dbJob on database XE QueryList elapsed time 19 ms