LoginSignup
8
5

More than 5 years have passed since last update.

(後編)Zabbix で Orabbix インストール

Last updated at Posted at 2017-09-19

前編では、Orabbix をインストールする Zabbix 3.0 をインストールしました。
Orabbix では JDBC を使用して、Oracle Database のリソース(SGAやPGAなど)監視できます。
本投稿は、後編として Orabbix をインストールするまでを記載します。

前編は以下へ
http://qiita.com/junya19862/items/c75b50693326b33ac674

Orabbix公式マニュアル

ダウンロードは以下のサイトより

構成

OSバージョン
CentOS6.7 64bit
※SELinux無効しておく
Zabbix 3.0
Oracle Database 12.1.0.2 64bit
PHP 5.6
Apache 2.2
MySQL 5.7

zipファイル解凍

# Orabbix は orabbix-1.2.3.zip という名前の zip ファイルで提供される。
# マニュアルに従い、/opt/orabbix に解凍する。
cd /opt/
sudo mkdir orabbix
sudo unzip orabbix-1.2.3.zip

セットアップ

# /opt/orabbix/init.d/orabbix を /etc/init.d/orabbix としてコピーし、
# /etc/init.d/orabbix と /opt/orabbix/run.sh に実行権限を与える。
sudo cp /opt/orabbix/init.d/orabbix /etc/init.d/orabbix
sudo chmod 755 /etc/init.d/orabbix
sudo chmod 755 /opt/orabbix/run.sh

監視対象の Oracle Database 設定

# SYSユーザで Oracle Database にログイン
sqlplus / as sysdba

# zabbix ユーザ作成
CREATE USER ZABBIX
IDENTIFIED BY zabbix
DEFAULT TABLESPACE SYSTEM
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;

# zabbix ユーザへロールと権限付与
GRANT CONNECT TO ZABBIX;
GRANT RESOURCE TO ZABBIX;
ALTER USER ZABBIX DEFAULT ROLE ALL;
GRANT SELECT ANY TABLE TO ZABBIX;
GRANT CREATE SESSION TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;
GRANT UNLIMITED TABLESPACE TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;

# 指定プロシージャ実行
exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');
exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
commit;

# 設定確認
# localhost と返ってくること。
select utl_inaddr.get_host_name('127.0.0.1') from dual;
UTL_INADDR.GET_HOST_NAME('127.0.0.1')
--------------------------------------------------------------------------------
localhost

Zabbix へテンプレートインポート

Zabbix へ Admin/zabbix でログインし、設定 > テンプレート> インポートと押下。
/opt/orabbix/template/Orabbix_export_full.xml をインポートする。
1.png

/opt/orabbix/conf/config.props の設定

設定ファイル作成

# /opt/orabbix/conf/config.props.sample をコピーして、/opt/orabbix/conf/config.props を作成する。
sudo cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props

設定

# DatabaseList の SID は Zabbix で設定したホスト名と同じにする。
sudo vi /opt/orabbix/conf/config.props
#pidFile
OrabbixDaemon.PidFile=./logs/orabbix.pid
#frequency of item's refresh
OrabbixDaemon.Sleep=300
#MaxThreadNumber should be >= than the number of your databases
OrabbixDaemon.MaxThreadNumber=100

#put here your databases in a comma separated list
DatabaseList=<DBインスタンス名>

#Configuration of Connection pool
#if not specified Orabbis is going to use default values (hardcoded)
#Maximum number of active connection inside pool
DatabaseList.MaxActive=10
#The maximum number of milliseconds that the pool will wait
#(when there are no available connections) for a connection to be returned
#before throwing an exception, or <= 0 to wait indefinitely.
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1

#define here your connection string for each database
<DBインスタンス名>.Url=jdbc:oracle:thin:@<ホスト名>:<リスナーポート>:orcl
<DBインスタンス名>l.User=zabbix
<DBインスタンス名>.Password=zabbix
#Those values are optionals if not specified Orabbix is going to use the general values
<DBインスタンス名>.MaxActive=10
<DBインスタンス名>.MaxWait=100
<DBインスタンス名>.MaxIdle=1
<DBインスタンス名>.QueryListFile=./conf/query.props

DB2.Url=jdbc:oracle:thin:@server2.domain.example.com:<LISTENER_PORT>:DB2
DB2.User=zabbix
DB2.Password=zabbix_password
DB2.QueryListFile=./conf/query.props

DB3.Url=jdbc:oracle:thin:@server3.domain.example.com:<LISTENER_PORT>:DB3
DB3.User=zabbix
DB3.Password=zabbix_password
DB3.QueryListFile=./conf/query.props

ホスト作成

インポートしたテンプレートを指定して、DBインスタンス名と同名のZabbixのホストを作成する。
2.png

# Orabbix 再起動
sudo /etc/init.d/orabbix restart

# 動作しているかはログを確認
cat /opt/orabbix/logs/orabbix.log
2017-09-15 19:58:39,668 [main] INFO  Orabbix - Starting Orabbix Version 1.2.3
2017-09-15 19:58:39,714 [main] INFO  Orabbix - Orabbix started with pid:3563
2017-09-15 19:58:39,714 [main] INFO  Orabbix - PidFile -> ./logs/orabbix.pid
2017-09-15 19:58:39,990 [main] INFO  Orabbix - DB Pool created: org.apache.commons.dbcp.datasources.SharedPoolDataSource@62bbf09c
2017-09-15 19:58:39,990 [main] INFO  Orabbix - URL=jdbc:oracle:thin:@ora190:1521:orcl
2017-09-15 19:58:39,990 [main] INFO  Orabbix - maxPoolSize=10
2017-09-15 19:58:39,990 [main] INFO  Orabbix - maxIdleSize=1
2017-09-15 19:58:39,990 [main] INFO  Orabbix - maxIdleTime=1800000ms
2017-09-15 19:58:39,990 [main] INFO  Orabbix - poolTimeout=100
2017-09-15 19:58:39,990 [main] INFO  Orabbix - timeBetweenEvictionRunsMillis=-1
2017-09-15 19:58:39,990 [main] INFO  Orabbix - numTestsPerEvictionRun=3
2017-09-15 19:58:41,710 [main] INFO  Orabbix - Connected as ZABBIX
2017-09-15 19:58:41,712 [main] INFO  Orabbix - --------- on Database -> orcl

確認

グラフを確認すると監視されていることがわかる。
3.png

グラフの種類はこんな感じ。
監視が最低限必要なリソースは監視可能です。
4.png

以上、前編/後編と2回に分けて記載しましたがいかがでしたでしょうか。
皆様の Oracle Database の監視ライフに少しでもお役に立てたら光栄です。

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5