Zabbix-serverに通信できない
お世話になります。
現在Zabbixを使用して監視を行っていたのですが、
HOSTの追加を行おうとしたらページが固まってしまいました。
現在バックエンドDBがPostgresSQLでNFSの共有ディスク上にあるため
通信がもともと遅かったのもありますが、HOSTの追加ができないため、
PostgresSQLを再起動したところ以下のようなエラーが画面上に表示されました。
- pg_query():Query failed: ERROR: could not access status of transaction 5442408
- DETAIL: Could not read from file "pg_subtrans/0053" at offset 8192:Success.
- CONTEXT:while locking tuple(0,7)in relation "users"[zabbix.php:21 →require_once()→ZBase→run()→CViewHelper::loadSidebarMode()→CProfile::get()→CProfile::init()→DBselect()→pg_query()in include/db.inc.php:247]
- Error in query [SELECT NULL FROM users u WHERE u.userid=1 FOR UPDATE][ERROR:could not access status of transaction 5442408
-DETAIL:Could not read from file "pg_subtrans/0053" at offset 8192:Success.
- CONTEXT: while locking tuple (0.7)in reration "users"]
このエラーからしばらくするとService Unavailableとなり画面が表示されなくなりました。
復旧方法とhostの追加方法をご教授お願いします。
追記
Zabbix-serverのlogに
/usr/sbin/zabbix_server: configuration syncer [syncing configuration](zbx_backtrace+0x4e) [0x559376f8b558]
との記載があり、現在キャッシュサイズが300Mなのを一旦1Gに設定しました。が、Restartしてもページが開きませんでした
TNK - 投稿数: 4768
Zabbixの問題ではなくてPostgreSQLの性能の問題ではないでしょうか?
zabbix_serverがキャッシュしていた情報をデータベースに反映し
ようとしている最中にデータベースを再起動したために、処理が中
断されてしまったのでしょう。
ZabbixのWebインターフェースでアクセスできなくて。Restartされ
たとのことですが、PHPを処理しているサービスを再起動されたの
ですか?
zabbix-serverのサービスとWebインターフェースを処理しているプ
ロセスは全く別ですので、zabbix-serverサービスを再起動しても、
Webインターフェースの動作には全く関係ありません。
使用されているOSやどのようにしてインストールされたZabbixかも
わからないので、具体的はことは回答できません。
nmyyn - 投稿数: 23
ご返信ありがとうございます。
>zabbix-serverのサービスとWebインターフェースを処理しているプ
>ロセスは全く別ですので、zabbix-serverサービスを再起動しても、
>Webインターフェースの動作には全く関係ありません。
→なるほど。無知でしたありがとうございます。
>zabbix_serverがキャッシュしていた情報をデータベースに反映し
>ようとしている最中にデータベースを再起動したために、処理が中
>断されてしまったのでしょう。
→現在、Webにログインしようとすると固まってしまい、同じようなメッセージが出続けています。
この状態の解決方法はここで教えていただけるものでしょうか?
教えていただけるなら必要な情報としてほかに何が必要ですか?
TNK - 投稿数: 4768
「同じような」というのがどのように同じようなのでしょうか?
同じテーブル対する同じSQL文のエラーなのですか?
発生しているエラーの詳細を確認してください。
エラー内容によっては、データベース上のデータが破損してしまっ
ている可能性も考えられます。
nmyyn - 投稿数: 23
面倒だったのでDBつくりなおして以前作成していたdumpファイルを使用して戻しました。
Pacemakerを使ってフェイルオーバーを繰り返していた最中だったのでそこでデータ破損が起きてしまっていたようです。