yum updateでZabbixのアップデートをしたらWEBにアクセスできなくなった

このサイトはいつも参考にさせて頂いています。

初めて投稿させて頂きますのでよろしくお願いします。

最近、yum updateでZabbixをアップデートしたらアクセスできていた
Zabbix Webにアクセスできなくなりました。

アップデート後のバージョンは 1.8.13で、/etc/zabbix/zabbix-server.logを
確認してみると下記のエラーが吐き出されていました。
(アップデート前のバージョンは確認していませんが、以前もマイナーアップデートも
2,3回ぐらいできています。)

[Z3001] connection to database 'zabbix' failed; [2002] Can't connect to local MySQL server
throught socket '/var/lib/mysql/mysql.sock'

また、Apacheのerror.logを調べ、この部分でエラーが出ているようです。
if(!&DB['DB']= mysql_connect($mysql_server, $DB['USER'], $DB['PASSWORD'])){
ファイルは/usr/share/zabbix/include/ 下にある db.....php ファイルです。
(正確なファイル名は覚えていません。)

httpd、mysql、zabbixすべて再起動したりOSも再起動してみたのですが結果は同じでした。

色々調べてみたのですが、どうすれば良いか全然わからなかったので
投稿させて頂きました。

何かヒントになる内容でも頂けたら助かります。

コメント表示オプション

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

広瀬です。

ご呈示されているエラーの通り、ZABBIXサーバからMySQLへの接続が出来てい無い事が
起因となるエラーになります。
PHPからDBへのアクセスも出来ていないようですね。Apacheにもエラー出て居るとなれば・・・

■確認頂きたい点
 ①ローカルからMySQLにアクセス出来るのか、出来ないのか

  →MySQLの管理権限だけではなく、zabbixデータベースにアクセスしている専用ユーザが
   あれば、そのアカウントでの接続も確認してください。

 ②MySQL側のエラーログには何か出ていないか

以上、宜しくお願い致します。

ユーザー Ueda_1985 の写真

上田です。

早々の返信ありがとうございます。

確認点について
①ローカルからMySQLへのアクセスは問題なくできました。
上記でエラーが出ているzabbixのテーブルにもアクセスできました。
②MySQLのエラーログは未確認です。
明日にでも確認します。

以上、お手数ですがよろしくお願い致します。

広瀬です。

> ①ローカルからMySQLへのアクセスは問題なくできました。
> 上記でエラーが出ているzabbixのテーブルにもアクセスできました。

この部分は、root権限だけではなく、一般ユーザでもOKということで問題ないですね?
最初からrootユーザのみで利用されているのであれば特に必要ないですが・・・

1./etc/zabbix配下にあるzabbix.conf.phpの内容に間違いがないか
2.同ファイルのユーザ権限がapache apacheであるか
3.SELinuxあたりが影響していないか、確認してみる

などなど・・・

ユーザー Ueda_1985 の写真

広瀬様

再度の回答ありがとうございます。

MySQLのエラーログを確認してみたところ、原因に当たるようなエラーログは見られませんでした。

zabbix.conf.php、ユーザ権限もapache:apacheになっており、SELinuxも無効にしています。

更に色々調査してみたところ、下記の点がわかりました。

zabbix.conf.phpをリネームし、Zabbix-WebにアクセスしてみるとWebインタフェースの
インストーラが起動し、DBへの接続テストも問題なくできました。
zabbix.conf.phpを /etc/zabbix 下にコピーし再度Webにアクセスしてみるとアクセスできません。

何か心当たりあれば教えて頂けると嬉しいです。

よろしくお願いします。

広瀬です。

> zabbix.conf.phpをリネームし、Zabbix-WebにアクセスしてみるとWebインタフェースの
> インストーラが起動し、DBへの接続テストも問題なくできました。
> zabbix.conf.phpを /etc/zabbix 下にコピーし再度Webにアクセスしてみるとアクセスできません。

となると、zabbix.conf.phpの中身が正しくないか、パーミッション・権限に不備がある
の何れかか、MySQL側の何らかの問題か・・・といったところでしょうか・・・

zabbix.conf.phpをリネームしてインストーラーが起動する(ApacheとPHPには問題ないことになる
はず)ならば、最後まで進めると、最新のzabbix.conf.phpができあがるハズです。それでもダメだ
とすると、別の問題だろうと考えられます。

※インストーラの最後で、zabbix.conf.phpが自動生成されない場合は、SELinuxの問題か、
  /etc/zabbixフォルダの権限周りに問題がある事になるはずです。

取り急ぎ、以上です。

ユーザー Ueda_1985 の写真

広瀬様

またまたの返答ありがとうございます。

zabbix.conf.phpの中身も何回も確認しましたが、問題になるような部分は見られませんでした。
Webインストーラでも、最後まで進めることができました。
(zabbix.conf.php生成)
MySQLのデータで、UsersやhostsなどのデータもMySQLコマンドで確認することができました。

DBのみを退避し、新たに構築したZabbixへDBリストアを試みてみると何も表示されませんでした。

DBに問題があると判断し、新たに再構築することにしました。

色々アドバイスを頂き、本当にありがとうございました。

ユーザー thebigs の写真

はじめまして、当方でも同様の事象が出たため調べてみたところ
以下内容のとおり、audit.inc.php ファイルにpatchを当てる事でWebアクセス出来るようになりました。

https://support.zabbix.com/browse/ZBX-5006

(*)
--- a/frontends/php/include/audit.inc.php
+++ b/frontends/php/include/audit.inc.php
@@ -70,7 +70,7 @@
function add_audit($action,$resourcetype,$details){
global $USER_DETAILS;

- if(!isset($USER_DETAILS['userid'])) check_authorisation();
+ if(!isset($USER_DETAILS['userid'])) return false;

$auditid = get_dbid('auditlog','auditid');