Zabbix 7.0 LTSのインストール手順(Rocky Linux9+Azure Database for MySQL Flexible Server)
パッケージを利用したZabbix 7.0LTSのインストール手順です。
Rocky Linux 9の仮想マシン(Azure VM)とAzure Database for MySQL フレキシブル サーバーを組み合わせて構築しています。
-
- Zabbixパッケージのインストール
- MySQLクライアントのインストールと設定
- zabbix_server.confの設定
- SELinuxの設定
- 別サーバーのデータベースを利用する場合のエラー対応
- Zabbix Web インターフェイスの設定
- 管理者ユーザーのパスワード変更
公式サイトの手順を参考に、外部データベースを利用するための手順を含めて確認しています。
※本記事内では、Azure Database for MySQL Flexible ServerをAzureDatabase for MySQL フレキシブル サーバーとして表記しています。
※AzureDatabase for MySQL フレキシブル サーバーのバージョンは、8.0を選択しています。
※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※Rocky Linuxは、Rocky Linux release 9.5(Blue Onyx)を利用しています。
※Zabbixは、7.0.10を利用しています。
※ZabbixのWebインターフェイスには、Apacheを利用しています。
※手順の確認はrootユーザーで実施しています。環境に合わせてsudoコマンド利用してください。
- 1. 仮想マシン、Azure Database for MySQL フレキシブル サーバーの準備
- 2. パッケージからZabbixをインストール
- 2.1. Zabbixのリポジトリをインストール
- 2.2. Zabbixのパッケージをインストール
- 2.3. MySQL Clientをインストール
- 2.4. Zabbixユーザーと初期データベース作成
- 2.5. Zabbixの初期データをインポート
- 2.6. zabbix_server.confにデータベースへの接続情報を設定
- 2.7. SELinuxの設定
- 2.8. Zabbix Serverの設定ファイルを確認
- 2.9. Zabbixの起動、自動起動の有効化
- 2.10. Zabbix Serverとデータベース間に接続が失敗している場合のエラー出力内容
- 2.11. 外部データベースとの接続する場合の設定をSELinuxとzabbix_server.confに追加
- 3. Zabbix Web インターフェイスの設定から初期サインインまで
- 4. 最後に
仮想マシン、Azure Database for MySQL フレキシブル サーバーの準備
仮想マシン、Azure Database for MySQL フレキシブル サーバーの設定値
Azure Database for MySQL フレキシブル サーバーのネットワーク設定は、プライベート アクセス(VNET 統合)としています。
仮想マシンとAzure Database for MySQL フレキシブル サーバーは、同じ仮想ネットワーク内に作成して利用しています。
リソース | 項目 | 設定値 |
仮想マシン (Azure VM) |
名前 | vm-zabbix-01 |
IPアドレス | 10.0.1.6 | |
OS | Rocky Linux 9 | |
Azure Database for MySQL フレキシブル サーバー |
名前 | mysql-zabbix-01 (mysql-zabbix-01.mysql.database.azure.com) |
ネットワーク | プライベート アクセス (VNET 統合) |
Zabbix Server用の仮想マシンを準備
Zabbix Serverとして利用する仮想マシンを準備します。
MarketplaceにあるRocky Linux 9 のイメージを利用して作成します。
Rocky Linuxの仮想マシンを作成する手順については、こちらで紹介しています。
データベース用のAzure Database for MySQL フレキシブル サーバーを準備
データベースとして利用する、Azure Database for MySQL フレキシブル サーバーを準備します。
ネットワーク設定はプライベート アクセス(VNET)統合を利用し、ローカルからのアクセスのみに制限しています。
Azure Database for MySQL フレキシブル サーバーの作成手順については、こちらで紹介しています。
パッケージからZabbixをインストール
公式サイトのインストール手順を参考に進めます。
Zabbixのリポジトリをインストール
Zabbixのリポジトリをインストールします。
インストール後はキャッシュをクリアします。
[root@vm-zabbix-01 ~]#
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm |
Zabbixのパッケージをインストール
インストールしたパッケージの一覧です。MySQL用のパッケージを利用しています。
利用するプラットフォームによって、インストールするパッケージが異なります。公式サイトのインストール手順を確認してください。
パッケージ名 | 概要 |
zabbix-server-mysql | Zabbixサーバー(MySQL用) |
zabbix-sql-scripts | Zabbixデータベースの初期設定用のスクリプト |
zabbix-selinux-policy | ZabbixのSELinuxポリシー用パッケージ |
zabbix-web-mysql | Zabbix Web インターフェイス(MySQL用) |
zabbix-web-japanese | Zabbix Web インターフェイスの日本語設定用パッケージ |
zabbix-apache-conf | Zabbix Web インターフェイスのApache設定用パッケージ |
zabbix-agent2 | Zabbix Agent 2のパッケージ |
Zabbixのパッケージをインストールします。
途中の確認メッセージが表示されますが、すべてYesで進めます。
[root@vm-zabbix-01 ~]#
dnf install zabbix-server-mysql zabbix-sql-scripts zabbix-selinux-policy zabbix-web-mysql zabbix-web-japanese zabbix-apache-conf zabbix-agent2 ~中略~ Zabbix Official Repository – x86_64 3.0 MB/s | 3.1 kB 00:00 ~中略~ Complete! |
MySQL Clientをインストール
サーバーからAzure Database for MySQL フレキシブル サーバーに接続するために、MySQL Client をインストールします。
MySQL Yum リポジトリを使用して MySQL を Linux にインストールする
MySQL Community Downloads
[root@vm-zabbix-01 ~]#
dnf localinstall https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm |
リポジトリのバージョン確認方法です。
MySQL Communityリポジトリのバージョン確認 | |
コマンド実行時にはサイトで確認したバージョンを指定します。
|
![]() |
Zabbixユーザーと初期データベース作成
MySQL上でZabbix用のデータベースとユーザーを作成します。
今回はMySQL上に作成したユーザー名はzabbixとしています。
アクセス元はZabbix Server(10.0.1.6)からのみに制限しています。
ユーザー名やデータベース名をzabbixとしていますが任意の値で設定する事が出来ます。
変更した場合は初期スキーマとデータをインポートの指定やzabbix_server.confの設定時に変更を忘れないように注意が必要です。
mysql>
create database zabbix character set utf8mb4 collate utf8mb4_bin; mysql>
create user 'zabbix’@’10.0.1.6’ identified by 'zabbixユーザー(MySQL)のパスワード’; #公式サイトの手順では、log_bin_trust_function_creatorsを有効化しているので設定を確認 #MySQLへのアクセス元IPアドレスを制限しない場合 |
※管理者ユーザー名とパスワードは、Azure Database for MySQL フレキシブル サーバー作成時に設定したものです。
今回は、Azure Database for MySQL フレキシブル サーバー側でも、サーバーパラメーターを修正しています。
サーバーパラメータを修正 | |
サーバーパラメータを修正し保存します。 character_set_server:utf8mb4
|
![]() |
Zabbixの初期データをインポート
Zabbixに関連するテーブルを作成し、データをインポートします。
パスワードは、MySQL上に作成したZabbixユーザーのパスワードを指定します。
[root@vm-zabbix-01 ~]#
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -h mysql-zabbix-01.mysql.database.azure.com –default-character-set=utf8mb4 -uzabbix -p zabbix |
※時間が少しかかります。反応がない状態となりますが、少し待ちます。
zabbix_server.confにデータベースへの接続情報を設定
zabbix_server.confに、データベースへの接続情報を設定します。
86行目あたりから、Zabbix Serverが利用する、データベースへの接続情報の設定があります。
今回は、Azure Database for MySQL フレキシブル サーバーを利用していますので、その内容に合わせて設定します。
[root@vm-zabbix-01 ~]#
vi /etc/zabbix/zabbix_server.conf |
※Azure Database for MySQL フレキシブル サーバーを利用する場合は、DBTLSConnect=requiredの設定も必要になります。
※データベース名や、利用するDBユーザー名を変更した場合は、変更した内容に合わせて設定します。
SELinuxの設定
SELinuxを設定します。
Zabbix Web インターフェースとZabbix Server間の通信を許可します。
今回は、ネットワーク経由でデータベースにアクセスするため、httpd_can_network_connect_dbも許可します。
[root@vm-zabbix-01 ~]#
setsebool -P httpd_can_connect_zabbix on |
※Azure Database for MySQL フレキシブル サーバーを利用する場合は、zabbix_can_networkを有効化する必要があります。
RockyLinux9でのSELinux無効化は、こちらで紹介しています。
SELinux無効化は推奨されませんのでご注意ください。
Zabbix Serverの設定ファイルを確認
zabbix_server.confの記載ミスが無いか確認します。
zabbix_server -T もしくは zabbix_server –test-configで
[root@vm-zabbix-01 ~]#
zabbix_server -T |
※構文のチェックのみです。設定値の記載ミスについては確認できません。
Zabbixの起動、自動起動の有効化
Zabbix ServerやZabbix Agentを起動します。
Zabbix Web インターフェイスで利用するhttpdやphp-fpmも起動します。
自動起動の設定も併せて行います。
[root@vm-zabbix-01 ~]#
systemctl start zabbix-server zabbix-agent2 httpd php-fpm |
Zabbix Serverとデータベース間に接続が失敗している場合のエラー出力内容
Zabbix Serverとデータベース間の接続が失敗している場合には、zabbix_server.logにログが出力されます。
zabbix_server.logにはconnection to database 'zabbix’ failedのログが出力されます。
データベースとの接続に失敗している事が確認できます。
SELinuxの影響で接続に失敗している場合は、audit.logにdeniedにもログが出力されます。
※設定自体は進めることができますが、Zabbixサーバーに起動状態がNoになります。
#Zabbix Serverログ(/var/log/zabbix/zabbix_server.log) #audit.logログ(/var/log/audit/audit.log) |
外部データベースとの接続する場合の設定をSELinuxとzabbix_server.confに追加
Azure Database for MySQLフレキシブル サーバーではrequire_secure_transportがONになっています。
zabbix_server.confにDBTLSConnect=requiredを追加します。
設定は900行目前後にあります。
MySQL encryption configuration
SELinuxでzabbix_can_networkの許可設定を追加します。
#zabbix_server.confにDBTLSConnect=requiredを追加 #zabbix_can_networkの許可を追加 #Zabbix Serverを再起動して設定を反映 |
※Azure Database for MySQLフレキシブル サーバーのサーバーパラメーターをrequire_secure_transportをoffに変更する事でも対応可能です。
—広告—
Zabbix Web インターフェイスの設定から初期サインインまで
Zabbix Web インターフェイスの初期設定
以下のアドレスにアクセスして、Zabbix Web インターフェイスの初期設定を行います。
http://10.0.1.6(Zabbix ServerのIPアドレス)/zabbix
なお、今回の環境の場合のデータベースの設定情報は以下の通りになります。
-
- データベースの設定情報
- データベースタイプ : MySQL
- データベースホスト : mysql-zabbix-01.mysql.database.azure.com
- データベースポート : 3306(もしくは0)
- データベース名 : zabbix
- 資格情報保存先 : プレーンテキスト
- ユーザー : zabbix(MySQLで作成したユーザー)
- パスワード : Zabbixユーザーのパスワード(MySQLで設定したパスワード)
- データベース接続のTLS暗号化 : チェックを入れる
- データベースの設定情報
データベースホストは、接続するAzure Database for MySQLフレキシブル サーバーのサーバー名を指定します。
データベースポートは、MySQLのポート番号を指定します。
ユーザー名とパスワードは、MySQL上で作成したユーザー名とパスワードを指定します。
Azure Database for MySQLフレキシブル サーバーではrequire_secure_transportがONになっています。
データベース接続のTLS暗号化を有効にします。
※コンテナの場合など、Zabbix Web インターフェイスのアドレスが異なる場合があります。
※初回設定時のみ、本画面が表示されます。再度表示したい場合は、/etc/zabbix/web/zabbix.conf.phpを削除します。
初期ユーザーでZabbixへサインイン
初期ユーザーを使って、Zabbixにサインインします。
-
- 初期ユーザー名とパスワード
- ユーザー名 : Admin
- パスワード : zabbix
- 初期ユーザー名とパスワード
※大文字、小文字を認識します。
※5回連続でサインインに失敗すると、30秒間アカウントがロックされサインインできない状態になります。
Zabbixへサインイン | |
初期ユーザー名とパスワードを使ってサインインします。 | ![]() |
サインインすると、Zabbixの初期画面が表示されます。 Zabbixサーバーの起動も"はい"となっていることが確認できます。 |
![]() |
※Zabbix Serverのインストールに失敗している場合は、Zabbixサーバーの起動が"いいえ"になります。
管理者アカウントの初期パスワードを変更
ユーザー設定で、管理者アカウントの初期パスワードを変更します。
管理者アカウントのパスワードを変更 | |
ユーザー設定のプロファイルを選択します。 言語を変更し、更新します。 |
![]() |
![]() |
※パスワード変更を行うと、自動的にサインアウトします。
Zabbix Web インターフェイスを日本語化
ユーザー設定で、Webインターフェイスの表示言語を変更することができます。
Zabbix Web インターフェイスの言語を変更 | |
ユーザー設定のプロファイルを選択します。 言語を変更し、更新します。 |
![]() |
※利用できない言語は、選択できません。
—広告—
最後に
Azure Database for MySQL フレキシブル サーバーを利用したZabbixのインストール手順について確認しました。
SELinuxの設定などに注意が必要でしたが、基本的には公式サイトの手順を参考に進めることができました。
マネージドデータベースを利用することで、データベースのバックアップなどの作業が自動化されるため、便利だと感じました。
引き続き、いろいろ試してみたいと思います。
Zabbixのアクションのメール送信でSendGridを使う方法は、こちらで紹介しています。
Zabbixを利用したAzureのリソース監視設定方法ついては、こちらで紹介しています。
Zabbixをソースからインストールする手順については、こちらで紹介しています。