Zabbixのインストールと基本設定ガイド|Ubuntu/CentOSサーバー構築からWindows/Linuxエージェント導入まで
Zabbixは、エンタープライズレベルのオープンソース監視システムです。現在、Zabbixは最も人気が高く、高機能な無料監視システムの一つとなっています。インストールと設定がシンプルであるため、数百台規模のホストを持つ大規模インフラから、小規模な構成まで幅広く対応できます。本記事では、Linux(UbuntuおよびCentOS)にWebインターフェース付きのZabbix Server 5.0をインストールして基本機能を設定する方法、さらにWindowsまたはLinuxサーバーにZabbixエージェントをインストールし、新しいホストを監視対象として追加する方法を解説します。
以下のスクリーンショットは、Zabbixサーバーのダッシュボード画面です。

Zabbixは、設定が簡単で扱いやすい監視ツールです。サーバー・プロキシ・エージェントはC言語で、フロントエンドはPHPで書かれています。Zabbix ServerとZabbix ProxyはLinuxシステムでのみ動作しますが、Zabbixエージェントはさまざまなサポート対象OSやプラットフォームにインストール可能です。
Zabbixサーバーのインストール構成要素は以下の通りです。
- zabbix_serverバイナリ(通常はサービスとして動作)
- MySQL/MariaDB/PostgreSQLデータベース
- PHPハンドラを備えたApache2/Nginx Webサーバー
- フロントエンドサイトファイル(.php、.js、.cssなど)
一般的な動作の仕組みは次のようになります。
- Zabbixエージェントがサーバーへデータを送信する
- Zabbixサーバーがデータを受信・処理する
- 受信したデータが指定された条件を満たすと、トリガーが起動する
- トリガーの起動は問題の発生を示します。フロントエンド(Webサイト)に通知が表示され、設定によってはメール通知が送信されたり、特定のアクション(例:監視対象サービスの再起動)が実行されたりします
Zabbixは既知のすべてのプロトコルに対応しています。外部スクリプトを利用できるため、任意の実行可能スクリプトやバイナリを実行してデータを取得することも可能です。
Linux(Ubuntu/CentOS)へのZabbix Serverのインストール方法
このチュートリアルでは、パッケージマネージャーを使用して、Linux(Ubuntu Server 18.04およびCentOS 8)にZabbix Serverをインストールする手順を紹介します。
まずダウンロードページ「https://www.zabbix.com/download」にアクセスし、使用しているLinuxディストリビューションに合ったリポジトリを選択してください。主要なLinuxディストリビューション向けのパッケージがすべて用意されています。
例えば、Ubuntu 18.04にZabbixをインストールする場合は、以下の順に選択します。
Zabbixバージョン(5.0 LTS)→ OSディストリビューション(Ubuntu)→ OSバージョン(18.04 Bionic)→ データベース(MySQL)→ Webサーバー(NginxまたはApache)。

リポジトリをダウンロードして追加します。
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
# dpkg -i zabbix-release_5.0-1+bionic_all.deb
# apt update
続いて、必要なパッケージをインストールします。
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent

CentOS 8/RHEL 8にZabbixをインストールする場合は、最新版のZabbixリポジトリを接続します(4.0/5.0 LTSブランチまたは最新のZabbix 5.2からインストール可能です)。
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
ここでは、nginx、MySQL/MariaDB、php、php-fpmがすでにサーバーにインストールされているものとします。dnf(yum)パッケージマネージャーを使用して、Zabbix Serverとエージェントをインストールします。
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
次に、MySQLでZabbix用のデータベースを作成します(MySQLの代わりにPostgreSQLを使用することもできます。その場合は前述のコマンドの「mysql」を「pgsql」に置き換えてください)。
データベースを作成し、ZabbixがDBへアクセスするユーザーアカウントに権限を付与します。
mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'ZabbixP@$$w0rd';
mysql> quit;
Zabbixのデータベースをインポートします。ユーザー作成時に指定したパスワードを入力してください。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix
/etc/zabbix/zabbix_server.confを編集し、作成したユーザーのパスワードを指定します。
DBPassword=Zabbix_User_Password
今回のようにnginxをWebサーバーとして使用する場合は、nginx.confを編集して以下の行のコメントを解除します。
# listen 80;
# server_name example.com;
「#」を削除し、example.comをZabbixサーバーのホスト名に置き換えてください。今回はtest.zabbix.localとします。Apacheの場合は、/etc/httpd/conf.d/zabbix.confを編集します。
PHPでタイムゾーンを設定します。/etc/zabbix/php-fpm.conf内の以下の行のコメントを解除してください。
php_value[date.timezone] = Asia/Tokyo
Zabbixサーバーの時刻が信頼できるNTPソースと同期されていることを必ず確認しましょう。
これらのPHPパラメータは/etc/php.iniでも設定できます。
memory_limit 128M
upload_max_filesize 8M
post_max_size 16M
max_execution_time 300
max_input_time 300
max_input_vars 10000
zabbix-serverサービスを自動起動に登録し、起動します。
# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm
Zabbix Webインターフェースの設定
次に、Zabbixフロントエンド(Webインターフェース)を設定します。ブラウザで先ほど指定したZabbixサーバーのURLを開きます。今回はtest.zabbix.localです(独自のドメインを指定した場合は、hostsファイルまたはDNSサーバーへの登録を忘れないでください)。インストーラーの要件がすべて「OK」と表示されていることを確認します。

