著者はhttps://www.brightfunds.org/organizations/open-source-initiative[Open Source Initiative]を選択して、https://do.co/w4do-cta [Donationsの書き込み]の一部として寄付を受け取りましたプログラム。

前書き

Zabbixは、ネットワークおよびアプリケーション用のオープンソースの監視ソフトウェアです。 サーバー、仮想マシン、ネットワークデバイス、およびWebアプリケーションから収集された数千のメトリックのリアルタイム監視を提供します。 これらのメトリックは、お客様が苦情を申し立てる前に、ITインフラストラクチャの現在の状態を判断し、ハードウェアまたはソフトウェアコンポーネントの問題を検出するのに役立ちます。 有用な情報はデータベースに保存されるため、長期間にわたってデータを分析し、提供されるサービスの品質を改善したり、機器のアップグレードを計画したりできます。

Zabbixでは、ユーザーサービスやクライアント/サーバーアーキテクチャのエージェントレス監視など、メトリックを収集するためのいくつかのオプションを使用します。 サーバーメトリクスを収集するために、監視対象クライアント上の小さなエージェントを使用してデータを収集し、Zabbixサーバーに送信します。 Zabbixは、サーバーと接続されたクライアント間の暗号化された通信をサポートしているため、安全でないネットワーク上を移動する間、データは保護されます。

Zabbixサーバーは、https://www.mysql.com/ [MySQL]、https://www.postgresql.org/ [PostgreSQL]、またはhttps://www.oracle.comを使用したリレーショナルデータベースにデータを保存します。 /index.html[Oracle]。 Elasticsearchやhttps://www.timescale.com/[TimescaleDB]などのnosqlデータベースに履歴データを保存することもできます。 Zabbixには、データを表示してシステム設定を構成できるWebインターフェースが用意されています。

このチュートリアルでは、2台のマシンを構成します。 1つはサーバーとして構成され、もう1つは監視するクライアントとして構成されます。 サーバーはMySQLデータベースを使用して監視データを記録し、Apacheを使用してWebインターフェースを提供します。

前提条件

このチュートリアルを実行するには、次のものが必要です。

  • Ubuntu 18.04の初期サーバーセットアップガイドに従って、2台のUbuntu 18.04サーバーをセットアップしました。 sudo特権を持つrootユーザーと `+ ufw +`で設定されたファイアウォール。 1つのサーバーにZabbixをインストールします。このチュートリアルでは、これを* Zabbixサーバー*と呼びます。 2番目のサーバーを監視します。この2番目のサーバーは、* 2番目のUbuntuサーバー*と呼ばれます。

  • Zabbixサーバーを実行するサーバーには、Apache、MySQL、およびPHPがインストールされている必要があります。 https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04 [このガイド]に従って、Zabbixサーバーでこれらを設定します。

さらに、Zabbixサーバーは、権限のないユーザーにアクセスさせたくないインフラストラクチャに関する貴重な情報にアクセスするために使用されるため、TLS / SSL証明書をインストールしてサーバーを安全に保つことが重要です。 これはオプションですが、強くお勧めしますUbuntu 18.04で暗号化しましょうのガイドに従ってください。無料のTLS / SSL証明書を取得します。

ステップ1-Zabbixサーバーのインストール

まず、MySQL、Apache、およびPHPをインストールしたサーバーにZabbixをインストールする必要があります。 非rootユーザーとしてこのマシンにログインします。

ssh @

ZabbixはUbuntuのパッケージマネージャーで使用できますが、古いため、https://repo.zabbix.com/ [Zabbix公式リポジトリ]を使用して最新の安定バージョンをインストールしてください。 リポジトリー構成パッケージをダウンロードしてインストールします。

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_+bionic_all.deb
sudo dpkg -i zabbix-release_+bionic_all.deb

次の出力が表示されます。

OutputSelecting previously unselected package zabbix-release.
(Reading database ... 61483 files and directories currently installed.)
Preparing to unpack zabbix-release_+bionic_all.deb ...
Unpacking zabbix-release (+bionicc) ...
Setting up zabbix-release (+bionicc) ...

新しいリポジトリが含まれるようにパッケージインデックスを更新します。

sudo apt update

