tkhtssm
@tkhtssm (tkht ssm)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

CentOS8にてZabbixの初期画面に遷移できない

解決したいこと

CentOS8にてZabbix5を設定しようとしているのですが、
Zabbix初期画面に遷移しない現象が発生しております。

ネットで確認・実践しているのですが現象解決せず。。。
対応策等分かりましたら教えていただけないでしょうか。

発生している問題・エラー

現象1

・hhtp://サーバのIPアドレス/zabbix にアクセスした結果、

  ヘッダ:404 Not Found
  本文:Not Found
     The requested URL /zabbix was not found on this server.

 と表示される。

現象2

・systemctl status zabbix-server.service にて

  Apr 14 10:26:56 zabbixhost zabbix_server[2092]: /usr/sbin/zabbix_server: /usr/pgsql-12/lib/libpq.so.5: no version information available (required by /usr/sbin/zabbix_server)
  Apr 14 10:26:56 zabbixhost systemd[1]: zabbix-server.service: Can't open PID file /run/zabbix/zabbix_server.pid (yet?) after start: No such file or directory
と出力される。
 (・zabbix-agent2、httpd、postgresql-12.service は正常起動)

環境

・OS
 CentOS8
・apache
 httpd-2.4.37-12.el8.x86_64
・postgresql
 postgresql12-12.2-2PGDG.rhel8.x86_64
・Zabbix
 zabbix-5.0.10
・php
 php-7.2.11-1.el8.x86_64

 自分でしたこと

・apache、postgresql、Zabbix、phpパッケージはすべて
 rpmコマンドを使ってインストールした。
 (インターネットに接続できない環境のため、
  yumコマンド使用できず)

0

2Answer

/usr/pgsql-12/lib/libpq.so.5: no version information available (required by /usr/sbin/zabbix_server) というエラーメッセージを見る限り、zabbix_server 起動時に必要とする postgresql の共有ライブラリが見つからないのだと思います。

パスから見ると、 postgres の 12.5 を使おうとしているように思います。
(zabbix のマニュアルを見る限り、そのような制限はないみたいですが)

対策として考えられるのは以下の2つがあります。

  • postgresql をバージョンアップしてみる(12.5 あるいは 13 以上にする)
  • 現在の postgres 12.2 のライブラリ( /usr/pgsql-12/lib/libpq.so.2 かな?)をシンボリックリンクを作って、無理やり上記共有ライブラリ( /usr/pgsql-12/lib/libpq.so.5 )を作ってみる(もちろん無理やり作っているので、何か問題が出る可能性はあります)

以下のサイトの内容(の1つ目のエラー)はよく似た内容ですが postgresql 13 を入れたら直ったと言っていますね。

Someone in the IRC channel recommended that I reinstall PostgreSQL 13 again, which I did, and that made this error go away.

同じように直るかはわかりませんが、ご参考まで。

0Like

Comments

  1. @tkhtssm

    Questioner

    ご回答ありがとうございます。
    postgresql12(バージョンは12.5でした)をアンインストールして、postgresql13をインストールしましたが、
    残念ながら現象2個とも解決しませんでした。。。
    2個目の現象は放置でもいいのかなとも思っております。

おそらくzabbix-serverの起動に失敗しているため、現象1が発生していると思われます。
なお、現象2の「Apr 14 10:26:56 zabbixhost systemd[1]: zabbix-server.service: Can't open PID file /run/zabbix/zabbix_server.pid (yet?) after start: No such file or directory」は、/run/zabbixが存在しないため、出ているのではないかと思っています。
CentOS7では再起動などすると/run直下のディレクトリが削除されるため、zabbixの自動起動を設定しても失敗します。
CentOS7の場合、/etc/tmpfiles.d 直下にzabbix.confのように任意のファイルを作成し、「d /run/zabbix 0755 zabbix zabbix」の一行だけ記入し保存します。そうすれば再起動などしても/run/zabbixが消えることはありません。(起動時にディレクトリが作成されます。)
CentOS7の場合なので、CentOS8でも同じ仕様なのかは分かりませんが、ご参考までに。

ちなみに、「d /run/zabbix 0755 zabbix zabbix」は、/run/zabbixディレクトリを管理者、グループともにzabbix、アクセス権限を0755で作成します。確かzabbixの場合はzabbixユーザだったと思いますが、違っている場合は、rootの方がいいかもしれないです。

見当違いでしたらすいません。

0Like

Comments

  1. @tkhtssm

    Questioner

    ご回答ありがとうございます。
    /etc/tmpfiles.d 直下にzabbix.confを作成しました。
    d /run/zabbix 0755 zabbix zabbix
    と記載して作成したのですが、残念ながら現象解決せずでした。。。
    d /run/zabbix 0755 root root
    と記載しても同じでした。。。
    他に対応策が無いか探してみます。
  2. まずは、/run/zabbix が存在するか確認して、なければ手動で作成してサービス起動など確認したほうがいいと思っています。
    tmpfile.dはあくまで再起動したときに実行されるので。
  3. @tkhtssm

    Questioner

    再度のコメントありがとございます。
    /run/zabbix は存在しています。
    「サービス起動など確認したほうがいい」は、具体的にどうすればいいか教えていただけると幸いです。
  4. 私の方で試しにCentOS8でzabbix5.0入れてみたところ、再現しました。原因はSELinuxの設定が問題でした。SELinuxをenforcingからdisable(またはpermissive)にする必要がありました。まずは、getenforceコマンドで状態を調べ、Enforcingだったら、一旦 「setenforce 0」を実行してPermissiveにしてから、zabbixのサービスを起動してください。もし起動するようなら、恒久設定が必要なので、/etc/selinux/configファイルを修正してください。SELINUX=permissiveかdisabledにすればいいです。

    もしSELinuxをEnforcingのままにしたい場合は、setseboolでポリシーと変更する必要があります。
  5. @tkhtssm

    Questioner

    度々コメントありがとうございます。
    SELinuxは既に設定しておりまして、
    # getenforce
    Disabled
    /etc/selinux/config内は
    SELINUX=disabled
    にっ設定しております。。
  6. そうでしたか。。。私の方はネット繋がるので、dnfで直接必要パッケージをインストールで、DBもMariadb(使い慣れているもの)を使っているので完全に同じ環境ではないですが、zabbix周りは同じにしていたつもりだったので、別に原因がありそうですね。
    お力になれず申し訳ないです。。。

Your answer might help someone💌