You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

1 データベースの作成

概要

Zabbixサーバーまたはプロキシのインストール時に、Zabbixデータベースを作成する必要があります。

このセクションでは、Zabbixデータベースの作成手順を説明します。 サポートされている各データベースごとに、個別の手順が用意されています。

最小限の権限を持つデータベースロール/ユーザーを作成してデータベースのセキュリティを向上させるには、各サポートデータベースのデータベース作成ベストプラクティスを参照してください:

安全なTLS接続の設定については、データベースへの安全な接続を参照してください。

Zabbixがサポートする唯一のエンコーディングはUTF-8です。 これは、セキュリティ上の欠陥なく動作することが知られています。 他のエンコーディングを使用する場合、既知のセキュリティ問題があることに注意してください。 UTF-8への切り替えについては、Zabbixデータベースの文字セットと照合順序の修復を参照してください。 また、utf8mb4照合順序によるフィルタリングの制限も参照してください。

Zabbix Gitリポジトリからインストールする場合は、次の手順に進む前に以下のコマンドを実行する必要があります。

make dbschema

MySQL/MariaDB

Zabbixサーバー/プロキシがMySQLデータベースで正しく動作するためには、utf8(別名utf8mb3)およびutf8mb4の文字セット(それぞれutf8_binおよびutf8mb4_binの照合順序)がサポートされています。新規インストールにはutf8mb4の使用を推奨します。

スキーマのインポート時に決定的なトリガーを作成する必要があります。MySQLおよびMariaDBでは、バイナリログが有効になっていて、スーパーユーザー権限がなく、MySQLの設定ファイルでlog_bin_trust_function_creators = 1が設定されていない場合、GLOBAL log_bin_trust_function_creators = 1を設定する必要があります。

Zabbixをパッケージからインストールする場合は、ご利用のプラットフォームの手順に従ってください。

Zabbixをソースからインストールする場合:

  • データベースとユーザーを作成し、設定します。
mysql -uroot -p<password>
       
       mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
       mysql> create user 'zabbix'@'localhost' identified by '<password>';
       mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
       mysql> SET GLOBAL log_bin_trust_function_creators = 1;
       mysql> quit;
  • データベースにデータをインポートし、デフォルトの文字セットとしてutf8mb4を設定します。Zabbixプロキシのデータベースの場合は、schema.sqlのみをインポートしてください(images.sqlやdata.sqlは不要です)。
cd database/mysql
       mysql -uzabbix -p<password> zabbix < schema.sql
       # Zabbixプロキシ用のデータベースを作成する場合はここで終了
       mysql -uzabbix -p<password> zabbix < images.sql
       mysql -uzabbix -p<password> --default-character-set=utf8mb4 zabbix < data.sql

スキーマのインポートが正常に完了した後は、log_bin_trust_function_creatorsを無効にできます。

mysql -uroot -p<password>
       
       mysql> SET GLOBAL log_bin_trust_function_creators = 0;
       mysql> quit;

PostgreSQL

データベースオブジェクトを作成する権限を持つデータベースユーザーが必要です。

Zabbix パッケージからインストールする場合は、ご利用のプラットフォームの手順に従ってください。

Zabbixをソースからインストールする場合:

  • データベースユーザーを作成します。

次のシェルコマンドは、ユーザーzabbixを作成します。プロンプトが表示されたらパスワードを指定し、パスワードを再入力してください(最初にsudoのパスワードを求められる場合があります)。

sudo -u postgres createuser --pwprompt zabbix
  • データベースを作成します。

次のシェルコマンドは、先ほど作成したユーザーを所有者(-O zabbix)として、データベースzabbix(最後のパラメータ)を作成します。

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
  • 初期スキーマとデータをインポートします(Zabbixソースのルートディレクトリにいることを前提としています)。Zabbixプロキシデータベースの場合は、schema.sqlのみをインポートしてください(images.sqlやdata.sqlは不要です)。
cd database/postgresql
       cat schema.sql | sudo -u zabbix psql zabbix
       # Zabbixプロキシ用のデータベースを作成する場合はここで終了
       cat images.sql | sudo -u zabbix psql zabbix
       cat data.sql | sudo -u zabbix psql zabbix

上記のコマンドは、ほとんどのGNU/Linuxインストールで動作する例として提供されています。 システムやデータベースの設定によっては、異なるコマンドを使用することもできます。例:

psql -U <username>

データベースのセットアップに問題がある場合は、データベース管理者にご相談ください。

TimescaleDB

TimescaleDBの作成と設定の手順は、別のセクションに記載されています。

SQLite

ZabbixプロキシでのみSQLiteの使用がサポートされています!

データベースは存在しない場合、自動的に作成されます。

インストールセクションに戻る。