次に、MySQLデータベースをサポートするZabbixサーバーとWebフロントエンドをインストールします。

sudo apt install zabbix-server-mysql zabbix-frontend-php

また、Zabbixサーバーのステータス自体に関するデータを収集できるZabbixエージェントをインストールします。

sudo apt install zabbix-agent

Zabbixを使用する前に、Zabbixサーバーがエージェントから収集するデータを保持するデータベースを設定する必要があります。 次のステップでこれを行うことができます。

ステップ2-Zabbix用のMySQLデータベースの設定

新しいMySQLデータベースを作成し、Zabbixに適したデータベースにするために、いくつかの基本情報を入力する必要があります。 また、このデータベース用に特定のユーザーを作成して、Zabbixが `+ root +`アカウントでMySQLにログインしないようにします。

MySQLサーバーのインストール中に設定した* root パスワードを使用して、 root *ユーザーとしてMySQLにログインします。

mysql -uroot -p

UTF-8文字をサポートするZabbixデータベースを作成します。

create database zabbix character set utf8 collate utf8_bin;

次に、Zabbixサーバーが使用するユーザーを作成し、新しいデータベースへのアクセスを許可し、ユーザーのパスワードを設定します。

grant all privileges on zabbix.* to @localhost identified by '';

次に、これらの新しい権限を適用します。

flush privileges;

ユーザーとデータベースの面倒を見てくれます。 データベースコンソールを終了します。

quit;

次に、初期スキーマとデータをインポートする必要があります。 Zabbixのインストールにより、これを設定するファイルが提供されました。

次のコマンドを実行してスキーマを設定し、データを `+ zabbix `データベースにインポートします。 ファイル内のデータは圧縮されているため、 ` zcat +`を使用します。

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

プロンプトが表示されたら、設定した「+ zabbix +」MySQLユーザーのパスワードを入力します。

