Zabbixのインストール~監視設定までを解説

総合監視ソフトウェア「Zabbix」のインストールや初期設定、使用方法について解説!

社内ICT基盤の導入から実運用までをサポートするパーペチュアです。

今回は様々な機器やソフトウェアなどを監視できるオープンソースの総合監視ソフトウェア「Zabbix」について解説します!

「Zabbix」のインストール~初期設定、簡単な使い方や実践的な使用方法などを実際の画像と共に解説しているので、導入を考えているかたの参考にしていただければ幸いです。

Zabbixとは

Zabbix公式サイト

Zabbixとはサーバー、ネットワーク、アプリケーションの様々な項目を監視できるソフトウェアです。

基本的な死活監視からドライブの残り容量や負荷状況なども監視することができます。

また、問題があればメールやその他コミュニケーションツールなどへ通知を送信することも可能です。

Zabbixで出来ること

Zabbixを使えば様々な機器の項目を監視することが可能です。

ここでは代表的な監視項目の例と監視できる機器を紹介します。

監視できる項目

  • 死活監視
  • PCの負荷状況(CPUやメモリの使用率、温度など)
  • HDDなどドライブの使用状況(残り容量や使用割合、読み書き量やエラーなど)
  • イベントログの監視(Windows)

ここでは代表的なものを挙げましたが、Zabbixでは他にも詳細な内容を監視したり、どのような状況で通知を行うかなど細かく設定することが可能です。

監視できる機器

  • 一般的なPC(Windows,Mac OS)
  • サーバー
  • 仮想サーバー
  • NAS
  • ネットワーク機器

zabbixサーバーの動作要件(zabbix Ver5.0 LTS)

対応OS Red Hat Enterprise Linux 7、8
CentOS 7、8
Oracle Linux 7、8
Ubuntu 18.04、20.04
Debian 10、
SUSE Linux Enterprise Server 12、15
Raspberry Pi OS 10
Ubuntu (arm64) 20.04
ハードウェア 128MB以上のRAM
256MB以上の空きディスク容量
※ハードウェア要件は監視する項目やホストの数などによって変わります。
表記の内容はzabbixが動作するために最低限必要なスペックです。
データベース MySQL
PostgreSQL
WEB SERVER Apache

CentOS8にZabbix5.0をインストール[Zabbix5.0 | OS:CentOS 8(stream) | DB:MariaDB]

1、Zabbix5.0のリポジトリを追加。

Zabbixのリポジトリを追加します。

下記コマンドのURLは執筆時点のものです。
最新版のURLはZabbix公式サイトでご確認ください。

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm

2、必要なソフトウェアをインストール

Zabbix本体や動作に必要なソフトウェアをインストールします。

# dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent mariadb-server mariadb

3、MariaDBの初期設定~データベースの作成まで

MariaDBの起動と自動起動の設定をおこないます。

# systemctl enable –now mariadb

MariaDBのrootパスワードの設定と初期設定をします

# mysql_secure_installation

Enter current password for root (enter for none) → 空白でENTER
Set root password? → y
New password → 任意のパスワードを入力
Re-enter new password → さきほど入力したパスワードをもう一度入力
Remove anonymous users?  → y
Disallow root login remotely? → y
Remove test database and access to it? → y
eload privilege tables now? → y

データベースの作成と、Zabbixに接続するためのユーザーを作成します。

# mysql -uroot -p
password → さきほど設定したrootパスワードを入力

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by ‘任意のパスワード’;
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;

データベースにZabbixの初期データを適用します。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Zabbix serverの設定ファイルにデータベースのパスワードを追記して、データベースに接続できるようにします。

# vi /etc/zabbix/zabbix_server.conf

DBPassword=データベース作成時に設定したパスワード
ファイルに↑を追記。

4、タイムゾーンを変更します

phpの設定ファイルの内容を書き換えて、タイムゾーンを日本に変更します。

# vi /etc/php-fpm.d/zabbix.conf

