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も再起動してみたのですが結果は同じでした。
色々調べてみたのですが、どうすれば良いか全然わからなかったので
投稿させて頂きました。
何かヒントになる内容でも頂けたら助かります。
wakaba - 投稿数: 228
広瀬です。
ご呈示されているエラーの通り、ZABBIXサーバからMySQLへの接続が出来てい無い事が
起因となるエラーになります。
PHPからDBへのアクセスも出来ていないようですね。Apacheにもエラー出て居るとなれば・・・
■確認頂きたい点
①ローカルからMySQLにアクセス出来るのか、出来ないのか
→MySQLの管理権限だけではなく、zabbixデータベースにアクセスしている専用ユーザが
あれば、そのアカウントでの接続も確認してください。
②MySQL側のエラーログには何か出ていないか
以上、宜しくお願い致します。
Ueda_1985 - 投稿数: 5
上田です。
早々の返信ありがとうございます。
確認点について
①ローカルからMySQLへのアクセスは問題なくできました。
上記でエラーが出ているzabbixのテーブルにもアクセスできました。
②MySQLのエラーログは未確認です。
明日にでも確認します。
以上、お手数ですがよろしくお願い致します。
wakaba - 投稿数: 228
広瀬です。
> ①ローカルからMySQLへのアクセスは問題なくできました。
> 上記でエラーが出ているzabbixのテーブルにもアクセスできました。
この部分は、root権限だけではなく、一般ユーザでもOKということで問題ないですね?
最初からrootユーザのみで利用されているのであれば特に必要ないですが・・・
1./etc/zabbix配下にあるzabbix.conf.phpの内容に間違いがないか
2.同ファイルのユーザ権限がapache apacheであるか
3.SELinuxあたりが影響していないか、確認してみる
などなど・・・
Ueda_1985 - 投稿数: 5
広瀬様
再度の回答ありがとうございます。
MySQLのエラーログを確認してみたところ、原因に当たるようなエラーログは見られませんでした。
zabbix.conf.php、ユーザ権限もapache:apacheになっており、SELinuxも無効にしています。
更に色々調査してみたところ、下記の点がわかりました。
zabbix.conf.phpをリネームし、Zabbix-WebにアクセスしてみるとWebインタフェースの
インストーラが起動し、DBへの接続テストも問題なくできました。
zabbix.conf.phpを /etc/zabbix 下にコピーし再度Webにアクセスしてみるとアクセスできません。
何か心当たりあれば教えて頂けると嬉しいです。
よろしくお願いします。
wakaba - 投稿数: 228
広瀬です。
> 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 - 投稿数: 5
広瀬様
またまたの返答ありがとうございます。
zabbix.conf.phpの中身も何回も確認しましたが、問題になるような部分は見られませんでした。
Webインストーラでも、最後まで進めることができました。
(zabbix.conf.php生成)
MySQLのデータで、UsersやhostsなどのデータもMySQLコマンドで確認することができました。
DBのみを退避し、新たに構築したZabbixへDBリストアを試みてみると何も表示されませんでした。
DBに問題があると判断し、新たに再構築することにしました。
色々アドバイスを頂き、本当にありがとうございました。
thebigs - 投稿数: 1
はじめまして、当方でも同様の事象が出たため調べてみたところ
以下内容のとおり、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');