Zabbix エージェントで Linux を監視する

はじめに

このページでは、Zabbix を使用して Linux マシンの基本的な監視を開始するために必要な手順を説明します。
このチュートリアルで説明する手順は、Linux ベースのあらゆるオペレーティングシステムに適用できます。

このガイドの対象者

このガイドは、Zabbixを初めて使用するユーザー向けに作成されており、Linuxマシンの基本的な監視を有効にするために必要な最小限の手順が含まれています。より詳細なカスタマイズオプションを探している場合や、より高度な設定が必要な場合は、ZabbixマニュアルのConfigurationセクションを参照してください。

前提条件

このガイドを進める前に、OS向けの手順に従って ダウンロードしてインストール し、Zabbix サーバーと Zabbix Webインターフェースを準備してください。

Zabbix エージェントのインストール

Zabbix エージェントは、データ収集を担当するプロセスです。

Zabbix サーバーのバージョンを確認します:

zabbix_server -V

監視対象の Linux マシンに、同じバージョンの Zabbix エージェントをインストールすることを推奨します。
監視要件によっては、Zabbix サーバーがインストールされているのと同じマシンの場合もあれば、まったく別のマシンの場合もあります。

最適なインストール方法を選択します:

  • Docker コンテナとして実行する - 利用可能なイメージの一覧は Zabbix Docker repository を参照してください。

  • Zabbix の packages からインストールする (Alma Linux、CentOS、Debian、Oracle Linux、Raspberry Pi OS、RHEL、Rocky Linux、SUSE Linux Enterprise Server、Ubuntu で利用可能です)。

  • ソース からコンパイルする。

Zabbixの監視設定

Zabbix エージェントは、アクティブモードまたはパッシブモードでメトリクスを収集できます(同時に使用可能です)。

パッシブチェックは、単純なデータ要求です。Zabbix サーバーまたはプロキシが何らかのデータ(たとえば CPU 使用率)を要求し、Zabbix エージェントが結果をサーバーに返します。アクティブチェックでは、より複雑な処理が必要です。エージェントはまず、サーバーから独立して処理するためのアイテム一覧を取得し、その後、データをまとめて送信します。詳細は Passive and active agent checks を参照してください。

Zabbix が提供する監視テンプレートには通常、2つの選択肢があります。Zabbix エージェント用のテンプレートと、Zabbix エージェント(アクティブ)用のテンプレートです。最初の विकल्पでは、エージェントがパッシブモードでメトリクスを収集します。
これらのテンプレートは、通信プロトコルは異なりますが、同一の監視結果を提供します。

その後の Zabbix の設定は、アクティブ または パッシブ の Zabbix エージェントチェック用テンプレートを選択したかどうかによって異なります。

パッシブチェック

Zabbix エージェント

1. エージェントがインストールされているマシンで、エージェントの設定ファイルを開きます。

sudo vi /etc/zabbix/zabbix_agentd.conf

2. Zabbix サーバーの IP アドレスまたは DNS 名を Server パラメータに追加します。

Server=192.0.2.22

3. Zabbix エージェントを再起動します。

systemctl restart zabbix-agent

Zabbix Webインターフェース

1. Zabbix Webインターフェースにログインします。

2. Zabbix Webインターフェースでホストを作成します。

  • ホスト名 フィールドに、ホスト名を入力します(例: "Linux server")。
  • テンプレート フィールドに、ホストにリンクされる "Linux by Zabbix エージェント" テンプレートを入力または選択します。
  • ホストグループ フィールドに、ホストグループを入力または選択します(例: "Linux servers")。
  • Interfaces パラメータで、エージェント インターフェースを追加し、エージェントがインストールされている Linux マシンの IP アドレスまたは DNS 名を指定します。

3. Add をクリックしてホストを追加します。このホストは、監視対象の Linux マシンを表します。

アクティブチェック

Zabbix エージェント

1. エージェントがインストールされているマシンで、エージェントの設定ファイルを開きます。

sudo vi /etc/zabbix/zabbix_agentd.conf

2. ServerActive パラメータに、Zabbix サーバーの IP アドレスまたは DNS 名(必要に応じてポートも)を追加します。例:

ServerActive=192.0.2.1:10051

Zabbix エージェントはこのアドレスを使用して Zabbix サーバーの trapper ポート(デフォルト: 10051)に接続し、アクティブチェック用の設定データを要求します。

3. Zabbix Webインターフェース で定義されるホスト名と一致する必要がある Hostname パラメータを定義します。例:

Hostname=Linux server

Hostname の値が一致している必要があるのは、アクティブチェックでは Zabbix エージェントがそれを使用してサーバーから正しいホスト設定を取得するためです。具体的には、エージェントはサーバーへの接続を開始し、Hostname の値を使って自身を識別します。その後、サーバーはそのホストに対する監視設定を提供します。これらの値が異なると、エージェントは適切な設定を受け取れず、メトリクスの欠落や監視上の問題が発生します。

4. Zabbix エージェントを再起動します。

systemctl restart zabbix-agent

Zabbix Webインターフェース

1. Zabbix Webインターフェースにログインします。

2. Zabbix Webインターフェースでホストを作成します。

  • Host name フィールドに、以前エージェント設定ファイルで定義した Hostname パラメーター値と一致するホスト名(例: "Linux server")を入力します。
  • Templates フィールドで、ホストにリンクされるテンプレート "Linux by Zabbix agent active" を入力または選択します。
  • Host groups フィールドで、ホストグループ(例: "Linux servers")を入力または選択します。
  • Interfaces は未定義のままにします。アクティブチェックでは、エージェントがサーバーからの接続を待ち受けるのではなく、サーバーへの接続を開始するため、インターフェースは必要ありません。

3. Add をクリックしてホストを追加します。このホストは監視対象の Linux マシンを表します。

収集されたメトリクスを表示する

おめでとうございます。ここまでで、Zabbix はすでに Linux マシンの監視を開始しています。

収集されたメトリクスを表示するには、Monitoring->Hosts
メニューセクションを開き、ホストの横にある Latest data をクリックします。

この操作により、Linux サーバーホストから収集された最新のすべてのメトリクスの一覧が開きます。

障害アラートの設定

Zabbix は、さまざまな方法でインフラストラクチャの障害を通知できます。
このガイドでは、メールアラートを送信するための設定手順を説明します。

1. ユーザー設定 -> プロファイル に移動し、メディア タブに切り替えて、
メールアドレスを追加します

2. 障害通知の受信 のガイドに従います。

次回 Zabbix が障害を検出したときに、メールでアラートを受け取れるはずです。

設定をテストする

Linux では、次のコマンドを実行して高い CPU 負荷をシミュレートし、その結果として障害アラートを受信できます。

cat /dev/urandom | md5sum

CPU 負荷がしきい値を超えるようにするには、複数の md5sum プロセスを実行する必要がある場合があります。

Zabbix が障害を検出すると、Monitoring->Problems セクションに表示されます。

アラートが 設定されている 場合は、障害通知も受信します。

関連項目: