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のアクションのメール送信でSendGridを使う方法は、こちらで紹介しています。

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

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

スポンサーリンク