- Advertisement -

Zabbix Agent2のWindows・Linux環境へのインストール方法

過去2回でZabbix サーバの構築方法と監視設定方法について説明を行ってきました。今回は監視設定の際に良く使用するZabbix Agent2のWindows、Linux環境での監視先のエージェント設定方法について説明します。

Windows環境でのインストール方法

ではさっそくWindows 10でのZabbix Agent2のインストールと設定について説明していきます。

Zabbix Agent2のダウンロード

以下のリンクからZabbixのバージョンにあったエージェントをダウンロードする。

「Windows」>「Any」>「amd64」or「i386」>「5.0 LTS」>「No encryption」>「Archive」

今回は「Zabbix agent 2 v5.0.15」をダウンロードする。

「Zabbix Agent」と「Zabbix Agent2」の違い

Zabbixのエージェントは「Zabbix Agent」と「Zabbix Agent2」があります。詳細は以下に記載されていますが、簡単な違いとしては以下です。

🔗18 Agent vs agent 2 comparison

項目Zabbix AgentZabbix Agent2
サポートされるOSLinux, IBM AIX, FreeBSD, NetBSD, OpenBSD, HP-UX, Mac OS X, Solaris: 9, 10, 11, WindowsLinux, Windows
監視項目旧来の監視項目旧来の監視項目に加え、Zabbix Native Monitorが可能。
例:Docker, Memcache, MySQLなどをネイティブ監視。

上記以外にもメリット・デメリットはありますが、Linux、Windowsにおける監視エージェントは「Zabbix Agent2」を使用しておくことを推奨します。一方で、「Zabbix Agent2」が対応していないOSでは「Zabbix Agent」を使います。

Zabbix Agent2の事前設定

ダウンロードした zabbix_agent2-5.0.15-windows-amd64-static.zip を解凍し、 bin 、 conf をC直下に作成した C:\zabbix_agent というフォルダに保存します。

また、 C:\zabbix_agent\log のようにログ保存用のフォルダを作成します。

次にzabbix_agentd.confを自分の環境に合わせて編集します。

# ログファイルの保存先の指定
# 先ほど作成したログフォルダを保存先に指定

# LogFile=c:\zabbix_agent2.log
LogFile=c:\zabbix_agent\log\zabbix_agent2.log

# 監視通信を許可するサーバIPアドレス
# Zabbixサーバ自身を監視する場合は値を変更しない
# 別サーバへエージェントをインストールする場合は、ZabbixサーバのIPアドレスを指定する

#Server=127.0.0.1
Server=[Zabbix ServerのIPアドレス]

# アクティブチェック監視データの送信先サーバIPアドレス
# Zabbixサーバ自身を監視する場合は値を変更しない
# 別サーバへエージェントをインストールする場合は、ZabbixサーバのIPアドレスを指定する

#ServerActive=127.0.0.1
ServerActive=[Zabbix ServerのIPアドレス]

# 自ホストのホスト名
# OS上のホスト名ではなく、Zabbix監視設定上のホスト名

#Hostname=Windows host
Hostname=UMilCL-PCCode language: PHP (php)

ファイアウォールの通信許可設定

ファイアウォールの通信許可の設定を行います。

「コントロール パネル」>「システムとセキュリティ」>「Windows Defender ファイアウォール」>「詳細設定」>「受信の規則」>「新しい規則」から設定を行います。

  • 規則の種類:ポート
  • プロトコルおよびポート:TCP:10050
  • 操作:接続を許可する
  • プロファイル:変更なし
  • 名前:Zabbix Agent2

Zabbix Agent2のインストール

管理者権限でコマンドプロンプトを起動し、先ほど作成した C:\zabbix_agent\bin に移動し、インストールを行います。

cd c:\zabbix_agent\bin

zabbix_agent2.exe -c ..\conf\zabbix_agent2.conf -install
zabbix_agent2 [5804]: 'Zabbix Agent 2' installed succesfullyCode language: JavaScript (javascript)

Zabbix Agent2のアンインストール

間違ってインストールした場合は、以下の方法でアンインストールすることが可能です。

