Zabbixでプロセス監視する手順をWindowsとLinuxともに詳しく紹介

2020年5月12日にリリースされたZabbix 5.0 LTSにおけるプロセス監視の設定手順を紹介します。また、無料かつ5分でプロセス監視を始める方法も紹介していますので参考にしてみてください。

目次

Zabbixでプロセス監視する手順

まず準備したZabbix環境は以下の通りとし、インストール直後の状態となります(Zabbix構築手順の詳細を知りたい方はこちらの記事をご参照ください)。この記事では、監視対象プロセスをログ収集で利用されることが多いtd-agent(fluentd)とします。Linux編Windows編、それぞれ設定し、各環境差異も見ていきましょう。最後に通知設定の手順も紹介します。

  • 監視サーバー:Zabbix Server 5.0 LTS on CentOS8 (MySQL)
  • 監視対象サーバー:Windows Server 2019、CentOS8
  • 監視対象プロセス:td-agent(fluentd)

Linux編(CentOS8)

1. エージェントのインストール

まずは、CentOS8にZabbixエージェントをインストールします(Zabbixエージェントのインストール手順の詳細を知りたい方はこちらの記事をご参照ください)。公式リポジトリを監視対象サーバーに追加する事で、dnfコマンドでパッケージインストールが可能です。

2. エージェントの設定変更

エージェントのインストール後、Zabbixエージェントの設定変更を行います。今回は最小限の設定のみ行いました。設定後、エージェントを起動し、忘れずに自動起動も設定する必要があります(Zabbixエージェントの設定手順の詳細を知りたい方はこちらの記事をご参照ください)。

3. ホスト登録

ここからはZabbix ServerのGUIにログインしての作業です。エージェントをインストールしたCentOS8を監視対象に追加するため、左メニュペインより「ホスト」を選択後、右画面にある「ホストの作成」を選択します。

遷移後の画面は複数タブになっていますので、まずはホストタブにてホスト名やホストのグループ、インターフェース情報を入力します。入力が完了しても、追加はまだ押さないでください。

4. テンプレート及びその他関連付け設定

次に、テンプレートタブより追加するホストと関連付けるテンプレートを追加します。テンプレートは複数選択しても問題ありませんが、収集するアイテムが増加するとZabbix Serverのデータ使用量や負荷が増加するため、必要なテンプレートのみに限定する必要があります。これ以外にも必要に応じてその他タブから追加するホストに必要な情報を登録します。問題なければ、追加からホストを登録します。

設定が問題なければ、画面のように選択したテンプレートがリンクされ、Zabbixエージェントとの疎通が正常であれば「ZBX」のアイコンが緑色に点灯します。

5. プロセス監視の追加

ここからはプロセス監視の設定になります。今回監視するtd-agentはZabbixのテンプレートでは用意されていないため、個別にアイテムを追加する必要があります。画像では直接ホストに追加していますが、テンプレートに追加する方法もありますので環境に合わせて設定してください。

Zabbixでプロセス監視を設定する手順1

アイテム追加の画面で名前はアイテムの内容がわかる任意の名前を登録し、キーにはZabbixエージェントタイプの「proc.num」を利用してプロセス数を取得します。キーの引数には監視対象プロセスであるtd-agentを監視できるように画像のような引数を設定し、アイテムを登録します。

Zabbixでプロセス監視を設定する手順2

設定が問題なければ、監視データより対象ホストに登録したアイテムが収集できていることを確認することができます。収集できていない場合は、設定を再度見直してください。

Zabbixでプロセス監視を設定する手順3

6. プロセス監視の閾値設定

登録したアイテムに対して、今度は監視閾値となるZabbixのトリガーを設定します。トリガー登録はホストからトリガーを選択することで追加することができます。

Zabbixのプロセス監視の閾値を設定する手順1

トリガー設定画面では、プロセス障害とする条件式や復旧とする条件式を設定していきます。今回のケースではtd-agentが常に2プロセス存在することを正常とし、2未満は障害とするように登録してみました。監視するプロセスによっては増減するものも存在するため、監視対象に合わせて条件式を設定する必要があります。条件式が設定できれば、設定したトリガーを追加することでプロセス監視の設定は完了となります。