このコマンドは、成功した場合、エラーを出力しません。 エラー「+ ERROR 1045(28000):Access denied for user + zabbix + @ ‘localhost’(password:YES)+`が表示される場合は、ではなく zabbix *ユーザーのパスワードを使用したことを確認してくださいroot *ユーザー。

Zabbixサーバーがこのデータベースを使用するには、Zabbixサーバー設定ファイルでデータベースパスワードを設定する必要があります。 任意のテキストエディターで構成ファイルを開きます。 このチュートリアルでは、 `+ nano +`を使用します。

sudo nano /etc/zabbix/zabbix_server.conf

ファイルの次のセクションを探します。

/etc/zabbix/zabbix_server.conf

### Option: DBPassword
#       Database password. Ignored for SQLite.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=

ファイル内のこれらのコメントは、データベースへの接続方法を説明しています。 ファイルの `+ DBPassword +`値をデータベースユーザーのパスワードに設定する必要があります。 これらのコメントの下に次の行を追加して、データベースを構成します。

/etc/zabbix/zabbix_server.conf

...
DBPassword=

「+ nano 」を使用している場合は、「 CTRL + X 」、「 Y 」、「 ENTER」の順に押して、「+ zabbix_server.conf」を保存して閉じます。

これにより、Zabbixサーバーの設定が処理されます。 次に、Zabbix Webインターフェースが適切に機能するように、PHPのセットアップにいくつかの変更を加えます。

ステップ3-Zabbix用のPHPの構成

ZabbixウェブインターフェースはPHPで書かれており、いくつかの特別なPHPサーバー設定が必要です。 Zabbixのインストールプロセスにより、これらの設定を含むApache設定ファイルが作成されました。 ディレクトリ `+ / etc / zabbix +`にあり、Apacheによって自動的にロードされます。 このファイルに小さな変更を加える必要があるので、次のようにして開きます。

sudo nano /etc/zabbix/apache.conf

このファイルには、Zabbix Webインターフェースに必要な要件を満たすPHP設定が含まれています。 ただし、タイムゾーン設定はデフォルトでコメント化されています。 Zabbixが正しい時間を使用していることを確認するには、適切なタイムゾーンを設定する必要があります。

/etc/zabbix/apache.conf

...
<IfModule mod_php7.c>
   php_value max_execution_time 300
   php_value memory_limit 128M
   php_value post_max_size 16M
   php_value upload_max_filesize 2M
   php_value max_input_time 300
   php_value always_populate_raw_post_data -1

</IfModule>

前のコードブロックで強調表示されているタイムゾーンの行のコメントを解除し、タイムゾーンに変更します。 このhttp://php.net/manual/en/timezones.php [サポートされているタイムゾーンのリスト]を使用して、適切なものを見つけることができます。 次に、ファイルを保存して閉じます。

次に、Apacheを再起動して、これらの新しい設定を適用します。

sudo systemctl restart apache2

これで、Zabbixサーバーを起動できます。

sudo systemctl start zabbix-server

次に、Zabbixサーバーが正しく実行されているかどうかを確認します:

sudo systemctl status zabbix-server

次のステータスが表示されます。

Output● zabbix-server.service - Zabbix Server
  Loaded: loaded (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled)
  Active:  since Fri 2019-04-05 08:50:54 UTC; 3s ago
 Process: 16497 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 ...

最後に、起動時にサーバーを起動できるようにします。

sudo systemctl enable zabbix-server

サーバーがセットアップされ、データベースに接続されます。 次に、Webフロントエンドをセットアップします。

手順4-Zabbix Webインターフェイスの設定の構成

Webインターフェースでは、レポートを表示し、監視するホストを追加できますが、使用する前に初期設定が必要です。 ブラウザを起動して、アドレス「+ http:/// zabbix / +」に移動します。 最初の画面に、ようこそメッセージが表示されます。 [次のステップ]をクリックして続行します。

次の画面で、Zabbixを実行するためのすべての前提条件をリストした表が表示されます。

画像:https://assets.digitalocean.com/articles/cart_66209/Prerequisites.png [前提条件]

この表の値はすべて* OK *である必要があるため、値が正しいことを確認してください。 必ず下にスクロールして、すべての前提条件を確認してください。 すべての準備が整ったことを確認したら、[次のステップ]をクリックして続行します。

次の画面では、データベース接続情報を求められます。

image:https://assets.digitalocean.com/articles/cart_66209/DB_Connection.png [DB接続]

データベースについてZabbixサーバーに伝えましたが、Zabbix Webインターフェースはホストを管理しデータを読み取るためにデータベースへのアクセスも必要とします。 したがって、手順2で設定したMySQL資格情報を入力し、[次の手順]をクリックして続行します。

次の画面で、オプションをデフォルト値のままにしておくことができます。

image:https://assets.digitalocean.com/articles/cart_66209/Server_Details.png [Zabbixサーバーの詳細]

*名前*はオプションです。複数の監視サーバーがある場合に、Webインターフェイスでサーバーを区別するために使用されます。 [次のステップ]をクリックして続行します。

次の画面にはインストール前の概要が表示されるため、すべてが正しいことを確認できます。

画像:https://assets.digitalocean.com/articles/cart_66209/Summary.png [概要]

*次のステップ*をクリックして、最終画面に進みます。

Webインターフェイスのセットアップが完了しました! このプロセスは設定ファイル `+ / usr / share / zabbix / conf / zabbix.conf.php +`を作成します。これは将来バックアップして使用できます。 [完了]をクリックして、ログイン画面に進みます。 デフォルトのユーザーは* Admin で、パスワードは zabbix *です。

ログインする前に、2台目のUbuntuサーバーでZabbixエージェントをセットアップします。

ステップ5-Zabbixエージェントのインストールと設定

次に、Zabbixサーバーに監視データを送信するエージェントソフトウェアを設定する必要があります。

2番目のUbuntuサーバーにログインします。

ssh @

次に、Zabbixサーバーと同様に、次のコマンドを実行してリポジトリ設定パッケージをインストールします。

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_+bionic_all.deb
sudo dpkg -i zabbix-release_+bionic_all.deb

次に、パッケージインデックスを更新します。

sudo apt update

次に、Zabbixエージェントをインストールします。

sudo apt install zabbix-agent

Zabbixは証明書ベースの暗号化をサポートしていますが、認証局の設定はこのチュートリアルの範囲外ですが、事前共有キー(PSK)を使用してサーバーとエージェント間の接続を保護できます。

まず、PSKを生成します。

sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

キーを表示して、どこかにコピーできるようにします。 ホストを構成するために必要になります。

cat /etc/zabbix/zabbix_agentd.psk

キーは次のようになります。

Output

Zabbixエージェントの設定を編集して、Zabbixサーバーへの安全な接続を設定します。 テキストエディターでエージェント構成ファイルを開きます。

sudo nano /etc/zabbix/zabbix_agentd.conf

このファイル内の各設定は、ファイル全体の有益なコメントを介して文書化されますが、編集する必要があるのはそれらの一部のみです。

最初に、ZabbixサーバーのIPアドレスを編集する必要があります。 次のセクションを見つけます。

/etc/zabbix/zabbix_agentd.conf

...
### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: no
# Default:
# Server=

Server=127.0.0.1
...

デフォルト値をZabbixサーバーのIPに変更します。

/etc/zabbix/zabbix_agentd.conf

...
Server=
...

次に、Zabbixサーバーへの安全な接続を設定し、事前共有キーのサポートを有効にするセクションを見つけます。 次のような `+ TLSConnect +`セクションを見つけます。

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSConnect
#       How the agent should connect to server or proxy. Used for active checks.
#       Only one value can be specified:
#               unencrypted - connect without encryption
#               psk         - connect using TLS and a pre-shared key
#               cert        - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSConnect=unencrypted
...

次に、次の行を追加して、事前共有キーのサポートを構成します。

/etc/zabbix/zabbix_agentd.conf

...
TLSConnect=
...

次に、次のような `+ TLSAccept +`セクションを見つけます。

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSAccept
#       What incoming connections to accept.
#       Multiple values can be specified, separated by comma:
#               unencrypted - accept connections without encryption
#               psk         - accept connections secured with TLS and a pre-shared key
#               cert        - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSAccept=unencrypted
...

次の行を追加して、事前共有キーをサポートする着信接続を構成します。

/etc/zabbix/zabbix_agentd.conf

...
TLSAccept=
...

次に、次のような `+ TLSPSKIdentity +`セクションを見つけます。

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKIdentity=
...

次の行を追加して、事前共有キーを識別する一意の名前を選択します。

/etc/zabbix/zabbix_agentd.conf

...

...

Zabbixウェブインターフェースからホストを追加するときに、これを* PSK ID *として使用します。

次に、以前に作成した事前共有キーを指すオプションを設定します。 `+ TLSPSKFile +`オプションを見つけます:

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKFile=
...

次の行を追加して、Zabbixエージェントが作成したPSKファイルを指すようにします。

/etc/zabbix/zabbix_agentd.conf

...
TLSPSKFile=
...

ファイルを保存して閉じます。 これで、Zabbixエージェントを再起動し、ブート時に起動するように設定できます。

sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent

適切な測定のために、Zabbixエージェントが正しく実行されていることを確認します。

sudo systemctl status zabbix-agent

次のステータスが表示され、エージェントが実行されていることが示されます。

Output● zabbix-agent.service - Zabbix Agent
  Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)
  Active:  since Fri 2019-04-05 09:03:04 UTC; 1s ago
 ...

エージェントはサーバーからの接続をポート `+ 10050 +`でリッスンします。 このポートへの接続を許可するようにUFWを構成します。

sudo ufw allow 10050/tcp

UFWの詳細については、https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04 [セットアップ方法Ubuntu 18.04でのUFWを使用したファイアウォール]。

これで、エージェントはZabbixサーバーにデータを送信する準備ができました。 ただし、それを使用するには、サーバーのウェブコンソールからリンクする必要があります。 次のステップでは、構成を完了します。

手順6-Zabbixサーバーへの新しいホストの追加

監視するサーバーにエージェントをインストールすることは、プロセスの半分だけです。 監視する各ホストは、Zabbixサーバーに登録する必要があります。これは、Webインターフェースから実行できます。

アドレス `+ http:/// zabbix / +`に移動して、ZabbixサーバーのWebインターフェースにログインします。

