zabbix server is not running

平素より大変お世話になっております。

Dashbord上で、zabbix server is not runningが表示されています。

OS : Solaris11
DB : Oracle11g
Zabbix : zabbix-2.2.3

zabbix_server.logには、

[Z3001] connection to database '//localhost:1523/zabbix' failed: [-1]
Cannot connect to the database. Exiting...

と記載があり、

■zabbix_server.conf
ListenPort=10051
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=ZABBIX
DBPassword=*****
DBPort=1523

zabbix_server.confの設定も正しくできていると思います。
色々と調べてはみたのですが、これといったものが見つかりませんでした。

どうすればよいかわからず、手詰まりしております。
原因と対処法をご教示頂けないでしょうか?

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

tkfmstさん

zabbix_server.confのListenIPに何か設定してますか?
ListenIP=127.0.0.1かListenIP=0.0.0.0ならOKになるはずです。

詳しくは…
添付のインストール時に設定する画面のhostとzabbix_server.confのListenIPを揃えればOKなはずです。

ユーザー tkfmst の写真

KAZさん

コメントありがとうございます。

zabbix_server.confのListenIPはデフォルトのまま

# Default:
# ListenIP=0.0.0.0

となっています。
ListenIP=127.0.0.1としてみましたが変化ありませんでした。

以下、conf/zabbix.conf.phpの内容になります。

$DB['TYPE'] = 'ORACLE';
$DB['SERVER'] = 'zabdb';
$DB['PORT'] = '1523';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'ZABBIX';
$DB['PASSWORD'] = '*****';

// SCHEMA is relevant only for IBM_DB2 database
$DB['SCHEMA'] = '';

$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';

エラーの原因がわかりません。。。

ユーザー KAZ の写真

tkfmstさん

conf/zabbix.conf.phpのlocalhostを127.0.0.1に変えてみたら遠なりますか?

ユーザー KAZ の写真

tkfmstさん

すいません、勘違いしてました。
DBに接続できてないのでZabbixサーバ落ちてますね、それ…

/etc/sysconfig/zabbix_serverとかにORACLE_HOMEとか定義してますか?

ユーザー tkfmst の写真

KAZさん

conf/zabbix.conf.phpのlocalhostを127.0.0.1
に変えても、変化はありませんでした。

PORTを10051から適当な空いているPORTに変えたところ、
Zabbix server is running は yes になったのですが、zabbix_server.logは
変わらず

[Z3001] connection to database '//localhost:1523/zabbix' failed: [-1]
Cannot connect to the database. Exiting...

のままでした。

zabbix_serverがデータベースに接続できずPORTが開かないことが
今回の原因だと思うのですが、なぜ接続できないのかがわかりません。

ユーザー heya の写真

こんにちは。

基本的なことですが、Oracle はちゃんと起動している状態ですか?
そして 1523 番ポートで待っていますか?

ユーザー tkfmst の写真

KAZさん

/usr/local/の下にzabbixをインストールしてあるのですが、/etc/sysconfig/zabbix_server
は/usr/local/zabbix/sbin/zabbix_serverと同じものでしょうか?

/usr/local/zabbix/sbin/zabbix_server には特に定義しておりません。

別の方の質問で zabbix_server にLD_LIBRARY_PATHを定義すると
エラーが消えるというものがあったので試してみたところ zabbix_server が起動
しなくなってしまったことがありました。

定義の仕方を教えていただいてもよろしいでしょうか?

ユーザー TNK の写真

OracleをZabbixのバックエンドに利用したことが無いので、誤って
いたら申し訳ありません。

conf/zabbix.conf.php で、

$DB['SERVER'] = 'zabdb';

と書かれているのに、zabbix_serverのログには、

[Z3001] connection to database '//localhost:1523/zabbix' failed: [-1]
Cannot connect to the database. Exiting...

とlocalhostにアクセスしにいっているように見えます。

DBサーバをlocalhost上で稼働させておらずzabdbというのがリモート
のDBサーバであるならば、zabbix_server.conf内のDBHostにも設定
が必要なのではないでしょうか?

ユーザー tkfmst の写真

zabbix_serverをzabbixユーザで実行したところ、起動することができました。
合わせてzabbix server is not runningも消えました。

rootで実行していたことが原因でした。
よくマニュアルを確認していませんでした。

KAZさん、heyaさん、TNKさん

色々とご教示していただきありがとうございました。

$DB['SERVER'] = 'zabdb';の箇所に関しては
色々設定を変えて試していたので、自分の記述ミスだと思います。