ZabbixサーバーのHAクラスター構成手順(7.0 LTS)
ZabbixサーバーのHAクラスター構成手順です。
Zabbixサーバーの準備、HAクラスターの構成、Webインターフェイスの設定、Zabbixエージェントの設定などの手順を確認しています。
HAクラスターのステータス確認方法も紹介しています。
Rocky Linux 9の仮想マシン(Azure VM)とAzure Database for MySQL フレキシブル サーバーを組み合わせて構築した、Zabbixサーバーを利用してます。
※Zabbixのバージョンは、7.0.11を利用しています。
※パッケージでインストールしたZabbixサーバーを利用して、手順を確認しています。
※Rocky Linuxは、Rocky Linux release 9.5(Blue Onyx)を利用しています。
※Azure Database for MySQL フレキシブル サーバーのバージョンは、8.0を利用しています。
※本記事内では、Azure Database for MySQL Flexible ServerをAzureDatabase for MySQL フレキシブル サーバーとして表記しています。
※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※手順の確認はrootユーザーで実施しています。環境に合わせてsudoコマンド利用してください。
- 1. HAクラスターを構成するZabbixサーバーの準備
- 2. ZabbixサーバーのHAクラスター構成手順
- 2.1. zabbix_server.confでHAノード名やノードのアドレスを設定
- 2.2. HAクラスター構成に合わせてWeb インターフェイスの設定を修正
- 2.3. HAクラスターを有効化してステータスを確認
- 2.4. HAクラスターの設定状況やステータスはシステム情報で確認
- 2.5. Webインターフェイスは1号機、2号機共に利用できる
- 2.6. アクティブなノードを切り替え
- 2.7. システム情報でアクティブなノードを確認
- 2.8. Zabbix エージェントの状態がエラーになる
- 2.9. Zabbixエージェントの設定ファイルを修正
- 2.10. ホスト設定を修正
- 2.11. 修正後のZabbixエージェント状態を確認
- 2.12. Zabbix Serverが停止している場合のステータス
- 3. 最後に
HAクラスターを構成するZabbixサーバーの準備
仮想マシン、Azure Database for MySQL フレキシブル サーバーの設定値
HAクラスターを構成するZabbixサーバーを2台準備しています。
データベースには、Azure Database for MySQL フレキシブル サーバーを利用しています。
リソース | 項目 | 設定値 |
仮想マシン(1) | 名前 | vm-zabbix-01 |
IPアドレス | 10.0.1.6 | |
OS | Rocky Linux 9 | |
仮想マシン(2) | 名前 | vm-zabbix-02 |
IPアドレス | 10.0.1.7 | |
OS | Rocky Linux 9 | |
Azure Database for MySQL フレキシブル サーバー |
名前 | mysql-zabbix-01 (mysql-zabbix-01.mysql.database.azure.com) |
ネットワーク | プライベート アクセス (VNET 統合) |
※仮想マシンとAzure Database for MySQL フレキシブル サーバーは、同じ仮想ネットワーク内に作成して利用しています。
HAクラスターを構成するZabbixサーバーを準備
HAクラスターを構成するZabbixサーバーを準備します。
Zabbixサーバーのインストール手順については、こちらで紹介しています。
Zabbixサーバー 2号機では初期データベースの作成は必要ありません
HA構成では、1つのデータベースを共有して利用します。
そのため、2号機では初期データベース作成手順は不要です。
ただし、2号機からデータベースに接続するためのデータベースユーザーは必要です。
権限を割り当てるデータベースの設定は、1号機と同じにする必要があります。
[root@vm-zabbix-02 ~]#
mysql -h mysql-zabbix-01.mysql.database.azure.com -u 管理者ユーザー名 -p mysql>
create user 'zabbix’@’10.0.1.7’ identified by 'zabbixユーザー(MySQL)のパスワード’; |
Zabbixサーバー 2号機でもZabbix Web インターフェイスの設定は必要
2号機でも、Zabbix Webインターフェイスの初期設定が必要です。
Zabbix Webインターフェイスで利用するhttpdやphp-fpmを起動します。
安全に作業を行うために、Zabbixサーバーは停止しておきます。
[root@vm-zabbix-02 ~]#
systemctl start httpd php-fpm |
Zabbix Web インターフェイス起動後、初期設定を行います。
http://10.0.1.7(Zabbixサーバー2号機IPアドレス)/zabbix
設定内容は1号機と同様になります。
—広告—
ZabbixサーバーのHAクラスター構成手順
Zabbixの公式サイトを参考にして、HAクラスター構成の手順を確認します。
ZabbixサーバーのHAクラスター構成はアクティブ/スタンバイ構成となります。
zabbix_server.confでHAノード名やノードのアドレスを設定
zabbix_server.confファイルで、HANodeNameとNodeAddressを設定します。
HANodeNameは、HA構成を行うサーバー内で一意である必要があります。
今回は1号機をzabbix01、2号機をzabbix02としています。
NodeAddressは、Zabbix Webインターフェイスが Zabbix Server にアクセスする際に使用されます。
NodeAddressには、Zabbix Server 自身の IP アドレスを指定します。
# Zabbix Server 1号機でHAの設定 HANodeName=zabbix01 # Zabbix Server 2号機でHAの設定 HANodeName=zabbix02 |
※NodeAddressはIPアドレスではなく、名前解決できるホスト名でも問題ありません。今回の場合であれば、vm-zabbix-01、vm-zabbix-02という設定でも問題ありません。
HAクラスター構成に合わせてWeb インターフェイスの設定を修正
Zabbixサーバーのアドレスはデータベースから取得されます。
そのため、Webインターフェイスの設定からZabbixサーバーの値をコメントアウトする必要があります。
通常は空白の状態ですが、値が設定されている場合はコメントアウトします。
# Zabbix Server 1号機のWebインターフェイス設定を確認 # Zabbix Server 2号機のWebインターフェイス設定を確認 |
※設定ファイルを修正した場合は、httpdとphp-fpmを再起動します。
HAクラスターを有効化してステータスを確認
Zabbixサーバーを再起動して設定を反映します。
HAクラスターのステータスを確認する場合は、zabbix_server -R ha_statusコマンドを利用します。
# Zabbix Server 1号機を再起動して設定を反映 # Zabbix Server 1号機でHAのステータスを確認 # Zabbix Server 2号機のZabbix Serverを起動 # Zabbix Server 1号機でHAのステータスを確認 |
※zabbix_server -R ha_statusコマンドは、アクティブなノードのみで実行できます。
※2号機のZabbixサーバーの自動起動設定も、systemctl enable zabbix-serverで有効化します。
HAクラスターの設定状況やステータスはシステム情報で確認
HAクラスター設定の有効/無効やステータスは、システム情報から確認できます。
HAクラスターは2台だけではなく、3台以上でも構成可能です。
その場合でもアクティブなZabbixサーバーは1台だけになります。
HAクラスターのステータスを確認 | |
システム情報にHAクラスターの項目があります。 HAクラスターの有効/無効や、アクティブなノードを確認できます。 |
![]() |
Webインターフェイスは1号機、2号機共に利用できる
Webインターフェイスは1号機、2号機ともに利用できます。
Webインターフェイスを確認 | |
Webインターフェイスは1号機、2号機共に利用できます。 | ![]() |
![]() |
アクティブなノードを切り替え
アクティブなノードを手動で切り替えることはできません。
Zabbix Serverを再起動してノードを切り替えます。
アクティブなノードが2号機に切り替わっていることが確認できます。
# 1号機でZabbix Serverを再起動 # Zabbix Server 1号機でHAのステータスを確認 # Zabbix Server 2号機でHAのステータスを確認 |
※zabbix_server -R ha_statusコマンドは、アクティブなノードのみで実行できます。
システム情報でアクティブなノードを確認
システム情報で、アクティブなノードを確認します。
アクティブなノードをシステム情報で確認 | |
2号機がアクティブになっていることが確認できます。 | ![]() |
Zabbix エージェントの状態がエラーになる
デフォルトでは、Zabbixエージェントの設定はローカルアドレス(127.0.0.1)を参照するようになっています。
HAクラスターを構成に変更した場合、Zabbixエージェントの状態がエラーとなります。
Zabbixエージェントの状態 | |
エージェントの状態がエラーに変わっています。 | ![]() |
Zabbixエージェントの設定ファイルを修正
Zabbixエージェントの設定ファイルを修正します。
Serverでは、パッシブ通信を受け入れるZabbixのアドレスを指定します。
ServerActiveでは、アクティブ通信の送信先となるZabbixサーバーのアドレスを指定します。
いずれも、HAノードを構成するすべてのZabbixサーバーのアドレスを指定します。
併せて、ホスト名も修正しています。
# Zabbix Server 1号機のzabbix_agent2.confの設定を修正 # Zabbix Server 1号機のZabbix Agentを再起動 |
※Zabbix Agent 2を利用の場合です。Zabbix Agentを利用の場合は、zabbix_agent.confになります。
※今回は、Zabbixサーバー1号機のZabbix Agentの設定を修正し、確認しています。
※同様に、Zabbixサーバー2号機のZabbix Agentも設定します。Hostnameは2号機に合せて設定とします。
ホスト設定を修正
ホスト設定を修正します。
ホスト名をZabbix Agentで設定したホスト名に修正します。
インターフェイスのIPアドレスを自身のIPアドレスに変更します。
ホスト設定を修正 | |
Zabbix serverのホスト設定を修正します。 今回は初期登録されていたZabbix serverの設定を修正しています。 |
![]() |
※今回は、Zabbixサーバー1号機の設定を修正し、確認しています。
※同様に、Zabbixサーバー2号機のホスト設定を追加します。
修正後のZabbixエージェント状態を確認
Zabbixエージェントの設定を修正した後の状態を確認します。
修正により、エラーが解消されていることを確認できます。
Zabbixエージェントの状態を確認 | |
エージェントの状態がグリーンになっていることが確認できます。 | ![]() |
Zabbix Serverが停止している場合のステータス
Zabbixサーバーが停止している場合は、ステータスはstoppedになります。
# 2号機のZabbix Serverを停止した状態でHAの状態を確認 |
—広告—
最後に
ZabbixサーバーのHAクラスター構成手順について確認しました。
非常に簡単にHAクラスター構成が組めることが分かりました。
引き続き、いろいろ試してみたいと思います。
Zabbixを利用したAzureのリソース監視設定方法ついては、こちらで紹介しています。
Zabbixをソースからインストールする手順については、こちらで紹介しています。
Zabbixのアクションのメール送信でSendGridを使う方法は、こちらで紹介しています。