; php_value[date.timezone] = Europe/Riga
↓に書き換え
php_value[date.timezone] = Asia/Tokyo

5、Apacheの起動と自動起動の設定をおこないます。

# systemctl enable –now httpd.service

6、Zabbixの起動とOS起動時にZabbixも自動起動するように設定します。

# systemctl restart zabbix-server zabbix-agent httpd php-fpm
# systemctl enable zabbix-server zabbix-agent httpd php-fpm

以上でCentOSへのZabbix5.0のインストールは完了です。
以降の初期設定はWebUIからおこないます。
http://IPアドレス/zabbix/

番外1、Firewallの設定

上記手順後、WebUIに接続できない場合はLinuxのfirewallが接続を拒否している可能性が考えられます。
そこでZabbixで使うポートとサービスの除外設定をおこなって接続できるようにします

# firewall-cmd –add-port=10051/tcp –zone=public –permanent
# firewall-cmd –add-service=http –zone=public –permanent
# systemctl restart firewalld

7、WebUIで初期設定をする

WebUIで初期設定

インストールが完了したら、http://IPアドレス/zabbix/ にアクセスして初期設定をおこないます。
「next step」をクリックして初期設定を進めます。

初期設定

動作環境のチェックです。すべての項目がOKになっているのを確認して次に進めます。

動作環境のチェック

Zabbix Serverで使うデータベースの設定をおこないます。
データベース作成時に設定した各内容を入力しましょう。
当記事と同じ内容、手順でインストールした場合、パスワード以外は初期設定のままで問題ありません。

データベースの設定

使用するポートやサーバー名を設定します。サーバー名は省略可能です。

最後に設定項目の再確認をして初期設定は完了です。

8、ダッシュボードにログインして基本設定をする

ダッシュボードにログインして基本設定

ユーザー名とパスワードを入力してダッシュボードにログインします。
初期ユーザー名:Admin
初期パスワード:zabbix
※ユーザー名とパスワードは大文字小文字を区別するため注意しましょう。

言語設定を日本語に変更する

UIが英語のままでは使いにくいため、日本語に変更します。

       日本語に変更

画面左下の「User Setting」をクリックしてユーザー設定を開きます。
設定画面が開いたら「Language」を「Japanese(JA_jp)」に変更して「update」をクリックするとUIが日本語に変更されます。

ユーザー名とパスワードを変更する

初期設定のままではセキュリティ上、問題があるためユーザー名とパスワードを変更します。

       ユーザー名とパスワードを変更

左部メニューの「管理」から「ユーザー」画面を開き、Adminをクリックします。

Adminをクリック

「エイリアス」欄に任意のユーザー名を入力し「パスワード変更」をクリックして、でてきたテキストボックスにパスワードを入力。
「更新」を押せばユーザー情報が更新され、設定したユーザー名とパスワードでログインできるようになります。

以上で、Zabbixを実際に運用するまでの準備が整いました。以降は実際に運用するための設定方法を記載していきます。

番外2、SELinuxの設定

WebUIには接続できるのにZabbix Serverが起動していないときは、SELinuxというLinuxの機能がServerの動作を阻害している可能性が高いです。

そこでSELinuxを無効化するか、またはZabbix用のSElinuxのポリシーを作成します。

SElunxの無効化

SElnuxが必要ない場合は設定ファイルを書き換えて無効化します。

# vi /etc/SELinux/config

SELinux=enforcing
↓に書き換え
SELinux=disabled

ファイルの書き換えが終わったあと、rebootコマンドで再起動するとSELinuxが無効化されます。

SELinuxのポリシーを作成する

セキュリティなどの観点から、SELinuxを有効にしたままzabix serverを動作させたい場合は、SELinuxのポリシーを作成しなければいけません。

まず用意されているカスタムポリシーをオンにします。

# setsebool -P httpd_can_connect_zabbix 1
# setsebool -P zabbix_can_network 1