空の zabbix_agent2.win.conf を c:\zabbix_agent\bin 配下に作成し、以下のコマンドを管理者権限で開いたコマンドプロンプトにて実行します。

cd c:\zabbix_agent\bin

zabbix_agent2.exe -uninstall
zabbix_agent2 [5528]: 'Zabbix Agent 2' uninstalled succesfullyCode language: JavaScript (javascript)

「サービス」を見て「Zabbix Agent 2」が追加されていることを確認します。起動していないようであれば、右クリックし、「開始」を選択します。

Zabbix Agent2の動作確認

ZabbixのWebUIにアクセスし、管理対象を追加します。「設定」>「ホスト」>「ホストの作成」から追加します。

  • ホスト名:ホスト名はサーバのホスト名ではなく、先ほど「zabbix_agent2.conf」で設定したホスト名を使用してください。私の事前の構築では Hostname=UMilCL-PC で設定しています。

  • ホストグループ:Zabbixで監視対象のホストをまとめたグループです。Zabbixではホストグループに対し、監視項目を設定したテンプレートを適用することができます。
    今回はホストグループに Windows を追加し、設定しています。
  • IPアドレス:IPアドレスはagentをインストールしたPCのIPアドレスを設定してください。
Zabbix でのWindowsの監視追加1

監視設定のテンプレートは「Template OS Windows by Zabbix agent」を使用しました。

Zabbix でのWindowsの監視追加2

「ホスト」>「インベントリ」の設定を「無効」から「自動」に変更します。自動にするとZabbix エージェントが取得した情報で一部自動入力してくれます。

Zabbix でのWindowsの監視追加3

監視設定が動作しているか確認します。

「監視データ」>「ホスト」>「最新データ」で値が表示されているか確認します。直近の日時でデータが受信していればWindows環境での設定完了です。

Zabbix でのWindowsの監視追加4

Linux環境でのインストール方法

今回は以下の環境で構築しています。早速設定していきます。

  • OS:CentOS8.3
  • Zabbix Agent 2: 5.0.1

バージョン情報は以下となります。

# cat /etc/redhat-release
CentOS Linux release 8.3.2011 (Core)

# uname -r
4.18.0-240.el8.x86_64Code language: PHP (php)

FIREWALLD無効化

セキュリティ上はFirewallを必要な通信のみ許可するように設定を加えた方がよいが、今回は説明簡略化のため、Firewalld無効化での説明とします。実運用の場合はFirewallへの通信許可をしてください。

次にコンソール上にて以下コマンド実行

[root@localhost umilcl]$ systemctl stop firewalld
[root@localhost umilcl]$ systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost umilcl]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
Code language: JavaScript (javascript)

SELinux無効化

SELinux のステータスをチェックするには、getenforce または sestatus コマンドを使います。

getenforce コマンドは、 Enforcing、Permissive、Disabled のいずれかを返します。getenforce コマンドは、SELinux が有効な際に (SELinux ポリシールールが強制されている際に) Enforcing を返します。

 SELINUX=disabled を追加し、SELinuxの無効化が完了したら、再起動を行います。

[root@localhost umilcl]$ getenforce
Enforcing

[root@localhost umilcl]$ vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

[root@localhost umilcl]# reboot
[root@localhost umilcl]# getenforce
DisabledCode language: PHP (php)

Zabbix Agent2のインストール

Zabbixのリリース状況によっては、新しいバージョンのパッケージが公開されます。

以下の公式リポジトリで、「zabbix-release-5.0-x.el8.noarch.rpm」のバージョンを確認して、新しいバージョンが公開されている場合は、インストール対象パッケージのURLを適宜変更してください。

https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/

以下のコマンドを実行し、Zabbix 5.0の公式リポジトリをインストールします。

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
dnf clean allCode language: JavaScript (javascript)

以下のコマンドを実行し、Zabbix Serverの関連パッケージをインストールします。

dnf -y install zabbix-agent2 zabbix-get
Code language: JavaScript (javascript)

zabbix_agent2.conf の設定

viなどのテキストエディタで、Zabbix Agent 2の設定ファイルを開きます。

vi /etc/zabbix/zabbix_agent2.conf

設定変更内容は以下の通りです。
監視を受け付けるサーバに関する設定を行います。

# 監視通信を許可するサーバIPアドレス
# Zabbixサーバ自身を監視する場合は値を変更しない
# 別サーバへエージェントをインストールする場合は、ZabbixサーバのIPアドレスを指定する

#Server=127.0.0.1
Server=[Zabbix ServerのIPアドレス]

# アクティブチェック監視データの送信先サーバIPアドレス
# Zabbixサーバ自身を監視する場合は値を変更しない
# 別サーバへエージェントをインストールする場合は、ZabbixサーバのIPアドレスを指定する

#ServerActive=127.0.0.1
ServerActive=[Zabbix ServerのIPアドレス]

# 自ホストのホスト名
# OS上のホスト名ではなく、Zabbix監視設定上のホスト名

#Hostname=Zabbix server
Hostname=UMilCL-LinuxSVCode language: PHP (php)

サービスの自動起動設定

以下のコマンドを実行し、Zabbix Agent2の自動起動設定とサービス起動を行います。

# systemctl enable zabbix-agent2
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service → /usr/lib/systemd/system/zabbix-agent2.service.

# systemctl start zabbix-agent2Code language: PHP (php)

ログ監視用にZabbixがroot権限で実行可能なようにユニットサービス内のユーザ/グループ指定を変更します。


vi /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service

[Unit]
Description=Zabbix Agent 2
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_agent2.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent2
Type=simple
Restart=on-failure
PIDFile=/run/zabbix/zabbix_agent2.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_agent2 -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix → User=root #zabbixからrootに変更

Group=zabbix → Group=root #zabbixからrootに変更


[Install]
WantedBy=multi-user.targetCode language: PHP (php)

設定変更前はzabbixユーザーで起動されているため、daemon-reloadし、その後再起動します。

systemctl daemon-reload
systemctl restart zabbix-agent2

Zabbix Agent2の動作確認

ZabbixのWebUIにアクセスし、管理対象を追加します。「設定」>「ホスト」>「ホストの作成」から追加します。

  • ホスト名:ホスト名はサーバのホスト名ではなく、先ほど「zabbix_agent2.conf」で設定したホスト名を使用してください。私の事前の構築では Hostname=UMilCL-LinuxSV で設定しています。

  • ホストグループ:Zabbixで監視対象のホストをまとめたグループです。Zabbixではホストグループに対し、監視項目を設定したテンプレートを適用することができます。

  • IPアドレス:IPアドレスはagentをインストールしたPCのIPアドレスを設定してください。
Zabbix でのLinuxの監視追加1

監視設定のテンプレートは「Template OS Linux by Zabbix agent active」を使用しました。

Zabbix でのLinuxの監視追加2

「ホスト」>「インベントリ」の設定を「無効」から「自動」に変更します。自動にするとZabbix エージェントが取得した情報で一部自動入力してくれます。

Zabbix でのLinuxの監視追加3

監視設定が動作しているか確認します。

「監視データ」>「ホスト」>「最新データ」で値が表示されているか確認します。直近の日時でデータが受信していればLinux環境での設定完了です。

Zabbix でのLinuxの監視追加4

まとめ

今回はWindowsとLinux環境でのZabbix Agent2の設定方法を紹介しました。これでZabbixサーバ構築からZabbixエージェント構築、一般的な監視設定の方法までは設定できるようになったかと思います。

次回はログ取得とポート監視の方法について紹介したいと思います。

- Advertisement -
UMilCL
UMilCLhttps://umilcl.com
兼業ブロガー。大手製造業の企画・設計・プロジェクト管理で8年、受配電・電動機・システムの保全部門の課長1年目。 得意分野: プロセス制御と統計、機械学習、画像処理、システム技術 保有資格: プロジェクトマネージャー、情報処理安全確保支援士、ネットワークスペシャリスト、応用情報処理、第一種衛生管理者

Similar Articles

Comments

返事を書く

コメントを入力してください!
ここに名前を入力してください

- Advertisement -

Follow US

1ファンいいね
19フォロワーフォロー
633フォロワーフォロー
3,383フォロワーフォロー
0SubscribersSubscribe

Archive

Most Popular