Zabbix Agentsを追加する。
以前にZabbixのインストールは行ったが(下リンク)、
今回は新たにUbuntuにAgentsをインストールし、Zabbixに登録する作業まで行う。
環境
- Zabbix Server: Zabbix 5.0.6.
- OS:Ubuntu 20.04.1 LTS
Zabbix Agentsのインストールと設定
リポジトリの追加
Zabbixの公式サイトにアクセス。
https://www.zabbix.com/download
サイトにアクセスすると、下のようなページにアクセスできる。(2021/01/08時点)
インストールしたいバージョンを選択する。
するとステップ2にインストールコマンドが表示される。
リポジトリのインストールについて表示されるのでそのとおりに入力する。
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
# dpkg -i zabbix-release_5.0-1+focal_all.deb
# apt update
これでリポジトリが追加された。
Ubuntuの場合は/etc/apt/sources.list
にリポジトリが追加される。
確認してみるとzabbix.list
が追加されている。
zabbix.listの中身を見てみると
下のような内容になっている。
deb http://repo.zabbix.com/zabbix/5.0/ubuntu focal main
deb-src http://repo.zabbix.com/zabbix/5.0/ubuntu focal main
deb・・・バイナリとプリコンパイルされたパッケージ
deb-src・・・ソースが含まれたパッケージ
focal・・・Ubuntuのバージョンのコードネーム
main・・・リポジトリのコンポーネント
Zabbix Agentsのインストール
# apt install zabbix-agent
インストールされた後の確認
# zabbix_agentd -V
zabbix_agentd (daemon) (Zabbix) 5.0.7
Revision 1b3db7f980 21 December 2020, compilation time: Dec 21 2020 07:23:40
Copyright (C) 2020 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).
Compiled with OpenSSL 1.1.1f 31 Mar 2020
Running with OpenSSL 1.1.1f 31 Mar 2020
設定の変更
Zabbixエージェントがインストールされた後、Zabbix Serverに情報を送信するため、
IPアドレスを指定する必要がある。設定は/etc/zabbix/zabbix_agentd.conf
にある。
Server=<IP> //Zabbix ServerのIPアドレス
Hostname=<hostname> //ホスト名を入力
以上のように書き換える。うちの家は3台ルータを挟むため、ポートフォワードがめんどくさい。
なので今回はパッシブでServerActiveは設定しない。
エージェントからトラップを送れませんがここはまぁ良しとする。
ServerとServerActiveの違い
ServerとServerには同じIPアドレスを設定する。
これらの違いはアクティブチェック、パッシブチェックの違い。
ServerActiveの場合はエージェントからサーバーに対して送信し、
Serverの場合はサーバーからエージェントにリクエストを送信する。
Note that (sensitive) configuration data may become available to parties having access to the Zabbix server trapper port when using an active check. This is possible because anyone may pretend to be an active agent and request item configuration data; authentication does not take place unless you use encryption options.
https://www.zabbix.com/documentation/5.0/manual/appendix/items/activepassive
アクティブチェックの場合、Zabbixサーバに対して設定データを取得する作業が入るため、
エージェントのふりをしてアイテムのデータを要求することができる。
これを防ぐには送信元を固定して穴をあけるか、暗号化オプションで認証を有効にする必要がある。的なことが書いてあると思う。
ポートの開放
Zabbix agent(パッシブ)ではエージェント側のポートの開放が必要になる。
Zabbix Server(送信元)→[port 10050/TCP]→Zabbix Agent
なので、Ubuntuで10050/TCPを開放する。
私の環境では上位のFWで送信元を絞っています。
Zabbix ServerのIPが固定であるならFromも絞るとよりセキュア
# ufw allow 10050/tcp
# ufw status
# ufw status
To Action From
-- ------ ----
10050/tcp ALLOW Anywhere
このように開放し、statusで確認できればOK。
暗号化の設定
Zabbixの通信はデフォルトでは暗号化されない。
したがって、事前共通鍵(PSK)で暗号化する設定を行う。
まずはPSKを作成する。
# mkdir /etc/zabbix/keys
# openssl rand -hex 32 > /etc/zabbix/keys/zabbix_agentd.psk
# cat /etc/zabbix/keys/zabbix_agentd.psk
69f3c16a8304d162430e7fe95ccdcde6f91c28b71294c7021eddd88acb107013
次にエージェントのコンフィグファイルを変更。
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=<適当> //ホスト名を入れた
TLSPSKFile=/etc/zabbix/keys/zabbix_agentd.psk
Agentsの起動
# systemctl start zabbix-agent
# systemctl enable zabbix-agent //自動起動設定も欠かさず。
Zabbix Server側で設定
まずZabbixのトップに行き、左のリストから「設定」→「ホスト」を選択。
右上の「ホストの作成」を押す。
すると、項目が複数表示されるので必須のところを入力する。
グループはLinux Servers。
ここでホスト名はagentsのconfigと同じにしないとエラーが出るとかでないとか。
IPとDNS名を入力し、ポートは「10050」。
次に上のテンプレートタブをクリックし、「新規テンプレートをリンク」の選択をクリック。
ホストグループの選択から「Templates/Operating systems」を選択し、
「Template OS Linux by Zabbix agent」を選ぶ。
次に暗号化の設定。
エージェントのマシンで作成した「TLSPSKIdentity」と「zabbix_agentd.pskの中身」を
それぞれの項目に入れ、PSKにチェックを入れる。
そして追加を押すと新たなホストが追加される。
少し待つと下のように緑になれば成功。
今回はUbuntuで行なったが、CentOSも変わらない。
以上で設定は完了。
コメント