以前、Zabbix 5.0から6.0にアップグレードした後に、ブラウザでWebインターフェースからログインしようと画面を開いたら、「Database error(データベースエラー)」が表示されて、ログインできなくなりました。
今回は「Database error」の原因と2つの解決方法をご紹介します。
著者の場合は、MariaDBを使用しています。
DBのバージョンによるエラー
まあ、「Database error」って言ってるからそうなんだろう。
しかし、それ以外の情報が一切ないのはWebインターフェースの困るところ。
困った時はログを確認。
tail /var/log/zabbix/zabbix_server.logデフォルトのZabbixサーバーのログの場所は大体ここ。
データベースに関する記述を探してみてください。
Unable to start Zabbix server due to unsupported MariaDB database server version (10.03.32)
Must be at least (10.05.00)
Use of supported database version is highly recommended.
Override by setting AllowUnsupportedDBVersions=1 in Zabbix server configuration file at your own risk.この辺り。
英語なのでとりあえず翻訳してみましょう。
サポートされていないMariaDBデータベースサーバーのバージョン(10.03.32)が原因で、Zabbixサーバーを起動できません 少なくとも(10.05.00)である必要があります サポートされているデータベースバージョンの使用を強くお勧めします。 自己責任でZabbixサーバー構成ファイルにAllowUnsupportedDBVersions=1を設定してオーバーライドします。
はい、原因と解決方法が書いてありましたね!
DBのバージョンが古いことが原因!
ログに書いてあるように、Zabbix 6.0からはMariaDBのバージョンが10.05.00以上である必要があるようです。
しかし、Ubuntu 20.04にデフォルトで入っているMariaDBのバージョンは10.03なので、サポート対象外だから起動できませんよ、というエラーらしい。
確かに、インストール要件に書いてあったな。(自分で書いて忘れてたw)
2つの解決方法
解決策の1つ目は、ログに書かれてある通リ、Zabbixサーバーの設定ファイルにある「AllowUnsupportedDBVersions」を「1」に設定するというもの。
このパラメーターは、その名の通りサポートされていないDBのバージョンも許可する設定です。
まず、Zabbixサーバーの設定ファイルを開きます。
# vi /etc/zabbix/zabbix_server.conf次に「AllowUnsupportedDBVersions」を探します。
デフォルトでは「0」でコメントアウトされていますので、「1」を設定します。
・・・
# AllowUnsupportedDBVersions=0
AllowUnsupportedDBVersions=1
・・・変更を保存したら、最後にZabbixサーバーを再起動して完成です!
systemctl restart zabbix-serverとりあえずはこれでZabbixを動かせると思いますが、”サポートされているデータベースバージョンの使用を強くお勧めします“と書いてあるし、「AllowUnsupportedDBVersions」の設定は”自己責任で“とも書いてあるので、少し怖い気もしますね・・・。
そこで2つ目の解決策として、素直にサポートされているデータベースのバージョンを使うことです!
もちろんアップグレードするにしても、こちらの解決方法も全くリスクがないわけではありませんが、将来的に見てもこちらをオススメします!
MariaDBのアップグレード手順については以前記事にしていますので、そちらをご参照ください。
【おまけ】DBにリモート接続の場合
著者の場合はこれでも解決せず、このようなエラーもありました。
こちらは特にログにも出力されておらず、ググりまくってやっと解決したのでメモしておきます。
MariaDBの設定ファイルのパラメーターに「bind-address」というものがあります。
データベースにリモート接続する際は、これを無効化しないと繋がらなくなるようです。
Ubuntuが用意しているMariaDBの設定ファイルは複数ありますが、対象は以下のファイルになります。
vi /etc/mysql/mariadb.conf.d/50-server.cnf開いたら「bind-address」の箇所をコメントアウトします。
# bind-address            = 127.0.0.1保存してデータベースを再起動したら繋がるはずです。
あとで気付いたのですが、アップグレード前にはこの設定をしていたのを忘れてたみたいです。
古い設定ファイルとdiffで比較してみたら、昔はちゃんと設定していましたw
物忘れって怖いですねw
以上!お疲れ様でした~!
- Original:https://minory.org/zabbix-database-error.html
- Source:Minory
- Author:管理者
Amazonベストセラー
Now loading...
