Zabbixプロキシの構築からプロキシグループを利用したHA設定までの手順(7.0LTS)

Azure,Others,Virtual Machines,Zabbix

パッケージを利用したZabbixプロキシのインストール手順です。
Zabbixプロキシのインストールから、Zabbixサーバーでのプロキシ設定手順までを確認しています。
またプロキシグループを利用した、ZabbixプロキシのHA設定手順についても確認しています。

※Zabbixプロキシは、Rocky Linux 9の仮想マシン(Azure VM)に構築しています。
※Rocky Linuxは、Rocky Linux release 9.5(Blue Onyx)を利用しています。
※Zabbixのバージョンは、バージョンは7.0LTS(7.0.12)を利用しています。
※Zabbixプロキシのデータベースは、SQLite3を利用してます。
※手順の確認はrootユーザーで実施しています。環境に合わせてsudoコマンド利用してください。

スポンサーリンク

利用したZabbixサーバーやZabbixプロキシの設定

Zabbixプロキシに準備した仮想マシン

Zabbixプロキシ仮想マシンを2台準備しています。

リソース 項目 設定値
仮想マシン
(Azure VM)
(zabbix proxy 01)
ホスト名 vm-zabbix-proxy-01
IPアドレス 10.0.1.8
OS Rocky Linux 9
仮想マシン(2)
(Azure VM)
(zabbix proxy 02)
ホスト名 vm-zabbix-proxy-02
IPアドレス 10.0.1.9
OS Rocky Linux 9

Zabbixプロキシの設定値

今回は2台のZabbixプロキシを準備して、プロキシグループを構成しています。
Zabbixプロキシには、アクティブプロキシとパッシブプロキシがあります。
今回は、アクティブプロキシで構成しています。

    • アクティブプロキシ
      ZabbixプロキシからZabbixサーバーに接続し、収集したデータを送信する
    • パッシブプロキシ
      ZabbixサーバーがZabbixプロキシに接続して、データを取得する

監視設定は、アクティブプロキシ、パッシブプロキシどちらの場合でも定期的に同期されます。
Zabbixプロキシからの監視データの送信/取得間隔や監視設定の同期間隔についてはパラメータが用意されています。
zabbix_proxy.conf(アクティブプロキシ)やzabbix_server.conf(パッシブプロキシ)で設定するできます。

Zabbixプロキシ

項目 設定値
ホスト名
(zabbix_proxy.confで設定したホスト名)
zabbix proxy 01
zabbix proxy 02
プロキシモード アクティブモード
サーバー
(Zabbixサーバーのアドレス)
10.0.1.6
10.0.1.7
データベース SQLite3
データベースのパス /var/lib/zabbix/zabbix_proxy.db

利用したZabbixサーバー

事前に準備したZabbixサーバーを利用しています。
Zabbixサーバーの構築手順については、こちらで紹介しています。

パッケージからZabbixプロキシをインストール

公式サイトのインストール手順を参考に進めます。

Zabbixパッケージインストール

インストール手順の確認方法
インストールする、Zabbixのバージョン、OSのディストリビューションやバージョン、Zabbixのコンポーネント、データベースを選択します。
インストール手順が表示されます。
Zabbixの公式サイトでインストール手順を確認

Zabbixのリポジトリをインストール

Zabbixのリポジトリをインストールします。
インストール後はキャッシュをクリアします。