image:https://assets.digitalocean.com/articles/cart_66209/Login_Screen.png [Zabbixログイン画面]

ログインしたら、*構成*をクリックしてから、上部ナビゲーションバーの*ホスト*をクリックします。 次に、画面の右上隅にある[ホストの作成]ボタンをクリックします。 これにより、ホスト構成ページが開きます。

image:https://assets.digitalocean.com/articles/cart_66209/Create_Host.png [ホストの作成]

2番目のUbuntuサーバーのホスト名とIPアドレスを反映するように*ホスト名*と* IPアドレス*を調整し、ホストをグループに追加します。 * Linuxサーバー*などの既存のグループを選択するか、独自のグループを作成できます。 ホストは複数のグループに属することができます。 これを行うには、[グループ]フィールドに既存または新しいグループの名前を入力し、提案されたリストから目的の値を選択します。

グループを追加したら、[テンプレート]タブをクリックします。

image:https://assets.digitalocean.com/articles/cart_66209/Add_Template.png [ホストへのテンプレートの追加]

  • Search フィールドに「+ Template OS Linux +」と入力し、 Add *をクリックしてこのテンプレートをホストに追加します。

次に、[暗号化]タブに移動します。 [ホストへの接続]と[ホストからの接続]の両方に対して[* PSK ]を選択します。 次に、 PSK identity を「+ PSK 001+」に設定します。これは、前に設定したZabbixエージェントの TLSPSKIdentity 設定の値です。 次に、 PSK *の値を、Zabbixエージェント用に生成したキーに設定します。 これは、エージェントマシンのファイル「+ / etc / zabbix / zabbix_agentd.psk +」に保存されているものです。