データベースへの接続パラメータと、DB接続用のユーザー認証情報を指定します。先ほど作成したユーザー名とパスワードを使用してください。

Zabbixサーバーの名前を指定します。ポートはデフォルトのTCP 10051のままにしておくことをおすすめします。
デフォルトでは、Zabbixは2つのネットワークポートを使用します。
- TCP 10050 — パッシブエージェント用ポート。Zabbixサーバーがクライアントへポーリングを行う際に使用します
- TCP 10051 — Zabbixサーバーがクライアント(アクティブエージェント)からデータを受信するポート
ファイアウォールでこれらのポートを開放することを忘れないでください。例えば、CentOSで稼働するZabbixサーバーでは、firewall-cmdを使ってfirewalldでポートを開けます。
# firewall-cmd --add-service={http,https} --permanent
# firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
エージェント側では、ポート10050を開けるだけで十分です。
# firewall-cmd --permanent --add-port=10050/tcp
firewalldを再読み込みします。
# firewall-cmd --reload

その後、「Next Step」→「Finish」をクリックします。インストール完了後、ログイン画面が表示されます。デフォルトのログイン名はAdmin、デフォルトのパスワードはzabbixです(必ず変更してください)。

以上でZabbix Serverのインストールは完了です。
その他のOSへのZabbix Serverのステップバイステップの手順や、ソースコードからのビルド方法、Dockerコンテナでの実行方法については、「https://www.zabbix.com/download」をご参照ください。また、Active Directory LDAPを使用したユーザー認証も設定可能です。
WindowsへのZabbixエージェントのインストール方法
次に、WindowsサーバーにZabbixエージェントをインストールし、Zabbix監視サーバーに登録してみましょう。Windows向けのZabbixエージェントはこちらからダウンロードできます:「https://www.zabbix.com/download_agents」。

必要なエージェントのバージョンを選択します。ここではmsi(amd64)(OpenSSLなし)を選択します。GPOやSCCMを使用してドメイン上のサーバーやコンピューターにZabbixエージェントを展開する場合は、バイナリと設定ファイルを含むZIPアーカイブをダウンロードするとよいでしょう。
インストーラーを実行し、ライセンス契約に同意して、Zabbixサーバーへの接続設定を入力します。「Server or Proxy for active checks」フィールドには、IP:PORT形式でIPアドレスを入力することに注意してください。今回はデフォルトポートのままなので、192.168.20.30:10051と入力しました。

「Next」を数回クリックし、「Install」をクリックします。
エージェントが正しくインストールされたことを確認します。サービス一覧に「Zabbix Agent」が表示されるはずです。

Windowsホストのファイアウォールで、ZabbixサーバーのIPアドレスからの inbound 接続を許可します。
New-NetFirewallRule -DisplayName "ZabbixMonitoring" –RemoteAddress 192.168.20.30 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow
Zabbixサーバーへの新しいホストの追加方法
エージェントが正常に動作しているか確認するために、testnode2というホストをZabbixサーバーに追加し、いくつかのチェック(テンプレート)を割り当てます。
補足: Zabbixには2種類のチェック方式があります。
- パッシブチェック — Zabbixサーバーがエージェントからデータを要求する方式
- アクティブチェック — エージェントがサーバーへデータを送信する方式
エージェントのインストール時には、アクティブチェック用のサーバーをIP:PORT形式で指定しました。
新しい監視ホストは、ZabbixのWebインターフェースから追加できます。「Configuration」→「Hosts」へ移動します。
「Create host」をクリックして詳細情報を入力します。このとき、Host nameはデバイスのホスト名、またはエージェント設定ファイル内のHostnameパラメータの値と完全に一致している必要がある点に注意してください。