しかし、これだけではZabbix serverは正常に動作しないため、SELinuxの監査ログからカスタムポリシーを生成します。

SELinuxの操作、管理用ツールであるpolicycoreutils-pythonをインストールします。

# dnf -y install policycoreutils-python-utils

既存のSELinuxの監査ログを削除し、SElunuxをpermissiveモードにした状態でZabbix serverを起動して、様々な動作をおこない監査ログを溜めます。

# setenforce 0
# rm /var/log/audit/audit.log
上記コマンド後、Zabbixで様々な動作を試行して監査ログを溜めます。

監査ログからカスタムポリシーを生成します。

# grep “zabbix” /var/log/audit/audit.log | audit2allow -M zabbix_policy

生成したポリシーをSELinuxに反映します。

# semodule -i zabbix_policy.pp

最後にSELinuxを有効に戻して動作確認をします。

# setenforce 1

上記手順後にまだ動作しない場合は、上記の手順をもう一度おこなってポリシーにルールを追加しましょう。

以上でSELinuxの設定は完了です。

番外3、Zabbixの日本語パッケージをインストールしてグラフの文字化けを直す。

WebUIの言語設定を日本語に変更したときに、グラフの凡例の日本語が文字化けしてしまう場合は、Zabbixの日本語パッケージをインストールすると直ります。

# yum install zabbix-web-japanese

Zabbixの使い方(基本編)[Zabbix5.0/Zabbix agent2]

この項目では監視対象端末であるホストの登録や監視の設定、障害が起きたときにメールで通知するように設定する方法など、zabbixの簡単な使い方を紹介します。

監視対象のPCにZabbix Agentをインストール。(Windows)

ZabbixではZabbix Agentの他にSNMP、JMX、IPMIといったエージェントが利用できますが、WindowsやLinux端末を監視するなら監視対象の端末にZabbixの監視用エージェントであるZabbix Agentをインストールするのが監視できる項目も多くオススメです。

Windows用のZabbix Agentには、わかりやすいインストーラが用意されているので、これを利用してインストールしていきます。

ダウンロードサイト
ダウンロードサイト

Zabbix公式サイトからWindows向けのZabbix agent2をダウンロードします。

ダウンロード

ダウンロードしてきたmsiファイルを起動してインストールをはじめます。

エンドユーザーライセンスに同意して次に進めます。

エンドユーザーライセンス

各種設定を入力して次に進めます。

Host neme 任意のホスト名を入力。Serverにホストを追加するさいに必要になるので控えておく。
Zabbix server IP/DNS Zabbix ServerのIP、またはホスト名を入力。
gent listen port 使用するポート番号を入力。
Server or proxy for active checks Zabbix ServerのIP、またはホスト名を入力。
Enable PSK Agentとserver間の通信を暗号化する場合はチェックする。
Add Agent location to the PATH エージェントのパスをPATH変数に追加する場合、チェックを入れる

変数に追加する場合、チェックを入れる

インストールするディレクトリやモジュールを選択して次に進め、インストールを開始します。

ディレクトリやモジュールを選択

ファイルのコピーが終了したあと、FinishをクリックするとZabbix Agentのインストールは完了です。

監視対象のPCにZabbix Agentをインストール(Linux CentOS8)

各種Linux向けにもZabbix Agentは提供されていますが、ここではCentOS8にZabbix Agentをインストールする手順をご紹介します。

他のLinuxへのインストールについてはZabbix公式サイトをご確認ください。

Zabbixのリポジトリを追加します。

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm

※上記コマンドのURLは執筆時点のものです。
最新版のURLはZabbix公式サイトでご確認ください。

Zabbix Agentをインストールします。

# dnf install -y zabbix-agent

Zabbix Agentの起動と自動起動の設定をします。

# systemctl enable –now zabbix-agent

Zabbix Agentの設定ファイルを書き換えます

# vi /etc/zabbix/zabbix-agentd.conf
Server=Zabbix ServerのIP
ServerActive=Zabbix ServerのIP
Hostname=任意のホスト名(ホストを追加するさいに必要になるので控えておきます)
に書き換えます。

