プロセス監視とは
プロセス監視とは、システムの安定稼働と最適化を目的に実施するサーバー監視のひとつで、ユーザーからのリクエストを常時処理できるようにする役割を担っているプロセスが正常に機能していることを常時確認し、異常や問題があればそれをリアルタイムで把握することです。
ツールによる自動化が不可欠
WindowsサーバーもLinuxサーバーも各OSの標準機能でプロセスの状態を確認することが可能です。その方法は文末でも説明しています。ただし、これはあくまでも「確認」です。管理者がリアルタイムに異常を把握できなくては「監視」とは言えないためこれでは不十分です。そのため、多くのサーバー管理者は、サーバー監視ツールでプロセス監視を自動化しています。
5分で始められるツール
Zabbixを代表とするOSS(オープンソースソフトウェア)やOpManagerを代表とする有償のパッケージソフトウェア、最近ではSaaS形式のものまで、プロセスを監視できるサーバー監視ツールはたくさん存在します。
ここでは、その中でも最も簡単に、今すぐ始められるSaaS形式のツール「Site24x7(サイトトゥエンティーフォーセブン)」とその手順を詳しく紹介します。
Site24x7におけるプロセス監視
Site24x7なら、エージェント型のサーバー監視機能を利用することでプロセス監視を簡単に実現できます。エージェントは一括インストールも可能。冒頭のスクリーンショットはLinuxサーバーのプロセス監視画面ですが、Windowsも同様で、今から30分後にはこのようにウェブブラウザで統計データを確認できます。サインアップ後に画面の指示に従うだけなので、エンジニアでなくても、誰でも簡単に始められるのが特徴のひとつです。
また、デフォルトでしきい値が設定されており、しきい値を超えたり、サーバーがダウンするとサインアップ時に登録したメールアドレスに通知メールが届きます。プロセス監視設定や通知設定は必要ありません。しかも、プロセス監視だけでなく、CPUやメモリ、ディスクといったリソースの監視まで、基本的なサーバー監視がすべて含まれます。
プロセス監視手順
ここからはプロセス監視をSite24x7で実現する手順を具体的に紹介します。必要なものは、監視対象のサーバーとメールアドレス、電話番号のみです。実際にやっていただくと本当に5分で開始できることをご理解いただけると思います。是非、お気軽にお試しください。
1. サインアップ
画面右上の「サインアップ」をクリックし、4つの項目を入力するだけでアカウントを作成できます。クレジットカード情報などは必要ないので安心です。
サインアップすると次の画面が表示されます。プロセス監視をするために「サーバー監視」をクリックします。
Linux編
1. エージェントのインストール
Site24x7のエージェントのインストールは、Site24x7で用意されているコマンドを流すだけです。Site24x7にログイン後、サーバーより監視の追加ボタンを選択後、対象となるOSを選択することで画像のようにインストールのコマンドが自動生成されます。
あとはこちらのコマンドを準備していた環境で実行するのみです。これだけでインストールが完了し、Site24x7に監視対象のサーバーが登録されています。
この後、Zabbixでは、エージェントの設定変更、ホスト登録、テンプレート及びその他関連付けを実施する必要がありますが、それらは自動化されていますのでSite24x7では不要です。
2. プロセス監視の追加
Site24x7ではプロセス一覧を収集しているため、監視したいプロセスを一覧から追加するだけで設定可能となります。対象サーバーの詳細画面のプロセスタブを選択し、プロセスのディスカバリーを選択してください。
プロセス一覧からあとは追加したいプロセスを検索して、追加を選択するだけです。これだけで監視対象のプロセスを追加が完了しました。
3. プロセス監視の閾値設定
追加したプロセスに閾値設定を行います。対象となるプロセスの編集アイコンを選択します。
しきい値プロファイルの編集画面で、プロセスがダウンした際の通知を有効にするだけで設定完了となります。
これ以外にもプロセスのCPUやメモリ利用率にも応じてアラート設定をすることができます。Site24x7のプロセス監視の設定はこれで完了です。
Windows編
1. エージェントのインストール
監視対象サーバーからSite24x7にログインし、エージェントをダウンロードします。ダウンロードしたエージェントのインストーラーを起動し、Device Keyを入力後、インストールに従ってインストールを行います。原則、このDevice Key以外はデフォルトのままで問題ありません。インストールが完了次第、Site24x7に監視対象サーバーが登録されています。
この後、Zabbixでは、エージェントの設定変更、ホスト登録、テンプレート及びその他関連付けを実施する必要がありますが、それらは自動化されていますのでSite24x7では不要です。
2. プロセス監視の追加
Windows Serverでも同様にプロセスは自動収集されています。違いとしてはWindows特有のWindowsサービスがタブとして追加されている点です。要件に合わせてプロセスもしくはWindowsサービスを監視対象に設定します。画像では、Windowsサービスを対象にtd-agentの監視を追加しています。
3. プロセス監視の閾値設定
Linuxと同様にWindowsサービスにも編集アイコンを選択し、プロセスがダウンした際の通知を有効化するだけでプロセス監視の設定は完了となります。
通知設定の確認
Site24x7ではメールサーバーを用意する必要はありません。1. 通知先の設定
デフォルトではSite24x7にサインアップした際のメールアドレスにアラートが飛ぶように設定されていますが、異なるメールアドレスや新たにメールアドレスを追加する場合はユーザーを追加し、メールアドレスを登録します。
2. 通知条件の設定
同一画面で登録したユーザーに通知すべき監視対象の設定やアラートの詳細の通知条件を設定することができます。これでSite24x7のアラートの通知までの設定が完了です。
ここまで、Site24x7でプロセスを監視する方法をご紹介しました。このように簡単にプロセス監視が出来るSite24x7。是非、みなさんもお試しください。
参考情報
OSの標準機能でプロセスの状態を確認する方法
LinuxとWindowsのそれぞれのサーバーでプロセスの状態を確認できます。なお、これらの方法は、あくまでも「確認」です。異常や問題があった際に直ちに把握しようとする「監視」としては不十分であることがわかります。そのため、多くの担当者がプロセス監視を効率化できるツールを導入しています。
Linuxでプロセスを確認する方法
CentOS 8でプロセスを確認する代表的な2つの方法を見ていきましょう。ここではApacheプロセスであるhttpdを確認していきます。
❶ systemctlコマンドによるSystemdで管理されているサービスのステータスを確認する方法です。プロセスのステータスと最新のログ情報なども出力されており、詳細な情報を確認する事が可能です。
❷ psコマンドによるプロセス名を確認する方法です。こちらはプロセスが存在している事とpsコマンドのオプションで確認できる範囲でプロセスの状態を確認する事が可能です。
Windowsでプロセスを確認する方法
Windows Server 2019のプロセスとサービスの確認方法を紹介します。通常のWindowsにおけるプロセス監視はプロセスもしくはサービスのどちらかを監視する事が一般的です。ここではIISのプロセスとサービスを確認していきます。
❶ プロセスの確認方法は、タスクマネージャーで行います。タスクマネージャー起動後、プロセスタブより「IIS(インターネットインフォメーションサービス)」を見つける事ができれば、プロセスが起動している状態です。
❷ サービスの確認方法は、サービスより確認する方法です。①で確認した「Windows プロセス アクティブ化サービス」と「Word Wide Web 発行サービス」が実行中になっていることが確認できます。
監視全体におけるプロセス監視
システムの安定稼働を目的に監視をしている場合、重要な事はユーザー視点でシステムを監視し続けることです。ユーザーと同じ視点でシステムを監視しなければ、システムに問題が生じていることに気づく事ができません。これでは監視をしている意味合いがなくなってしまうため、ユーザー視点の監視が大前提と言えます。
一方、プロセス監視をはじめとする一般的なサーバー監視で行われている項目(CPU、メモリの状態監視やプロセスの死活監視など)は、システム視点です。これらを監視する理由は、ユーザー視点の監視で問題があることを把握した後に、システムにその原因がないかを簡単に切り分けるためです。
システム・アーキテクチャを踏まえた上で、各システムコンポーネントに対する監視を漏れなく行えていれば、障害の切り分けはアラート内容だけでも可能となり、更に障害箇所となるコンポーネントに応じたスクリプトを自動実行させる事で復旧そのものを自動化させることも可能となります。
ツールに必要な機能
これらを踏まえると、監視ツールに必要な機能は、異常時の通知に加え、ユーザー視点での監視とシステム視点での監視の統合管理であることがわかります。また、監視対象は日々増加していく事が予見されるため、複雑な設定で時間がかかってはいけません。設定はシンプルで簡単に行える事が重要です。
以上を踏まえて、プロセス監視を効率化できるいくつかの監視ツールを紹介します。
プロセスを監視できるツール3選
ここでは、多くの管理者が導入しているZabbixとCloudWatch、また、国内でも日々ユーザーを増やしているSaaS型サーバー監視ツールSite24x7の3つの監視ツールを紹介します。
Zabbix
Zabbixは、無料で使える統合監視ツールの中では日本語の情報量も多く、利用ユーザーが多いなどの点が優れています。プロセス監視のためのテンプレートも提供されており、設定が少し複雑ではあるものの、多く担当者が日本語のサポート情報を参考に自らの手で構築し、活用しています。
また、自社ネットワークから監視基盤を持ち出せないような事情がある組織で採用されるケースが多く、監視サーバーとしてのZabbixの運用管理コストをいとわないという企業に適した選択肢と言えます。
Zabbixでプロセスを監視する詳しい手順はこちらをご確認ください。
CloudWatch
CloudWatchは、Amazon Web Service(AWS)の各種サービスを監視するためのサービスです。AWSの各種サービスのメトリクスを取る唯一の方法であることから、AWSを利用する場合は採用する事が必須となります。但し、機能が限定的である事や統合管理するような機能が乏しい事から、CloudWatchで収集したデータをその他監視ツールに統合管理させるケースが一般的です。
また、プロセス監視については、テンプレートの提供はなく、CloudWatchの管理画面上で可視化したい場合、開発に近いカスタマイズを行わなくてはいけません。
CloudWatchでプロセスを監視する詳しい手順はこちらをご確認ください。
Site24x7
Site24x7(サイトトゥエンティーフォーセブン)は、クラウド型のサーバー監視サービスのため監視サーバーの運用をする必要がありません。有料プランも低価格で利用でき、監視対象のサーバーにエージェントをインストールするだけで、プロセス監視をはじめ、CPU・メモリ・ディスク監視、死活監視をすべて自動で開始できます。
プランと価格の詳細:
https://www.site24x7.jp/pricing.html
また、CloudWatchで収集されているメトリクスも自動連携でき、CloudWatchよりも簡単に監視をはじめられるのも特徴です。
AWS監視を5分で始める方法:
https://www.site24x7.jp/simple-aws-monitoring.html
さらに、前述したユーザー視点の監視も簡単に実現できます。Site24x7のリアルユーザー監視機能なら、グローバルの各サイトからエンドユーザーと同等のアクセスを行い、レスポンスタイムに異常が発生していないかを監視できます。同等の機能を自前で用意する事は困難であることから、Site24x7の優れた機能の1つであると言えます。