zabbix初回ログイン時のDBエラー

初めましてsatotです。zabbix初心者なので質問させてください。
初回ログイン時のDBconfig入力の際に、Cannot connect to the database.というエラーが出ます。
そもそも、ここで入力するDBのホスト名やポート、DB名は何を入力すればよろしいでしょうか?
どのコマンドで出た情報を入力すればいいか教えていただけると幸いです。
ざっくりとした質問で申し訳ございません。
出来るだけ早い返信をいただけると幸いです。

コメント表示オプション

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

まず、質問頂く際には、どのような環境を使用されているのかをお
教えください。

例えば、以下のような項目です。
 ・Zabbixサーバーを構築しているOSと詳細なバージョン
 ・Zabbixの詳細なバージョン
 ・使用されているデータベース(MySQL、PostgreSQLなど)

今回は特にデータベースには何を使用されていますか?
バージョンは何ですか?
Zabbix用のデータベース、テーブル、初期データなどは登録しまし
たか?

どこの情報を参考されたのかわかりませんが、Zabbixサーバーをイ
ンストールする手順の中に、Zabbix用のデータベースの構築の手順
が記載されていたはずです。

そこで構築したデータベースに接続するための情報を入力してくだ
さい。

ユーザー satot の写真

TNK様
下記に細情報を記載致します。
OSのバージョン:CentOS-based7.5
Zabbixのバージョン:zabbix_server (Zabbix) 4.0.6
使用しているDB:MySQL
DBのバージョン:mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper

Zabbix用のDBはcreate database zabbix character set utf8 collate utf8_bin;で作成しました。以下、mysqlで実行した構文
mysql> CREATE USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxx';
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
mysql> FLUSH PRIVILEGES;
mysql> SELECT user, host FROM mysql.user ORDER BY user, host;
初期値ははzcat /usr/share/doc/zabbix-server-mysql-4.0.6/create.sql.gz |mysql -h xxx.mysql.database.azure.com -Dzabbix -u zabbix@xxx -pで登録しようとしたのですが、ERROR 1050 (42S01) at line 1: Table 'users' already existsと出ました。(これのせいでしょうか?)

ちなみに初回ログイン時に入力した内容は以下の通りです。
Database Type:MySQL
Database host:%(SELECT user, host FROM mysql.user ORDER BY user, host;で出てきたhost)
Database port:0(5432にしてもダメでした)
Database Name:zabbix(mysql> SELECT database();で出てきたDB名)
User:(SELECT user, host FROM mysql.user ORDER BY user, host;で出てきたユーザー)

mysql> SELECT user, host FROM mysql.user ORDER BY user, host;
+-----------------+-----------+
| user | host |
+-----------------+-----------+
| adminuser | % |
| azure_superuser | 127.0.0.1 |
| azure_superuser | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| zabbix | % |
+-----------------+-----------+

mysql> SELECT database();
+------------+
| database() |
+------------+
| zabbix |
+------------+

弊社内で引継ぎがうまくいっておらずzabbixの知識がほとんどありませんので何卒ご教示ください。

ユーザー TNK の写真

DBのバージョン:mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper

mysqlコマンドのバージョンは不要です。
使用しているDBMSのバージョンをお教えください。

初期値ははzcat /usr/share/doc/zabbix-server-mysql-4.0.6/create.sql.gz |mysql -h xxx.mysql.database.azure.com -Dzabbix -u zabbix@xxx -pで登録しようとしたのですが、ERROR 1050 (42S01) at line 1: Table 'users' already existsと出ました。(これのせいでしょうか?)

すでに初期データが登録済みのデータベースに再度同じ情報を登録
しようとされたのではありませんか?

Database host:%(SELECT user, host FROM mysql.user ORDER BY user, host;で出てきたhost)

何をされたいのかが全く分かりません。

先のmysqlコマンドの実行時に、「-h xxx.mysql.database.azure.com」
と指定されていたのですから、DBMSは「xxx.mysql.database.azure.com」
で動いているのですよね?
それならば、そのFQDNをデータベースサーバーのホストとして登録
してください。

ご確認ください。

ユーザー satot の写真

DBMSのバージョン:5.7

Database hostについてはそもそもどのような情報を入れれば良いか分からなかったので聞きました。

以上、よろしくお願いします。

ユーザー satot の写真

TNK様

現在HOST名等正しく入力致しましたが、
Error connecting to database: SSL connection is required. Please specify SSL options and retry.
というエラーが出ています。

mysql> show variables like '%ssl%';を実行した結果、
+---------------+------------------+
| Variable_name | Value |
+---------------+------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | c:\work\ca.pem |
| ssl_capath | |
| ssl_cert | c:\work\cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | c:\work\key.pem |
+---------------+------------------+
と出てくるため、SSL設定は問題ないという認識ですがいかがでしょうか?