「Templates」タブで、組み込みのWindowsテンプレートを追加します。Zabbixのテンプレートとは、アイテム、トリガー、グラフ、ディスカバリルールのセットであり、1つ以上のホストに割り当てることができます。
組み込みテンプレートには「active」というラベルが付いており、これはアクティブチェックが使用されることを意味します。

「Add」をクリックします。サーバーとエージェントが互いを認識するのを待たなくてもよいように(通常数分かかります)、testnode2上のZabbix Agentサービスを再起動し、エージェントのログ(C:\Program Files\Zabbix Agent\zabbix_agentd.txt)を確認しましょう。


「started [active checks #1]」というメッセージは、このホストに対するアクティブチェックがサーバー上で見つかったことを意味します。次に、Zabbixサーバーがエージェントから受信したデータを確認してみましょう。「Monitoring」→「Latest Data」へ移動し、「Hosts」フィールドで対象ホストを選択します。

このセクションには、選択したホストまたはホストグループについて、Zabbixサーバーに届いた最新のデータが表示されます。
なお、今回の例では、BITSサービスが実行されていないことを知らせる通知がダッシュボードに表示されています。これは、組み込みテンプレートをホストに割り当てたためです。テンプレートの1つにBITSのチェックが含まれており、BITSサービスがRunning状態でない場合に対応するトリガーが起動する仕組みになっています。

以上でWindows向けエージェントの設定は完了です。
LinuxへのZabbixエージェントのインストール
次に、LinuxにZabbixエージェントをインストールします。Ubuntu Server 18.04にパッケージマネージャーを使ってインストールするには、まずZabbixリポジトリをダウンロードしてインストールし、その後リポジトリからZabbixエージェントをインストールします。
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo dpkg -i zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo apt update
# sudo apt -y install zabbix-agent
CentOSにリポジトリを追加してZabbixエージェントをインストールする場合は、以下のコマンドを使用します。
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent
Zabbixエージェントを起動する前に、設定ファイル /etc/zabbix/zabbix_agentd.conf を編集し、アクティブチェック用にZabbixサーバーのIPアドレスを指定します。
Server=IP
ServerActive=192.168.20.30:10051
Hostname=testagent
その後、エージェントサービスを起動します。
# service zabbix-agent start
エージェントが正常に起動したことを確認します。
# cat /var/log/zabbix/zabbix_agentd.log

「cannot parse list of active checks」という行が表示される場合、サーバー上にそのホストに対するアクティブチェックが存在しないことを意味します。
Windowsエージェントの場合と同様に、LinuxホストもZabbixに追加する必要があります。Zabbixサーバーのホスト設定における「Host name」パラメータが、Zabbixエージェント設定ファイルで指定したHostnameパラメータと一致している必要がありますので注意してください。上記の設定ファイルでは、ホスト名をtestagentと指定しました。

Zabbixエージェントを再起動してログを確認し、エージェントからのデータがZabbixサーバーに届いていることを確認してください。これでLinux上のZabbixエージェントの設定は完了です。
次回の記事では、ICMP Pingを使用したZabbixによるホスト可用性のエージェントレス監視について解説します。
-
【完全ガイド】MacでPage Up/Page Downキーを使う方法とショートカット早見表
Windowsのパソコンでは、すべてのキーボードにPage Up(ページアップ)/Page Down(ページダウン)キーが標準搭載されています。独立したキーとして配置されている場合もあれば、Fn(ファンクション)キーに組み込まれている場合もあります。Page UpキーとPage Downキーは、ページ数の多いドキュメントを読んだり編集したりする際にとても便利なキーです。これらのキーを使えば、前後のページへ素早くジャンプでき、作業時間の大幅な節約につながります。MacキーボードでのPage Up/Page Downの使い方フルサイズのMacキーボードには、Page Up/Page Downキーが
-
4KとUltra HD(UHD)の違いを徹底解説!どちらを選ぶべきか
テレビはCRTからLCD、そしてLEDへと進化を遂げてきました。テクノロジーの一分野として、その研究開発は決して終わることがありません。現在の市場では、HD、FHD、Ultra HD、4Kといった紛らわしい用語が飛び交っており、華やかに聞こえる一方で、消費者を混乱させる原因にもなっています。そんな中でも、最も注目を集めているのが4KとUltra HDです。新しいテレビやデスクトップ用モニターの購入を検討しているなら、「どちらが優れているのか」を知りたいはずです。 本記事では、一般消費者の視点から見た4KテレビとUltra HDテレビの違いを詳しく解説していきます。 4Kテレビとは 4Kとは、