初めましてsatotです。zabbix初心者なので質問させてください。
初回ログイン時のDBconfig入力の際に、Cannot connect to the database.というエラーが出ます。
そもそも、ここで入力するDBのホスト名やポート、DB名は何を入力すればよろしいでしょうか?
どのコマンドで出た情報を入力すればいいか教えていただけると幸いです。
ざっくりとした質問で申し訳ございません。
出来るだけ早い返信をいただけると幸いです。
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;で出てきたユーザー)
TNK - 投稿数: 4720
まず、質問頂く際には、どのような環境を使用されているのかをお
教えください。
例えば、以下のような項目です。
・Zabbixサーバーを構築しているOSと詳細なバージョン
・Zabbixの詳細なバージョン
・使用されているデータベース(MySQL、PostgreSQLなど)
今回は特にデータベースには何を使用されていますか?
バージョンは何ですか?
Zabbix用のデータベース、テーブル、初期データなどは登録しまし
たか?
どこの情報を参考されたのかわかりませんが、Zabbixサーバーをイ
ンストールする手順の中に、Zabbix用のデータベースの構築の手順
が記載されていたはずです。
そこで構築したデータベースに接続するための情報を入力してくだ
さい。
satot - 投稿数: 21
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 - 投稿数: 4720
mysqlコマンドのバージョンは不要です。
使用しているDBMSのバージョンをお教えください。
すでに初期データが登録済みのデータベースに再度同じ情報を登録
しようとされたのではありませんか?
何をされたいのかが全く分かりません。
先のmysqlコマンドの実行時に、「-h xxx.mysql.database.azure.com」
と指定されていたのですから、DBMSは「xxx.mysql.database.azure.com」
で動いているのですよね?
それならば、そのFQDNをデータベースサーバーのホストとして登録
してください。
ご確認ください。
satot - 投稿数: 21
DBMSのバージョン:5.7
Database hostについてはそもそもどのような情報を入れれば良いか分からなかったので聞きました。
以上、よろしくお願いします。
satot - 投稿数: 21
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 - 投稿数: 4720
Azureのデータベースの設定でSSLを使用しないように設定変更して
みてください。
satot - 投稿数: 21
TNK様
SSL使用しない設定にし、ログインを試みたところ
Unable to select configuration.
という別のエラーが出ました。
TNK - 投稿数: 4720
エラーメッセージだけではなく、どの画面でどこにどのようなメッ
セージが表示されたのか詳細にお伝えください。
Webインターフェースでデータベースの設定後の接続試行時のエラー
であれば、Zabbix用のデータベースが正常に作成されていない可能
性が考えられます。
Zabbix用のデータベースにmysqlコマンドなどを使用して、Zabbix
用のテーブルが作成されているか、初期データが登録されているか
を再度確認しなおしてください。
satot - 投稿数: 21
初回設定時の
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 - 投稿数: 4720
一度データベースを削除して作成しなおしてください。
一応、その状態では、各テーブルが登録されていないことを確認し
ておいてください。
確認できたら、テーブルやデータを登録するときには、
/usr/share/doc/zabbix-server-mysql*/create.sql.gz
ではなく、
/usr/share/doc/zabbix-server-mysql-4.0.6/create.sql.gz
と明示的に1つのファイルのみ指定するようにしてみてください。
satot - 投稿数: 21
TNK様
解決いたしました。ご対応ありがとうございました。