また、rpm -qa | grep opensslを実行した結果も一応送付しておきます。
openssl-libs-1.0.2k-16.el7_6.1.x86_64
openssl-1.0.2k-16.el7_6.1.x86_64

以上、お手数をおかけしますが、よろしくお願いいたします。

ユーザー TNK の写真

Azureのデータベースの設定でSSLを使用しないように設定変更して
みてください。

ユーザー satot の写真

TNK様
SSL使用しない設定にし、ログインを試みたところ
Unable to select configuration.
という別のエラーが出ました。

ユーザー TNK の写真

エラーメッセージだけではなく、どの画面でどこにどのようなメッ
セージが表示されたのか詳細にお伝えください。

Webインターフェースでデータベースの設定後の接続試行時のエラー
であれば、Zabbix用のデータベースが正常に作成されていない可能
性が考えられます。

Zabbix用のデータベースにmysqlコマンドなどを使用して、Zabbix
用のテーブルが作成されているか、初期データが登録されているか
を再度確認しなおしてください。

ユーザー satot の写真

初回設定時の
Configure DB connection
画面で
Cannot connect to the database.
Unable to select configuration.
とのエラーが出ました。

先ほども述べましたが、
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
を実行した際に、ERROR 1050 (42S01) at line 1: Table 'users' already exists
上記のエラーが出るため、初期データが登録されていないのだと思います。(初回にも同じエラーが出ました)

zabbixのテーブルはきちんと作成されているという認識です。(下記コマンドを参照)
mysql> SHOW TABLES FROM zabbix;
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |
| auditlog |
| auditlog_details |
| autoreg_host |
| conditions |
| config |
| corr_condition |
| corr_condition_group |
| corr_condition_tag |
| corr_condition_tagpair |
| corr_condition_tagvalue |
| corr_operation |
| correlation |
| dashboard |
| dashboard_user |
| dashboard_usrgrp |
| dbversion |
| dchecks |
| dhosts |
| drules |
| dservices |
| escalations |
| event_recovery |
| event_suppress |
| event_tag |
| events |
| expressions |
| functions |
| globalmacro |
| globalvars |
| graph_discovery |
| graph_theme |
| graphs |
| graphs_items |
| group_discovery |
| group_prototype |
| history |
| history_log |
| history_str |
| history_text |
| history_uint |
| host_discovery |
| host_inventory |
| hostmacro |
| hosts |
| hosts_groups |
| hosts_templates |
| housekeeper |
| hstgrp |
| httpstep |
| httpstep_field |
| httpstepitem |
| httptest |
| httptest_field |
| httptestitem |
| icon_map |
| icon_mapping |
| ids |
| images |
| interface |
| interface_discovery |
| item_application_prototype |
| item_condition |
| item_discovery |
| item_preproc |
| items |
| items_applications |
| maintenance_tag |
| maintenances |
| maintenances_groups |
| maintenances_hosts |
| maintenances_windows |
| mappings |
| media |
| media_type |
| opcommand |
| opcommand_grp |
| opcommand_hst |
| opconditions |
| operations |
| opgroup |
| opinventory |
| opmessage |
| opmessage_grp |
| opmessage_usr |
| optemplate |
| problem |
| problem_tag |
| profiles |
| proxy_autoreg_host |
| proxy_dhistory |
| proxy_history |
| regexps |
| rights |
| screen_user |
| screen_usrgrp |
| screens |
| screens_items |
| scripts |
| service_alarms |
| services |
| services_links |
| services_times |
| sessions |
| slides |
| slideshow_user |
| slideshow_usrgrp |
| slideshows |
| sysmap_element_trigger |
| sysmap_element_url |
| sysmap_shape |
| sysmap_url |
| sysmap_user |
| sysmap_usrgrp |
| sysmaps |
| sysmaps_elements |
| sysmaps_link_triggers |
| sysmaps_links |
| tag_filter |
| task |
| task_acknowledge |
| task_check_now |
| task_close_problem |
| task_remote_command |
| task_remote_command_result |
| timeperiods |
| trends |
| trends_uint |
| trigger_depends |
| trigger_discovery |
| trigger_tag |
| triggers |
| users |
| users_groups |
| usrgrp |
| valuemaps |
| widget |
| widget_field |
+----------------------------+

初期データが登録されているのかの確認はどのように行えばよろしいでしょうか?
ご教示いただけると幸いです。

ユーザー TNK の写真

一度データベースを削除して作成しなおしてください。
一応、その状態では、各テーブルが登録されていないことを確認し
ておいてください。
確認できたら、テーブルやデータを登録するときには、

 /usr/share/doc/zabbix-server-mysql*/create.sql.gz

ではなく、

 /usr/share/doc/zabbix-server-mysql-4.0.6/create.sql.gz

と明示的に1つのファイルのみ指定するようにしてみてください。

ユーザー satot の写真

TNK様
解決いたしました。ご対応ありがとうございました。