最近、ZabbixでOracleを監視することに興味を持つようになりました。 ちょっとしたグーグルは、タスクを完了するためのいくつかのオプションを見つけ、少し読んだ後、DBforBixで停止することにしました。 しかし、この悪魔にはいくつかの小さな困難がありました。 公式Wikiでは、RHELの手順が利用可能であり、ファイルに添付されているinitパッケージはRHELでエンコードされています。 私にとって、これは小さな問題になりました。 私のZabbixはDebian上で回転しています。 これに関連して、コードを少しやり直さなければなりませんでした。 たぶんこれは誰かに役立つでしょう。
1.初期インストール
1.最初に、公式ウェブサイトまたはsourceforge からパッケージ自体をダウンロードする必要があります。
2.アーカイブの内容を解凍して
/opt/dbforbix/
フォルダーに転送した後。
3.次に、ファイル
/opt/dbforbix/init.d/dbforbix
を
/etc/init.d/dbforbix.
コピーします
/etc/init.d/dbforbix.
4.
/etc/init.d/dbforbix
および
/opt/dbforbix/run.sh
実行権を
/opt/dbforbix/run.sh
ます。
5.ファイル
/opt/dbforbix/conf/config.props.sample
名前を
/opt/dbforbix/conf/config.props
に
/opt/dbforbix/conf/oraclequery.props.sample
し、
/opt/dbforbix/conf/oraclequery.props
名前を
/opt/dbforbix/conf/oraclequery.props
6.必要なライブラリを
/opt/dbforbix/lib/
フォルダーにスローします。 この例では、 ojdbc6.jarライブラリに興味があります。 (すべてのライブラリをここからダウンロードしてください )
これで命令が終了し、Debianでデーモンが正しく動作するためにいくつかのファイルを修正する必要があります。
2. /etc/init.d/dbforbixの編集
1.ファイルの先頭に、次のようなものを挿入します。
### BEGIN INIT INFO # Provides: dbforbix # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: dbforbix ### END INIT INFO
2.
/etc/rc.d/init.d/functions
の行についてコメントし、以下に記述します。
/lib/lsb/init-functions
3. RHELでインターフェースアクティビティを確認します。
# Get config. . /etc/sysconfig/network # Check that networking is up. [ "${NETWORKING}" = "no" ] && exit 0
文字列データを次のように変更します。
state=`/sbin/ip link | awk '/eth0/{print $9}'` [ "${STATE}" = "DOWN" ] && exit 0
3. /opt/dbforbix/conf/config.propsの編集
ここではすべてが簡単です。指示とコメントに従ってすべてのパラメーターを変更します(私の場合、設定はOracleデータベースのみに関係します)。
ZabbixServerList=ZabbixServer1
-Zabbixサーバーの説明
ZabbixServer1.Address=10.10.10.10
-Zabbixサーバー
ZabbixServer1.Port=10051
-Zabbixサーバーポート
DatabaseList=ORACLEDB1
接続されたデータベースの説明
ORACLEDB1.Url=jdbc:oracle:thin:@10.10.10.11:1521:name_of_sid
データベースへの接続を構成します
ORACLEDB1.User=ZABBIX
ユーザー(後で示します)
ORACLEDB1.Password=ZABBIX
パスワード(後で指定します)
ORACLEDB1.DatabaseType=oracle
-DBタイプ
一般的に、すべてが明確です。 私に興味を持っている唯一のものはラインでした
#pidFile DBforBIX.PidFile=./logs/orabbix.pid
orabbixが理解できなかったのに書き直した理由
#pidFile DBforBIX.PidFile=./logs/dbforbix.pid
なぜなら init.dでは、すべてがこのファイルを参照し、それに応じて
/opt/dbforbix/logs/
ディレクトリに
dbforbix.pid
ファイルが作成されます。
4. Oracle用スクリプト
公式wikiには、Oracleバージョン10で正常に動作するスクリプトが含まれています(11の場合)-wikiに従って小さな変更が必要です。
CREATE USER ZABBIX IDENTIFIED BY <REPLACE WITH PASSWORD> DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; -– 2 Roles for ZABBIX GRANT CONNECT TO ZABBIX; GRANT RESOURCE TO ZABBIX; ALTER USER ZABBIX DEFAULT ROLE ALL; –- 5 System Privileges for ZABBIX 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;
DBforBixの実行
開始する前に、次の手順を完了する必要があります。
1. Oracleのテンプレートを次の場所にあるZabbixにインポートします:
/opt/dbforbix/template/template_oracle.xml
2. Zabbixで、config.propsファイルの
DatabaseList
行で指定された名前と一致する名前のホストを作成します。 私の場合、ホスト名はORACLEDB1になります。
3.次のコマンドでinit.dスクリプトをアクティブにします。
insserv dbforbix
4. DBforBixを起動します
/etc/init.d/dbforbix start
それがおそらくすべてです。 デーモンが必要とするのは、作業のために
sun-java6-jre
だけです
sun-java6-jre
デーモンをインストールするには、古いリポジトリを登録し、そこからパッケージをインストールする必要がありました。