Zabbixのプロセス監視の閾値を設定する手順2

無料かつ5分でプロセス監視を始める方法はこちら

Windows編(Windows Server 2019)

 1. エージェントのインストール

Windows Serverの場合、公式HPより利用する環境に合わせたmsiファイルをダウンロードできますので、監視対象のWindows Serverから直接ダウンロードして、インストールを行います(Zabbixエージェントのインストール手順の詳細を知りたい方はこちらの記事をご参照ください)。

ダウンロードしたインストーラーを実行し、画面に従ってZabbix ServerのIPアドレスやインストール先のディレクトリを設定することでエージェントをインストールすることができます。

2. エージェントの設定変更

インストーラーで入力したZabbix Serverなどの情報はすでに設定に反映されていますが、それ以外の項目についてはLinuxと同様に設定ファイルから変更する必要があります。設定変更後、忘れずにZabbixエージェントを再起動して反映させてください(Zabbixエージェントの設定手順の詳細を知りたい方はこちらの記事をご参照ください)。

3. ホスト登録以降の手順について

ホスト登録以降のZabbix ServerのGUIで操作する内容はLinuxと大きな変更はありません。Linux編で対応した内容をWindows Serverに置き換えて設定することで登録完了できるため、手順は割愛させていただきます。

無料かつ5分でプロセス監視を始める方法はこちら

通知設定

1. メールサーバーの設定

Zabbixにデフォルトで用意されているメール配信の方法では、SMTPメールサーバーを用意する必要があります。Zabbix ServerのGUIより、管理にあるメディアタイプからEmailを選択すると設定画面が開くので、必要なパラメータを更新して設定します。

2. 通知先の登録

通知先の登録を行うために、管理にあるユーザーよりユーザー毎に通知先を設定することができます。メールアドレスの場合はメディアタイプをEmailで登録します。

3. 通知条件の設定

利用するメディアタイプの設定が出来たら、アクションから監視対象毎の通知先や通知条件を設定します。アクションタブで通知する監視対象を設定後、実行内容タブにて通知先ユーザーを登録します。これでZabbix環境における障害時にアラートをメール通知させる設定が完了しました。

(参考ドキュメント:https://www.zabbix.com/documentation/current/manual)

無料かつ5分でプロセス監視を始める方法

Zabbixによる監視にトライして、わずらわしさや難しさを感じた方もいるかもしれません。そんな方はここで紹介する方法も試してみてください。

数あるサーバー監視ツールの中でも、監視を開始するまでの工数が最もかからないもののひとつがSaaS型ツールの「Site24x7(サイトトゥエンティーフォーセブン)」です。無料で始められる上、2,000円/月からスモールスタートできるのも好評で、今ユーザーが増えています。

ここからは、そのSite24x7でプロセスを監視する手順を紹介します。

フリープランにサインアップ

まず、フリープランのサインアップフォーム(https://www.site24x7.jp/signup.html?pack=1&l=ja)からSite24x7にサインアップします。サインアップフォームは非常にシンプルで、メールアドレスとパスワードを入力するのみです。

サインアップするのに1分もかかりません。フリープランを試すのにクレジットカードの入力が不要なので、サブスクリプションタイプにありがちな課金停止漏れが発生しない安心設計となっています。

ここからは、Zabbix同様、Linux編Windows編の設定手順と、最後に通知設定の手順を紹介します。

Linux編

1. エージェントのインストール

Site24x7のエージェントのインストールは、Site24x7で用意されているコマンドを流すだけです。Site24x7にログイン後、サーバーより監視の追加ボタンを選択後、対象となるOSを選択することで画像のようにインストールのコマンドが自動生成されます。

あとはこちらのコマンドを準備していた環境で実行するのみです。これだけでインストールが完了し、Site24x7に監視対象のサーバーが登録されています。

この後、Zabbixでは、エージェントの設定変更、ホスト登録、テンプレート及びその他関連付けを実施する必要がありますが、それらは自動化されていますのでSite24x7では不要です。

2. プロセス監視の追加

Site24x7ではプロセス一覧を収集しているため、監視したいプロセスを一覧から追加するだけで設定可能となります。対象サーバーの詳細画面のプロセスタブを選択し、プロセスのディスカバリーを選択してください。

プロセス監視の追加手順1

プロセス一覧からあとは追加したいプロセスを検索して、追加を選択するだけです。これだけで監視対象のプロセスを追加が完了しました。

プロセス監視の追加手順2

3. プロセス監視の閾値設定

追加したプロセスに閾値設定を行います。対象となるプロセスの編集アイコンを選択します。

プロセス監視の閾値を設定する手順1

しきい値プロファイルの編集画面で、プロセスがダウンした際の通知を有効にするだけで設定完了となります。

プロセス監視の閾値を設定する手順2

これ以外にもプロセスのCPUやメモリ使用率にも応じてアラート設定をすることができます。Site24x7のプロセス監視の設定はこれで完了です。

Windows編

1. エージェントのインストール

監視対象サーバーからSite24x7にログインし、エージェントをダウンロードします。ダウンロードしたエージェントのインストーラーを起動し、Device Keyを入力後、インストールに従ってインストールを行います。原則、このDevice Key以外はデフォルトのままで問題ありません。インストールが完了次第、Site24x7に監視対象サーバーが登録されています。

この後、Zabbixでは、エージェントの設定変更、ホスト登録、テンプレート及びその他関連付けを実施する必要がありますが、それらは自動化されていますのでSite24x7では不要です。

2. プロセス監視の追加

Windows Serverでも同様にプロセスは自動収集されています。違いとしてはWindows特有のWindowsサービスがタブとして追加されている点です。要件に合わせてプロセスもしくはWindowsサービスを監視対象に設定します。画像では、Windowsサービスを対象にtd-agentの監視を追加しています。

プロセス監視の追加手順

3. プロセス監視の閾値設定

Linuxと同様にWindowsサービスにも編集アイコンを選択し、プロセスがダウンした際の通知を有効化するだけでプロセス監視の設定は完了となります。

プロセス監視の閾値を設定する手順

通知設定

1. メールサーバーの設定

Site24x7ではメールサーバーを用意する必要はありません。代わりにメールを受信出来るように特定のIPアドレスからの受信許可を追加します。

2. 通知先の設定

デフォルトではSite24x7にサインアップした際のメールアドレスにアラートが飛ぶように設定されていますが、異なるメールアドレスや新たにメールアドレスを追加する場合はユーザーを追加し、メールアドレスを登録します。

3. 通知条件の設定

同一画面で登録したユーザーに通知すべき監視対象の設定やアラートの詳細の通知条件を設定することができます。これでSite24x7のアラートの通知までの設定が完了です。

まとめ

いかがだったでしょうか?Zabbixで設定していた事がSite24x7ではほとんど自動化されている事がわかっていただけたのではないでしょうか。一方でZabbixは環境に合わせてアイテムのキーの引数を調査したり、監視閾値のトリガー設定で条件式が少し難解だったり、その他通知に関しても設定項目が多い事など、いずれかの設定ミスでアラートが通知されないというリスクがあります。これは手動での設定項目が多い故の課題だと思います。

Zabbixも用意されているAPIやDiscoveryなどの設定を追加する事でSite24x7と同様に設定の自動化を行う事が可能です。しかし、最初の設計と構築を有識者が運用管理まで見据えて設計し、新たな監視項目の追加などにも対応出来る人員を確保するなどの対応が必要となります。

今回見ていただいたように、Site24x7はこれらの課題を最初からクラウド側に任せて自動化させる事で解決させています。

小さく始めて大きく育てるようなWebサービスにおいては、まずはSaaS型の監視ソリューションであるSite24x7を採用してはいかがでしょうか。有償版も月額2,000円から利用できるのでおすすめです。

フリープランのサインアップはこちら:
https://www.site24x7.jp/signup.html?pack=1&l=ja

プランと価格の詳細はこちら:
https://www.site24x7.jp/pricing.html

ZabbixとSite24x7の機能比較一覧はこちら:
https://www.site24x7.jp/zabbix-alternative.html