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

はじめに

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

このガイドの対象者

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

前提条件

このガイドを進める前に、お使いのOS向けの手順に従って、ZabbixサーバーおよびZabbix Webインターフェースをダウンロードしてインストールする必要があります。

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

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

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

zabbix_server -V

監視したいLinuxマシンに、同じバージョンのZabbixエージェントをインストールします(推奨)。
監視要件に応じて、Zabbixサーバーがインストールされている同じマシンにインストールすることも、まったく別の マシンにインストールすることもできます。

最適なインストール方法を選択してください。

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

  • Zabbixのパッケージからインストールする(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つの選択肢があります。1つはZabbixエージェント用のテンプレート、もう1つはZabbixエージェント(アクティブ)用のテンプレートです。前者を選択した場合、エージェントはパッシブモードでメトリクスを収集します。
これらのテンプレートは、使用する通信プロトコルは異なりますが、同一の監視結果を提供します。

以降のZabbix設定は、active または passive のどちらのZabbixエージェントチェック用テンプレートを選択するかによって異なります。

パッシブチェック

Zabbixエージェント

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

sudo vi /etc/zabbix/zabbix_agentd.conf

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

Server=192.0.2.0:10051

Zabbixエージェントはこのアドレスを使用して、指定されたZabbixサーバーまたはプロキシからの受信接続のみを受け付け、データ取得を許可します。

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

systemctl restart zabbix-agent

Zabbix Webインターフェース

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

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

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

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

アクティブチェック

Zabbixエージェント

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

sudo vi /etc/zabbix/zabbix_agentd.conf

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

ServerActive=192.0.2.0:10051

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

3. Hostnameパラメータを定義します。これは、Zabbix Webインターフェースで定義するホスト名と一致している必要があります。この例では、次のようになります。

Hostname=Linux server

アクティブチェックでは、Zabbixエージェントはこの値を使用してサーバーから正しいホスト設定を取得するため、Hostnameの値は一致している必要があります。具体的には、エージェントはサーバーへの接続を開始し、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 マシンの監視を開始しています。

収集したメトリクスを表示するには、監視->ホストメニューセクション を開き、ホストの横にある 最新データ をクリックします。

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

問題アラートの設定

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

1. User settings -> Profile に移動し、Media タブに切り替えて、メールアドレスを追加します。

2. 問題通知の受信 のガイドに従ってください。

次回、Zabbixが問題を検出したときに、メールでアラートを受信するはずです。

設定をテストする

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

cat /dev/urandom | md5sum

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

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

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

関連項目:

  • アイテムの作成 -
    追加のメトリクスの監視を開始する方法(テンプレートを使用しないカスタム監視)。
  • Zabbixエージェントアイテム, Windows向けZabbixエージェントアイテム - WindowsでZabbixエージェントを使用して監視できるメトリクスの完全な一覧。
  • 障害のエスカレーション - 複数段階のアラートシナリオを作成する方法 (例: まずシステム管理者にメッセージを送信し、その後、障害が45分以内に解決されない場合は、 データセンターマネージャーにメッセージを送信します)。
  • パッケージからのインストール - 各種Linuxディストリビューション向けの公式RPMおよびDEBパッケージを使用してZabbixコンポーネントをインストールする方法。これにより、最新機能およびバグ修正を利用できます。