ZABBIX 5.4 Zabbix Proxyインストール/設定

Zabbix Proxyとは

Zabbix ProxyはGUIを持たない子Zabbix Serverです。
Zabbix Serverから直接アクセス出来ない(Zabbix Serverにアクセス出来ない)監視対象からProxyが代理で情報を収集して、親Zabbix Serverに送ります。
クローズドな環境に有るサーバーを外から監視する際に利用します。

パッシブ/アクティブ両方のモードで動作するので、Proxy自体がZabbix Serverからアクセス出来る必要は必ずしも有りません。

インストール

ProxyをServerと同じメジャーバージョンに合わせる必要が有ります。
CentOS 7 Zabbix 5.4を例に説明します。

レポジトリ インストール

sudo rpm -ivh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm

レポジトリをインストールします。

Proxyインストール

sudo yum install zabbix-proxy-mysql-5.4.3-1.el7.x86_64

今回は5.4.3にバージョンを指定してインストールしています。
利用するDBによってパッケージが異なります。
https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/

DBユーザ作成

DB要件は該当するZabbix Serverと同じです。
https://www.zabbix.com/documentation/5.4/en/manual/installation/requirements

sudo mysql -uroot -p
password
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by ‘password’;
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
mysql> quit;

スキーマ インポート

通常は/usr/share/doc/zabbix-proxy-mysql*/schema.sql.gzを利用しますが、Proxy 5.4をyumでインストールすると何故かスキーマが有りません。
それでソースコードからスキーマを取り出して利用します。
Proxy用にスキーマが有るわけではなく、Server用を利用します。

wget https://cdn.zabbix.com/zabbix/sources/stable/5.4/zabbix-5.4.3.tar.gz
tar -xvzf zabbix-5.4.3.tar.gz
cd zabbix-5.4.3/database/mysql
sudo mysql -uzabbix -pzabbix zabbix_proxy < schema.sql

Zabbix Proxy設定

sudo vi /etc/zabbix/zabbix_proxy.conf
.
ProxyMode=0
Server=40.81.xxx.yyy
Hostname=prodjp-moma-z
DBPassword=password
ConfigFrequency=60
.
sudo systemctl start zabbix-proxy
sudo systemctl enable zabbix-proxy

ProxyMode=0 active mode
ProxyMode=1 passive mode
※Proxyを外向き/内向き通信のどちらで運用するかでModeを変える
Server= Zabbix Serverのアドレスを設定する

Zabbix ServerにProxyを設定する

プロキシ名はconfのHostnameに合わせる
モードをアクティブ/パッシブから選択する
プロキシのアドレスを設定する
※Server-Proxy間の通信を暗号化する場合は暗号化タブから設定する

Proxyの監視するホストを設定する

通常のホスト追加と同様にホストを追加し、ローカルアドレスを設定します。
“プロキシによる監視”からプロキシを選択します。

テンプレートをアサインして、ホスト一覧からエージェントステータスがグリーンになっている事を確認します。
最新データでデータが入って来ている事を確認します。

ステータスがグリーンにならない場合

MariaDB [zabbix_proxy]> select * from hosts;

DB zabbix_proxyのテーブルhostsに、監視対象の情報が有るか確認します。
ない場合、ProxyがZabbix Serverと通信出来ていない事を意味します。
次にProxyが監視対象と通信出来ているか、Proxyからpingやtelnet, zabbix-getなどを使って確認します。

まとめ

サーバが複数拠点に存在する場合、拠点毎にZabbix Serverを建てて管理するよりもProxyを建てて集中管理する方がスマートです。
1つのGUIから複数拠点の監視を行えます。
インストールや設定は難しくないので活用してほしいです。

TwitterFacebookLinkedInHatenaPocketCopy Link