[root@vm-zabbix-proxy-01 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
[root@vm-zabbix-proxy-01 ~]# dnf clean all
25 files removed

Zabbixプロキシのパッケージをインストール

インストールしたパッケージの一覧です。
利用するプラットフォームやデータベースによって、インストールするパッケージが異なります。
公式サイトのインストール手順を確認してください。

パッケージ名 概要 
zabbix-proxy-sqlite3 Zabbixプロキシ(SQLite3)
zabbix-selinux-policy ZabbixのSELinuxポリシー

※今回の手順ではzabbix-selinux-policyは使用していませんが、公式サイトの手順に記載に沿ってパッケージをインストールしています。

Zabbixのパッケージをインストールします。
途中の確認メッセージが表示されますが、すべてYesで進めます。

[root@vm-zabbix-proxy-01 ~]# dnf install zabbix-proxy-sqlite3 zabbix-selinux-policy
========================
Package Arch Version Repository Size
========================
Installing:
zabbix-proxy-sqlite3 x86_64 7.0.12-release1.el9 zabbix 1.7 M
zabbix-selinux-policy x86_64 7.0.12-release1.el9 zabbix 301 k
Installing dependencies:
OpenIPMI-libs x86_64 2.0.36-1.el9 appstream 509 k
fping x86_64 5.1-1.el9 zabbix-non-supported 35 k
libtool-ltdl x86_64 2.4.6-46.el9 appstream 35 k
net-snmp-libs x86_64 1:5.9.1-17.el9 appstream 740 k
unixODBC x86_64 2.3.9-4.el9 appstream 458 k

Transaction Summary
========================
Install 7 Packages

~中略~

Zabbix Official Repository – x86_64 3.0 MB/s | 3.1 kB 00:00
Importing GPG key 0xXXXXXXXX:
Userid : “Zabbix LLC (Apr 2024) <packager@zabbix.com>"
Fingerprint: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-XXXXXXXX
Is this ok [y/N]: y
Key imported successfully
Zabbix Official Repository (non-supported) – x8 3.0 MB/s | 3.1 kB 00:00
Importing GPG key 0xXXXXXXXX:
Userid : “Zabbix LLC (Jul 2022) <packager@zabbix.com>"
Fingerprint: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-XXXXXXXX
Is this ok [y/N]: y
Key imported successfully

~中略~

Complete!

SQLite3(データベース)のディレクトリ作成

SQLite3のデータベースファイルを配置するディレクトリを作成します。
SQLite3を利用する場合、データベースは自動生成されます。

[root@vm-zabbix-proxy-01 ~]# mkdir -p /var/lib/zabbix
[root@vm-zabbix-proxy-01 ~]# chown zabbix:zabbix /var/lib/zabbix

zabbix_proxy.confを設定

zabbix_proxy.confを設定します。
Zabbixプロキシのモード、ホスト名、バッファモード、データベースの保存場所を設定します。
今回はアクティブモードで設定しています。

[root@vm-zabbix-proxy-01 ~]# vi /etc/zabbix/zabbix_proxy.conf

ProxyMode=0
Server=10.0.1.6;10.0.1.7

Hostname=zabbix proxy 01
ProxyBufferMode=hybrid
DBName=/var/lib/zabbix/zabbix_proxy.db

# パッシブプロキシの場合
ProxyMode=1
Server=10.0.1.12,10.0.1.13

パッケージからインストールした場合、zabbix_proxy.confのProxyBufferModeのデフォルト値はhybridです。
アクティブモードとプロキシモードでは、Serverの意味が異なります。
パラメータの詳細は公式サイトの記述を参照ください。

Zabbixプロキシ

※2号機の場合は、Hostname=zabbix proxy 02となります。

SELinuxの設定

SELinuxを設定します。

[root@vm-zabbix-proxy-01 ~]# chcon -t zabbix_var_lib_t /var/lib/zabbix

RockyLinux9でのSELinux無効化は、こちらで紹介しています。
SELinux無効化は推奨されませんのでご注意ください。

Zabbixプロキシの起動、自動起動の有効化

Zabbixプロキシを起動します。
自動起動の設定も併せて行います。

[root@vm-zabbix-proxy-01 ~]# systemctl start zabbix-proxy
[root@vm-zabbix-proxy-01 ~]# systemctl enable zabbix-proxy
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-proxy.service → /usr/lib/systemd/system/zabbix-proxy.service.

—広告—

Zabbixプロキシの追加からプロキシグループを利用したHA構成までの手順

Zabbixプロキシの追加手順

Zabbixをプロキシを利用することで、分散しているシステムなどの監視を一元的に管理することができます。
Zabbixプロキシで監視データをバッファリングして保存しておくことができるため、ネットワーク障害にも対応できます。
また、Zabbixサーバーの負荷を下げるためにも利用されます。

プロキシ

プロキシの追加手順
管理のメニューにあるプロキシを選択します。
プロキシの作成を選択します。
プロキシの設定箇所(Zabbixプロキシの設定手順)

プロキシ名、プロキシモードを選択します。
プロキシのアドレスは、受信許可するZabbixプロキシのIPアドレスを制限する場合に設定します。
追加完了すると、プロキシの一覧に表示されます。

※プロキシ名は、zabbix_proxy.confで設定したHostnameと合わせます。

新規プロキシを追加(Zabbixプロキシの設定手順)
プロキシ追加後の一覧画面(Zabbixプロキシの設定手順)

2号機も同様に追加します。
1号機、2号機共にオンラインになっていることを確認できます。

※状態がオンラインにならない場合は、設定を見直します。

新規プロキシを追加(Zabbixプロキシの設定手順)
プロキシ追加後の一覧画面(Zabbixプロキシの設定手順)

プロキシグループの作成手順

プロキシグループを使って、複数のZabbixプロキシをグループ管理できます。
プロキシグループ内のZabbixプロキシ間で、監視処理を自動で負荷分散させることができます。

プロキシの負荷分散と高可用性

プロキシグループの作成手順
管理のメニューにあるプロキシグループを選択します。
プロキシグループの作成を選択します。
プロキシグループの設定箇所(Zabbixプロキシの設定手順)
プロキシグループ名、フェイルオーバーの期間を設定します。
最小のプロキシ数は、プロキシグループをオンラインにするために必要なプロキシ数を指定します。
追加したプロキシグループが、一覧に表示されます。
新規プロキシグループの追加画面(Zabbixプロキシの設定手順)
プロキシグループ追加後の一覧画面(Zabbixプロキシの設定手順)

プロキシグループにZabbixプロキシを追加する手順

Zabbixプロキシをプロキシグループに追加します。
プロキシグループを選択すると、プロキシの設定にアクティブエージェントのアドレスという設定項目が追加されます。

プロキシグループにプロキシを追加
プロキシの設定で、プロキシグループを追加します。
アクティブエージェントのアドレスには、ZabbixプロキシのIPアドレスを指定します。
プロキシ設定画面でプロキシグループを追加(Zabbixプロキシの設定手順)
プロキシ設定画面でプロキシグループを追加(Zabbixプロキシの設定手順)
プロキシグループがオンラインになっていることを確認できます。 プロキシグループの一覧画面(Zabbixプロキシの設定手順)
プロキシの名前にプロキシグループ名が表示されていることが確認できます。 プロキシの一覧画面(Zabbixプロキシの設定手順)

プロキシグループでホストを監視する場合の設定

プロキシグループを利用して、ホストを監視します。
どこからホスト監視するのかは、監視するもの項目で設定します。
サーバー、プロキシ、プロキシグループから設定します。
プロキシグループを選択した場合は、プロキシグループ内のプロキシが自動的に割り当てされます。
プロキシが停止した場合は、プロキシグループ内の別プロキシが処理を引き継ぎます。

プロキシグループでホストを監視
監視するものでプロキシグループを選択します。
自動的にプロキシグループ内のプロキシが割り当てられます。
プロキシグループで監視する場合のホスト設定画面(Zabbixプロキシの設定手順)
プロキシグループの画面で監視対象のホストを確認(Zabbixプロキシの設定手順)
プロキシ2号機をオンラインにします。
ホストは自動的に1号機に引き継がれています。
プロキシグループがオフラインになった場合の、ホストがフェイルオーバーする動作を確認(Zabbixプロキシの設定手順)

パッシブプロキシの場合の設定画面

パッシブプロキシの場合の設定画面例です。
パッシブプロキシの場合は、インターフェイスの設定が必要になります。
インターフェイスにはZabbixプロキシのIPアドレスを設定します。

パッシブプロキシの場合の設定画面
パッシブプロキシの場合は、インターフェイスの設定項目が表示されます。
インターフェイスにはZabbixサーバーからZabbixプロキシに接続するためのアドレスを設定します。
パッシブプロキシも、プロキシグループに追加して利用することができます。
パッシブプロキシの場合のプロキシ設定画面(Zabbixプロキシの設定手順)
パッシブプロキシの場合のプロキシ設定画面(プロキシグループを指定する場合)(Zabbixプロキシの設定手順)

—広告—

最後に

Zabbixプロキシのインストールから、Zabbixサーバーでの追加設定までの手順を確認しました。
プロキシグループの設定手順についても確認しています。
SELinuxの設定などに注意が必要でしたが、基本的には公式サイトの手順を参考に進めることができました。
引き続き、いろいろ試してみたいと思います。

ZabbixサーバーのHAクラスター構成手順については、こちらで紹介しています。

Zabbix エージェントのインストール手順やホストの追加手順については、こちらで紹介しています。

Zabbixのアクションのメール送信でSendGridを使う方法は、こちらで紹介しています。

Zabbixを利用したAzureのリソース監視設定方法ついては、こちらで紹介しています。

Zabbixをソースからインストールする手順については、こちらで紹介しています。

スポンサーリンク