Zabbix Agentを再起動します。

# systemctl restart zabbix-agent

Zabbix Agentで使用するポートを開けるため、Firewallに設定を追加します。

# firewall-cmd –add-port=10050/tcp –zone=public –permanent
# systemctl restart firewalld

上記でCentOS 8へのZabbix Agentのインストールは完了です。

Zabbix Serverに監視対象を追加

Zabbix Agentを監視対象のPCにインストールしたら、次はZabbix Server側に監視対象(ホスト)を追加します。

まず http://IPアドレス/Zabbix/ にアクセスしてWebUIを開きます。

WebUI

ダッシュボード左の「設定」欄から「ホスト」を選択。
画面右上に表示される「ホストの作成」をクリックします。

ダッシュボード

各項目を入力して「追加」をクリックするとホストが作成されます。

  • ホスト名:Zabbix Agentで設定したホスト名を入力。
  • 表示名:任意の表示名を入力
  • グループ:ホストが所属するグループを選択。必ず一つ以上のホストグループに所属させる必要があります。
    ホストグループは一括で設定変更などをするさいに使用します。
  • インターフェース:監視するホストのIPアドレス、またはDNS名を入力。
  • 上記でホストの追加は完了です。
    次に監視対象のCPU使用率やディスク使用量などを監視するためのテンプレートを適用していきます。

    ホストに監視項目(テンプレート)を適用する

    Zabbixでは複数の監視項目やトリガーのかたまりをテンプレートとしてひとまとめにして、それを各ホストに適用する形で監視項目の設定ができます。

    Zabbixには最初から多数のテンプレートが入っているので、今回はそのうちのひとつを利用してZabbix AgentがインストールされているWindows向けの監視設定をします。

    「設定→ホスト」を選択し、テンプレートを適用したいホスト名をクリックします。

    ホスト名をクリック

    ホスト画面の「テンプレート」をクリックして、テンプレートの設定画面に移行します。

    「新規テンプレートをリンク」の「選択」をクリックして適用したいテンプレートを選んで追加し、「更新」を押すとホストにテンプレートが適用されます。

    今回はWindows用の監視テンプレートの「Template OS Windows by Zabbix agent」を選択して追加します。

    「更新」をクリックしてテンプレートへのリンクの追加を適用すると、テンプレートに設定されている各種監視項目などの設定がホストに追加されます。

    監視中のデータやグラフの確認

    監視中のデータやグラフは「監視データ」のホストや最新データなどから確認できます。

    例として監視データのグラフを表示してみましょう。

    画面左側の「監視データ→ホスト」をクリックします。


    グラフ

    見たい監視対象のホスト名の横にあるグラフをクリックすると、テンプレートで設定されているCPU使用率などのグラフが表示されます。

    障害発生時にメールで通知

    監視対象に障害が発生したときに、メールで通知してくれるように設定します。

    「メディアタイプ」を作成

    まず最初に「メディアタイプ」を作成して、メールを送信するための設定を作成します。
    「管理」の「メディアタイプ」から、画面右上の「メディアタイプの作成」をクリックします。
    すでに作成されている「Email」を利用してもかまいません。

    タイプに「メール」を選択し、SMTPサーバーなどの設定を入力してメディアタイプを追加します。

    次に受信するメールアドレスを設定するため、ユーザーにメールアドレスの情報を入力していきます。

    メールアドレスを設定したいユーザーをクリック

    「管理」の「ユーザー」から、メールアドレスを設定したいユーザーをクリックします。

    上部にある「メディア」から「追加」をクリックして、タイプに「さきほど作成したメディアタイプ」を選択し、送信先に通知を受信するメールアドレスを入力して追加します。

    項目が追加されたことを確認したら、「更新」を押すとメールアドレスの設定は完了です。

    最後に「アクション」で、実際にメールを送る動作の設定をおこないます。

    クリックしてアクション画面

    「設定」の「アクション」をクリックしてアクション画面をひらき、左上の「〇〇アクション」をクリックして、「トリガーアクション」を選択します。

    トリガーアクション画面で右上の「アクションの作成」をクリックします。

    メールで通知を受ける条件を設定

    「実行条件」を追加し、メールで通知を受ける条件を設定します。

    タイプ トリガーの深刻度
    オペレータ 以上
    深刻度 軽度の障害

    「実行内容」欄の「追加」をクリック

    次に「実行内容」画面の「実行内容」欄の「追加」をクリックして、さきほどメールアドレスを設定したユーザーを「ユーザーに送信」に追加。
    「次のメディアのみ使用」にさきほど作成したメールのメディアタイプを設定してaddをクリックします。

    これで障害発生時に設定したメールアドレスに通知が送信されるようになります。

    Zabbixの使い方(応用編)[Zabbix5.0]

    Pingで死活監視

    監視対象のホストにZabbix ServerからPingを送信し、ホストの死活を確認する方法を紹介します。pingでの死活監視にはエージェントがいらないため、pingを返してくれる端末や機器であれば各種エージェントが使用できない端末でも監視ができます。
    なおWindows10端末を監視するときは、標準でファイアウォールがPingを拒否する設定になっているため、別途pingを通すように設定を変更する必要があります。

    Zabbixインストール時に最初からpingで死活監視をする設定のテンプレートが入っているので、このテンプレートの内容を複製後に設定を変更して死活監視をおこないます。

    まず既存のテンプレートを複製します。

    「設定」→「テンプレート」から名前欄に「Template Module ICMP Ping」と入力

    「設定」→「テンプレート」から名前欄に「Template Module ICMP Ping」と入力して、テンプレート「Template Module ICMP Ping」を開きます。

    「すべて複製」をクリック

    「すべて複製」をクリックしてテンプレートの内容を複製し、名前を変更して「追加」をクリックします。
    ここでは「ping alive monitoring」としています。

    「設定→ホスト」または「設定→ホストグループ」から死活監視をするホストやグループに、さきほど複製したテンプレート「ping alive monitoring」をリンクさせて「更新」をクリックします。

    これでpingによる死活監視の設定は完了です。続いてテンプレートの内容を書き換えて、用途に合った監視設定に変更していきましょう。

    「設定→テンプレート」から「ping alive monitoring」を開きます。

    Pingに関する設定

    左側メニューの「設定」→「テンプレート」

    Pingに関する設定は左側メニューの「設定」→「テンプレート」と進み、テンプレート「「ping alive monitoring」」を開いたあと、画面上部メニューの「アイテム」からおこないます。

  • 「ICMP ping」Pingを送信して死活監視するアイテム。
  • 「ICMP loss」pingを送信してパケットロス率を監視するアイテム。
  • 「ICMP response time」pingを送信して、返ってくるまでの応答時間を監視するアイテム。
  • 今回は死活監視なので「ICMP ping」の設定を変更します

    キーには監視に利用するコマンド

    キーには監視に利用するコマンドを入力します。ICMP pingにはicmppingが設定されています。icmppingにパラメータを追記することで、パケットサイズなどの変更ができます。各パラメータの詳細についてはコチラをご確認ください。

    「監視間隔」はpingを送信する間隔です。標準では1m(1分)です。

    ヒストリの保存期間、トレンドの保存期間はログの保存期間です。

    値のマッピングは、返ってきた値がなにを指すのかを定義する設定です。

    障害発生の条件、トリガーの設定

    pingの応答に何回無反応だったら障害と判定するかなど、障害や異常と認識するための条件や、リモートコマンドを実行する条件を設定するのがトリガーです。

    トリガーの設定もテンプレートのトリガーからアイテムと同じように設定できます。

    死活監視に関するトリガー

    pingによる死活監視に関するトリガーは「Unavailable by ICMP ping」です。このトリガーをクリックして開くと各種設定ができます。

    条件式の「{ping alive monitoring:icmpping.max(#3)}=0」が監視端末の死活を判定する条件です。この場合は3回連続でpingが返ってこなかったら障害が発生していると判定されるようになっています。

    この条件式の#3の部分の数字を変更すると、障害と判定されるまでの回数が変更されます。

    監視対象に再起動までに時間のかかる端末があるなどした場合、再起動のたびに障害通知されてしまうこともあるので、監視対象に合わせた回数に変更しましょう。

    以上でpingによる死活監視の設定は完了です。あとはこのテンプレートを監視対象のホストに適用すれば、Zabbix Serverから定期的にpingが送られ、死活が監視されるようになります。

    Zabbix Agentをインストールしたホストを自動で追加する

    監視したいホストが10台、100台と増えていくと、監視対象のホストを登録する作業にかかる時間も馬鹿になりません。

    そこでZabbix ServerにZabbix Agentからアクセスがあると、そのホストを自動で登録し、さらにテンプレートも自動で適用されるようにする方法をご紹介します。

    「設定」の「アクション」から「自動登録アクション」画面を開きます。

    画面右側の「アクションの作成」ボタンをクリック

    画面右側の「アクションの作成」ボタンをクリックし、「名前」欄に任意の名前を入力します。今回は「ホストの自動登録」と入力してみます。

    「実行内容」タブをクリック

    次に「実行内容」タブをクリックし、「実行内容欄」の「追加」をクリックします。

    「実行内容のタイプ」に「ホストを追加」を選択
    「実行内容のタイプ」に「ホストを追加」を選択して追加します。

    「作業内容欄」に「ホストの追加」が追加されていることを確認したら、次に追加されたホストにテンプレートを適用する作業を追加するため、もう一度「追加」をクリックしましょう。

    「実行内容のタイプ」で「テンプレートとのリンクを作成」を選択し、自動追加したホストに適用されるテンプレートを選択、addをクリックします。

    「ホストの追加」と「テンプレートとリンク」が表示

    実行内容にそれぞれ「ホストの追加」と「テンプレートとリンク」が表示されているのを確認したら、「追加」ボタンをクリックしてホストの自動登録に関する設定は完了です。

    法人PCや社内ネットワーク、各種サーバーの事ならICT基盤構築から運用・保守・改善までをサポートするパーペチュアにご相談下さい。

    神戸に本社のあるパーペチュアでは、ICT基盤構築→運用→保守→改善の永久に機能し続ける仕組みを提供してもうすぐ20周年。長年ICT機器に携わってきたICT機器に精通するスタッフが、技術力と情報力でお客様の様々なニーズにお応えいたします。

    業務の効率化を図るICT基盤の導入だけでなく既設機器の保守、運用、改善どのフェーズからもサポートいたします。ICT機器の運用を業務委託したい、従業員のPCのヘルプデスクをして欲しいなどどんなことでもご相談ください。費用やお見積もり、サービス内容など、気になることがございましたらお気軽にお問い合わせください。関西一円、東京、名古屋、福岡で対応可能です。


    神戸でパソコンの環境改善のことなら【パーペチュア】概要

    会社名 株式会社perpetua(パーペチュア)
    所在地 〒651-0087 兵庫県神戸市中央区御幸通2-1-6 ジェイルミナ神戸三宮301
    電話番号 078-200-6011
    FAX 078-200-6138
    URL http://perpetua.co.jp
    業務内容 パソコン環境改善提案・サーバー入れ替え・社内ネットワーク構築・社内ネットワーク保守など
    説明 神戸でパソコンの環境改善やサーバー・社内ネットワークの構築・保守なら【パーペチュア】にご相談ください。導入から運用、処分や次の導入まで、お客様のパソコン環境を永続させるためのサポートを行っております。サービスの内容や保守期間、費用などの料金面など、ご不明点はお気軽にお問い合わせください。
    日本
    都道府県 兵庫県
    市区町村 神戸市中央区