image:https://assets.digitalocean.com/articles/cart_66209/Set_Up_Encryption.png [暗号化のセットアップ]

最後に、フォームの下部にある[追加]ボタンをクリックして、ホストを作成します。

リストに新しいホストが表示されます。 少し待ってからページをリロードして、すべてが正常に機能し、接続が暗号化されていることを示す緑色のラベルを確認します。

image:https://assets.digitalocean.com/articles/cart_66209/New_Host.png [Zabbixは新しいホストを示します]

追加のサーバーを監視する必要がある場合は、各ホストにログインし、Zabbixエージェントをインストールし、PSKを生成し、エージェントを設定し、最初のホストを追加するための手順と同じ手順に従って、ホストをWebインターフェースに追加します。

Zabbixサーバーは2番目のUbuntuサーバーを監視しています。 次に、電子メール通知を設定して、問題が通知されるようにします。

手順7-電子メール通知の構成

Zabbixは、電子メール、https://www.jabber.org/ [Jabber]、SMSなどのいくつかのタイプの通知を自動的にサポートします。 TelegramやSlackなどの代替通知方法を使用することもできます。 統合の完全なリストはhttps://www.zabbix.com/ru/integrations/?cat=notifications_alerting [こちら]で確認できます。

最も簡単な通信方法は電子メールです。このチュートリアルでは、このメディアタイプの通知を構成します。

*管理*をクリックしてから、上部ナビゲーションバーの*メディアタイプ*をクリックします。 すべてのメディアタイプのリストが表示されます。 [メール]をクリックします。

電子メールサービスによって提供される設定に従って、SMTPオプションを調整します。 このチュートリアルでは、GmailのSMTP機能を使用してメール通知を設定します。この設定の詳細については、https://www.digitalocean.com/community/tutorials/how-to-use-google-s-smtp-server [GoogleのSMTPサーバーの使用方法]をご覧ください。

また、メッセージformat-h​​tmlまたはプレーンテキストを選択することもできます。 最後に、フォームの下部にある[更新]ボタンをクリックして、メールパラメータを更新します。

image:https://assets.digitalocean.com/articles/cart_66209/Set_Up_Email.png [メールのセットアップ]

次に、新しいユーザーを作成します。 *管理*をクリックし、上部のナビゲーションバーで*ユーザー*をクリックします。 ユーザーのリストが表示されます。 次に、画面の右上隅にある[*ユーザーの作成]ボタンをクリックします。 これにより、ユーザー構成ページが開きます。

image:https://assets.digitalocean.com/articles/cart_66209/Create_User.png [ユーザーの作成]

エイリアス*フィールドに新しいユーザー名を入力し、新しいパスワードを設定します。 次に、ユーザーを管理者のグループに追加します。 「*グループ」フィールドに「+ Zabbix管理者+」と入力し、提案されたリストから選択します。

グループを追加したら、[メディア]タブをクリックし、下線付きの[追加]リンクをクリックします。 ポップアップウィンドウが表示されます。

image:https://assets.digitalocean.com/articles/cart_66209/Add_Email.png [メールの追加]

[送信先]フィールドにメールアドレスを入力します。 残りのオプションはデフォルト値のままにしておくことができます。 下部にある[追加]ボタンをクリックして送信します。

ここで、* Permissions タブに移動します。 *ユーザータイプ*ドロップダウンメニューから Zabbix Super Admin *を選択します。

最後に、フォームの下部にある[追加]ボタンをクリックして、ユーザーを作成します。

次に、通知を有効にする必要があります。 [構成]タブをクリックし、上部のナビゲーションバーの[アクション]をクリックします。 すべてのZabbix管理者に通知を送信する事前設定されたアクションが表示されます。 名前をクリックして設定を確認および変更できます。 このチュートリアルでは、デフォルトのパラメーターを使用します。 アクションを有効にするには、[ステータス]列の赤い[無効]リンクをクリックします。

これで、アラートを受信する準備が整いました。 次のステップでは、通知設定をテストするために生成します。

ステップ8-テストアラートの生成

このステップでは、テストアラートを生成して、すべてが接続されていることを確認します。 デフォルトでは、Zabbixはサーバーの空きディスク容量を追跡します。 すべてのディスクマウントを自動的に検出し、対応するチェックを追加します。 このディスカバリーは1時間ごとに実行されるため、通知がトリガーされるまでしばらく待つ必要があります。

Zabbixのファイルシステム使用状況アラートをトリガーするのに十分な大きさの一時ファイルを作成します。 これを行うには、まだ接続していない場合は2番目のUbuntuサーバーにログインします。

ssh @

次に、サーバー上の空き容量を確認します。 `+ df +`コマンドを使用して確認できます:

df -h

コマンド「+ df 」はファイルシステムのディスクスペース使用量を報告し、「-h +」は出力を人間が読めるようにします。 次のような出力が表示されます。

OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  1.2G      5% /

この場合、空き領域は* 23GB *です。 空き容量は異なる場合があります。

`+ fallocate +`コマンドを使用すると、ファイルにスペースを事前に割り当てまたは割り当て解除して、使用可能なディスクスペースの80%以上を占めるファイルを作成できます。 これはアラートをトリガーするのに十分です:

fallocate -l 20G /tmp/temp.img

約1時間後、Zabbixは空きディスク容量に関するアラートをトリガーし、設定したアクションを実行して通知メッセージを送信します。 Zabbixサーバーからのメッセージを受信ボックスで確認できます。 次のようなメッセージが表示されます。

OutputProblem started at 10:37:54 on 2019.04.05
Problem name: Free disk space is less than 20% on volume /
Host: Second Ubuntu server
Severity: Warning

Original problem ID: 34

また、[監視]タブに移動してから[ダッシュボード]に移動して、通知とその詳細を確認することもできます。

image:https://assets.digitalocean.com/articles/cart_66209/Main_Dashboard.png [メインダッシュボード]

アラートが機能していることがわかったので、作成した一時ファイルを削除して、ディスク容量を再利用できるようにします。

rm -f /tmp/temp.img

しばらくすると、Zabbixが回復メッセージを送信し、アラートがメインダッシュボードから消えます。

結論

このチュートリアルでは、サーバーの状態を監視するのに役立つ簡単で安全な監視ソリューションを設定する方法を学びました。 問題を警告できるようになり、ITインフラストラクチャで発生するプロセスを分析する機会が得られます。

監視インフラストラクチャの設定の詳細については、https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elastic-stack-on-ubuntu-18-04をご覧ください。 [Elasticsearch、Logstash、Kibana(Elastic Stack)をUbuntu 18.04にインストールする方法]およびhttps://www.digitalocean.com/community/tutorials/how-to-gather-infrastructure-metrics-with-metricbeat-on-ubuntu -18-04 [Ubuntu 18.04でMetricbeatを使用してインフラストラクチャメトリックを収集する方法]。