Skip to main content

システム・モニタの使用

システム・モニタは、重要なシステム・ステータス・インジケータおよびリソース使用量インジケータ (ECP 接続のステータスや使用中のロック・テーブルの割合など) をサンプリングして、固定されたステータスおよびしきい値に基づいて、通知 (アラート、警告、および “ステータス OK” メッセージ) を生成します。これらの通知は、メッセージ・ログに書き込まれます。これにより、ログ・モニタはこれらから電子メール・メッセージを生成できます (そのように構成されている場合)。また、システム・モニタは、単一のシステム・ヘルス状態全体も保持します。

システム・モニタは、^%SYSMONMGR ユーティリティを使用して管理されます。

システム・モニタはシステム・モニタ・ツールの一部です。

システム・モニタ・プロセス

システム・モニタは、実行場所として構成されている各ネームスペースで、3 つのタイプのクラス (つまり、システム・モニタのコンポーネント) を使用して、以下のように 3 段階でシステム・メトリック情報の収集および配信を実行します。センサ・クラスは情報を収集し、サブスクライバ・クラスは情報を評価して通知を生成し、通知クラスは通知を適切なアラート・システムに送信します。以下に、その順序について詳しく説明します。

  1. メトリック情報の取得

    センサ・クラス には、システム・メトリックまたはアプリケーション・メトリックの値を取得するためのメソッドが組み込まれています。例えば、システム・センサ・クラス SYS.Monitor.SystemSensors には、GetProcessCount() メソッド (InterSystems IRIS インスタンスのアクティブなプロセスの数を返す) と GetLockTable() メソッド (インスタンスのロック・テーブルのうち使用中の割合を返す) が含まれています。

    システム・モニタは、構成されている各センサ・クラスの GetSensors() メソッドを定期的に呼び出します。センサ・クラスは、以下のいずれかを実行します。

    • システム・モニタによってサブスクライバ・クラスに渡されるセンサの名前と値の組み合わせの配列を返します (第 2 段階を参照)。

    • 取得したセンサの値を評価して、システム・モニタによって通知クラスに送信される通知を返します (第 3 段階を参照)。

    システム・モニタに付属しているセンサ・クラスの 1 つである SYS.Monitor.SystemSensors が名前と値の配列を返します。もう 1 つのセンサ・クラス %SYS.Monitor.AppMonSensor がそれ自体の評価を実行して、それ自体の通知を生成します。

  2. メトリック情報の評価

    サブスクライバ・クラスには、センサの値を評価し、通知を生成するためのメソッドが組み込まれています。システム・モニタは、名前と値の配列を返す各センサ・クラスを呼び出した後に、各サブスクライバ・クラスの Receive() メソッドを呼び出して、SensorReading プロパティにその配列を入力します。サブスクライバ・クラスは、Receive() メソッドに指定されたセンサの名前と値の組み合わせごとに値を評価し、必要に応じてテキストおよび深刻度コードが含まれた通知を返します。

    例えば、システム・モニタが、SYS.Monitor.SystemSensors.GetSensors() から返された値と名前の配列をサブスクライバ・クラスに渡した場合、以下のようになります。

    • システム・サブスクライバ SYS.Monitor.SystemSubscriber は、LockTablePercentFull 値がそのセンサに対する警告しきい値である 85 を超えていることを検出して、深刻度コード 1 と適切なテキストを含む通知を返します。

    • ヘルス・モニタ・スクライバ SYS.Monitor.Health.Control は、ProcessCount 値がそのセンサの構成済みパラメータおよび既定の通常値と比較して大きすぎると判定し、深刻度コード 2 と適切なテキストを含む通知を返します。

  3. 通知の生成

    通知クラスには、1 つまたは複数のアラート・システムに通知を渡すためのメソッドが組み込まれています。システム・モニタは、各センサ・クラスおよびサブスクライバ・クラスを呼び出した後に、各通知クラスの Post() メソッドを呼び出して、Notifications プロパティにセンサ・クラスまたはサブスクライバ・クラスから返された通知を入力します。通知クラスは、各通知を目的のアラート・メソッドに渡します。例えば、システム通知は、システム・サブスクライバから返された LockTablePercentFull に関する通知とヘルス・モニタ・サブスクライバから返された ProcessCount に関する通知を受け取ると、深刻度コードとテキストをメッセージ・ログに書き込みます。この手法では、ユーザ定義のアラート・システムのほかに、相互運用プロダクション・アラート・プロセッサや TrakCare 内のアラート・システムなどの独立したアラート・システムにも通知を渡すことができます。

システム・モニタは、インスタンスの起動時に、構成されている各実行開始ネームスペースで自動的に起動し、構成されているセンサ・クラスの呼び出しを開始して、構成されているサブスクライバ・クラスにセンサの値を渡し、次に、構成されている通知クラスに通知を渡します。ネームスペースごとにユーザ独自のシステム・モニタのセンサ・クラス、サブスクライバ・クラス、および通知クラスを定義して構成することができます。"システム・モニタの既定のコンポーネント" の既定クラスを参照してください。

Note:

緊急時には、システム・モニタのシャットダウンが必要になる場合があります。クラス・メソッド %SYS.Monitor.Enabled([flag]) は、システム・モニタの状態を設定、クリア、およびレポートします。flag0 の場合、システム・モニタは起動しません。

システム・モニタ通知の追跡

通常、システム・モニタのアラート (深刻度 2 の通知) またはシステム・モニタの警告 (深刻度 1) のシーケンスを調査する必要があります。ヘルス・モニタは、システム・モニタのアラートや警告も生成できます。

システム・モニタのアラート、警告、およびステータス・メッセージ (深刻度 0) はメッセージ・ログ (install-dir\mgr\messages.log) に書き込まれます。(すべてのシステム・モニタのステータス・メッセージおよびヘルス・モニタのステータス・メッセージは、システム・モニタ・ログ (install-dir\mgr\SystemMonitor.log) に書き込まれます。アプリケーション・モニタのアラートはログに書き込まれませんが、電子メールで送信したり、指定した通知方法で受け渡しできます。)

システム・モニタのアラートおよび警告を追跡するために、以下のことを実行できます。

  • ^%SYSMONMGR ユーティリティを使用して、システム・モニタのアラートを表示します。このオプションを使用すると、すべてのセンサまたは特定のセンサのアラートの表示および記録されているすべてのアラートまたは指定の期間内に発生したアラートのみの表示を行えます。警告は表示しません。

  • メッセージ・ログを監視します ("ログ・ファイルの監視" を参照)。システム・モニタのアラートのシーケンスが短期間内に指定されたセンサに対して生成される場合、最初のもののみがメッセージ・ログに書き込まれることに注意してください。

    Note:

    メッセージ・ログでは、システム・モニタ状態通知の最初の文字が大文字で示されます (例 : [System Monitor] started in %SYS)。警告、アラート、OK メッセージは大文字で示されます (例 : [SYSTEM MONITOR] CPUusage Warning: CPUusage = 90 ( Warnvalue is 85))。

  • メッセージ・ログに表示されるアラート (およびオプションで警告) の電子メール通知を送信するようにログ・モニタを構成します (既定では、アラート・ログに書き込まれます)。この方法を使用する場合、ログ・モニタは、構成された深刻度のすべてのメッセージ・ログ・エントリに対して通知を生成するわけではないことに注意してください。約 1 時間以内に指定プロセス (システム・モニタなど) で連続エントリがある場合、通知は最初のエントリに対してのみ生成されます。例えば、ネットワークの問題によって ECP 接続および開いているトランザクションに関する複数のシステム・モニタのアラートが 15 分の間に生成された場合、ログ・モニタは、(最初に生成されたアラートに対して) 通知を 1 つのみ生成します。このため、ログ・モニタからシステム・モニタの通知を 1 通受け取ったら、すぐにシステム・モニタのアラートを表示し、メッセージ・ログを確認する必要があります。

システム・モニタのステータスおよびリソース・メトリック

以下のテーブルに、システム・モニタによってサンプリングされるシステム・ステータスおよびリソース使用量のメトリックと、警告 (深刻度 1)、アラート (深刻度 2)、および “ステータス OK” (深刻度 0) の通知の生成につながるそれぞれの通知しきい値および通知ルールを示します。

システム・モニタのステータスおよびリソース通知
メトリック 説明 通知ルール

ディスク容量

データベース・ディレクトリの空き領域
  • < 250MB — 警告

  • < 50MB — アラート

  • > 250MB (警告/アラート後) — OK

ジャーナル空き

ジャーナル・ディレクトリの空き領域
  • < 250MB — 警告

  • < 50MB — アラート

  • > 250MB (警告/アラート後) — OK

ページング 使用中の物理メモリおよびページング領域の割合
  • ページング領域 > 30% — 警告

  • (物理メモリ > 96%) + (ページング領域 > 50%) — アラート

ロック・テーブル 使用中のロック・テーブルの割合
  • > 85% — 警告

  • > 95% — アラート

  • < 85% (警告/アラート後) — OK

ライト・デーモン

ライト・デーモンの状態
  • ライト・デーモンはアクティブ状態で、自身の (空でない) キューを処理中であるが、1 サイクルを完了するのに、構成されているライト・デーモン・サイクル時間 (既定値は 80 秒) よりも 10 秒以上長い時間がかかっている — アラート

  • アラート後にライト・デーモンがパスを完了した — OK

ECP 接続

ECP アプリケーション・サーバまたは ECP データ・サーバへの接続の状態
  • 5 秒以上障害状態になっている — アラート

共有メモリ・ヒープ (一般メモリ・ヒープ) 共有メモリ・ヒープ (SMH、別名は一般メモリ・ヒープ (gmheap)) のステータス
  • SMH (gmheap) ステータス 1 — 警告

  • SMH (gmheap) ステータス 2 — アラート

オープン・トランザクション 最も長く開いているローカル・トランザクションおよびリモート (ECP) トランザクションの継続時間
  • > 10 分 — 警告

  • > 20 分 — アラート

ライセンス期限切れ ライセンスが期限切れになるまでの日数
  • 7 日 — 警告

  • 5 日以下 — アラート (毎日)

SSL/TLS 証明書期限切れ 証明書が期限切れになるまでの日数
  • 個別の証明書が 30 日以内に期限切れ — 警告 (毎日繰り返し)

  • 1 つまたは複数の期限切れ証明書の警告 (毎日) — アラート (警告の集計、1 日 1 回)

ISCAgent (ミラー・メンバのみ) ISCAgent のステータス
  • 1 分未満の応答不能 — 警告

  • 1 分を超える応答不能 — アラート

システム・モニタのヘルス状態

InterSystems IRIS インスタンスによって直接生成された両方のシステム・アラート、システム・モニタおよびそのヘルス・モニタ・コンポーネントによって生成されたアラートおよび警告など、メッセージ・ログに送信された通知に基づいて ("ログ・ファイルの監視" を参照)、システム・ヘルス全体を表す単一値を共有メモリのレジスタにシステム・モニタは保持します。

起動時、システム・ヘルスの状態は、起動プロセス中にメッセージ・ログに送信されたシステム (システム・モニタではない) のアラート数に基づいて設定されます。システム・モニタが実行されると、システムのアラートまたはシステム・モニタのアラートあるいは警告によってヘルス状態を引き上げることができます。最後のシステムのアラートまたはシステム・モニタのアラートあるいは警告が送信されてから 30 分が経過すると、ステータスは次に低いレベルに引き下げられます。以下の表に、システム・ヘルス状態がどのように決まるかを示します。

システム・モニタのヘルス状態
状態 起動時の動作 起動後の動作 設定される状態

GREEN (0)

起動時に送信されたシステムのアラートなし 最後のシステムのアラートまたはシステム・モニタのアラートまたは警告が送信されてから 30 分 (状態が YELLOW だった場合) または 60 分 (状態が RED だった場合) 経過 N/A

YELLOW (1)

起動時に送信されたシステムのアラートが 4 個以下 状態が GREEN かつ
  • 1 つのシステムのアラートが送信された

    または

  • 1 つまたは複数のシステム・モニタのアラートまたは警告 (あるいは両方) が送信されたが、以下のように RED に設定するのに十分なアラートではない

最後のシステムのアラートまたはシステム・モニタのアラートあるいは警告が送信されてから 30 分経過した場合 GREEN

RED (2)

起動時に 5 つ以上のシステムのアラートが送信された
  • 状態が YELLOW で 1 つのシステムのアラートが送信された

    または

  • 状態が GREEN または YELLOW で 30 分以内に 5 つ以上の異なるセンサからシステム・モニタのアラートが送信されたか、または 1 つのセンサから 3 つのシステム・モニタのアラートが送信された

最後のシステムのアラートまたはシステム・モニタのアラートあるいは警告が送信されてから 30 分経過した場合 YELLOW
Note:

4 つ目の状態 HUNG は、グローバル更新がブロックされた場合に発生する可能性があります。特に、以下のイベントによって状態が HUNG に変更されます。

  • ジャーナル・デーモンの一時停止が 5 秒を超えたか、またはフリーズした ("ジャーナル入出力エラー" を参照してください)。

  • スイッチ 10、11、13、14 のいずれかがセットされた ("スイッチの使用法" を参照してください)。

  • ライト・デーモンが何らかの理由で停止したか、更新ロック・フラグのセットが 3 秒を超えた。

  • (データベース・キャッシュ内の) 使用可能なグローバル・バッファ数が危険な領域まで低下し、なおかつその状態が 5 秒を超えた。

ヘルス状態が HUNG に変更されると、その理由がメッセージ・ログに書き込まれます。

システム・モニタのヘルス状態は、以下を使用して表示できます。

  • ^%SYSMONMGR[システム・データを表示] メニューにある [システム・ヘルスの表示] オプション (HUNG はレポートしません)。

  • $SYSTEM.Monitor API。システム・ステータスに直接アクセスできます。$SYSTEM.Monitor.State()Opens in a new tab を使用して、システム・ステータスを返します。SetState メソッド、Clear メソッド、Alert メソッド、GetAlerts メソッド、および ClearAlerts メソッドも参照してください。

  • iris list コマンドおよび iris qlist コマンド (Windows のヘルス状態は含まれません)。

Note:

システム・モニタが動作していない場合、システム・モニタのヘルス状態は常に GREEN となります。

システム・モニタの既定値

システム・モニタは、拡張可能な一連の付属のクラスを呼び出し、%SYS ネームスペースで稼働し、変更可能な 3 つの既定の設定で動作します。

システム・モニタの既定のコンポーネント

InterSystems IRIS には 5 つのクラスが付属しています。これらのクラスは、既定では %SYS ネームスペースのシステム・モニタで構成されます。

センサ・クラス :

  • SYS.Monitor.SystemSensors

    構成されているサブスクライバ・クラス (システム・モニタのサブスクライバ (SYS.Monitor.SystemSubscriber) やヘルス・モニタのサブスクライバ (SYS.Monitor.Health.Control) など) に渡されるセンサ値を取得するシステム・センサ・クラス。

  • %SYS.Monitor.AppMonSensor

    アプリケーション・モニタにセンサ・サービス、サブスクライバ・サービス、および通知サービスを提供するクラス。センサの値を取得し、その値をローカル・ネームスペースに保存して、ユーザ定義のアラートに基づいて値を評価します。アラート定義に基づいてアラートがトリガされたときには、電子メール・メッセージを生成するか、ユーザが指定したメソッドを呼び出します。

サブスクライバ・クラス :

  • SYS.Monitor.Health.Control

    ヘルス・モニタのサブスクライバ・クラス。SYS.Monitor.SystemSensors からセンサ統計値を受け取って評価し、システム通知に通知を送信します。

  • SYS.Monitor.SystemSubscriber

    すべてのセンサ・クラスで使用できるシステム・モニタ・サブスクライバ。SYS.Monitor.SystemSensors のセンサの監視および分析に必要なすべてのコードが含まれています。一部のセンサのシステム・モニタ通知およびヘルス・モニタ通知を生成します。

通知クラス :

  • SYS.Monitor.SystemNotifyOpens in a new tab

    すべてのサブスクライバ・クラスで使用できるシステム通知。システム・サブスクライバ (SYS.Monitor.SystemSubscriber) またはヘルス・モニタ・サブスクライバ (SYS.Monitor.Health.Control) から通知を受け取ると、その通知をシステム・モニタ・ログに書き込みます。通知が深刻度 2 (アラート) の場合はそれをメッセージ・ログに書き込みます。(これらのログ・ファイルの詳細は、"管理ポータルを使用した InterSystems IRIS の監視" を参照してください。)

    また、システム通知は、SYS.Monitor.State() メソッドを使用して取得できるシステム・ステータスの単一の全体的評価も生成します。このメソッドは、0 (GREEN)、1 (YELLOW)、または 2 (RED) を返します。

^%SYSMONMGR を使用して、ユーザ定義のクラスを構成することができます。

システム・モニタの既定のネームスペース

すべてのシステム・モニタおよびアプリケーション・モニタの構成と設定は、ネームスペースに固有です。既定では、システム・モニタは %SYS ネームスペースでのみ起動および稼働します。^%SYSMONMGR を使用して、システム・モニタおよびアプリケーション・モニタの追加の実行開始ネームスペースを構成できます。あるネームスペースのシステム・モニタ構成またはアプリケーション・モニタ構成に変更を加えた後は、変更を有効にするためにそのネームスペースでシステム・モニタを再起動する必要があります。

ヘルス・モニタは、%SYS ネームスペースでのみ稼働します。

システム・モニタの既定の設定

既定では、システム・モニタはインスタンスの実行中は常に稼働しています。システム・モニタは、^%SYSMONMGR を使用して停止することはできますが、インスタンスが次回起動したときに自動的には再起動されません。

システム・モニタの既定の動作は以下のとおりです。

  • 構成されている各センサ・クラスの GetSensors() メソッドを 30 秒ごとに呼び出します。

  • システム・モニタ・ログにアラート、警告、およびメッセージのみを書き込みます。センサの読み取り値は書き込みません。

  • センサの読み取り値は保存しません。

これらの設定は、^%SYSMONMGR を使用して変更できます。

^%SYSMONMGR ユーティリティの使用

^%SYSMONMGR ユーティリティでは、システム・モニタを管理および構成できます。このユーティリティは任意のネームスペースで実行できます。このユーティリティを使用して行った変更は、このユーティリティが起動されたネームスペースにのみ影響します。ネームスペースで ^%SYSMONMGR を実行して構成した実行開始ネームスペースごとに個別のシステム・モニタ構成を保持する必要があります。あるネームスペースのシステム・モニタ構成に変更を加えた後は、変更を有効にするためにそのネームスペースでシステム・モニタを再起動する必要があります。

Important:

ここで説明している ^%SYSMONMGR ユーティリティを使用した手動操作はすべて、%Monitor.Manager API のメソッドを使用してプログラムで実行できます。

システム・モニタを管理するには、ターミナルで以下のコマンドを入力します。

%SYS>do ^%SYSMONMGR

メイン・メニューが表示されます。

1) Start/Stop System Monitor
2) Set System Monitor Options
3) Configure System Monitor Classes
4) View System Monitor State
5) Manage Application Monitor
6) Manage Health Monitor
7) View System Data
8) Exit 

Option? 

実行する操作の番号を入力します。ユーティリティを終了するには Enter キーを押します。

メイン・メニューのオプションでは、以下のテーブルに示すシステム・モニタのタスクを実行できます。

オプション 説明
1) Start/Stop System Monitor
  • システム・モニタの起動

  • システム・モニタの停止

2) Set System Monitor Options
  • 構成されているセンサ・クラスのサンプリング間隔の設定

  • システム・モニタ・ログに書き込まれる情報のデバッグ・レベルの設定

  • センサの読み取り値保存の有効化および保存日数の設定

  • サンプリング間隔、デバッグ・レベル、およびセンサの読み取り値の保存を既定に戻す

3) Configure System Monitor Components
  • ユーザ定義のセンサ・クラス、サブスクライバ・クラス、および通知クラスの構成または削除

  • 実行開始ネームスペースの構成

4) View System Monitor State
  • システム・モニタおよびシステム・モニタに構成されているコンポーネントの動作状態の表示

5) Manage Application Monitor
  • アプリケーション・モニタのサブメニューの表示

6) Manage Health Monitor
  • ヘルス・モニタのサブメニューの表示 (^%SYSMONMGR%SYS ネームスペースで実行されている場合にのみ使用可)

7) View System Data

Start/Stop System Monitor

システム・モニタは、InterSystems IRIS インスタンスの起動時に、構成されている各実行開始ネームスペースで自動的に起動し、構成されているクラスの呼び出しを開始します。これは、変更できません。ただし、インスタンスの実行中に、システム・モニタを停止することはできます。ヘルス・モニタの構成を変更するには、システム・モニタを停止する必要があります。また、あるネームスペースのシステム・モニタ構成に変更を加えた後は、変更を有効にするためにそのネームスペースでシステム・モニタを再起動する必要があります。

メイン・メニューで 1 を入力すると、以下のメニューが表示されます。

1) Start System Monitor
2) Stop System Monitor
3) Exit

実行中のシステム・モニタを停止するには 2 を入力し、停止中のシステム・モニタを起動するには 1 を入力します。

Note:

システム・モニタは、メッセージ・ログのサイズを監視し、必要に応じてロール・オーバーします。システム・モニタが停止すると、メッセージ・ログは、インスタンスが再起動されるか、PurgeErrorsAndLogs タスクが実行されるまで、MaxConsoleLogSize 構成設定で設定された制限を超える場合があります。メッセージ・ログについては、"ログ・ファイルの監視" を参照してください。

Set System Monitor Options

システム・モニタのグローバル設定を変更するか、それらの設定を既定値に戻すには、システム・モニタが実行中の場合はシステム・モニタを停止し、メイン・メニューで 2 を入力します。

1) Set Sample Interval
2) Set Debugging Level
3) Reset Defaults
4) Manage Debug Data
5) Exit

1 を入力して、システム・モニタが構成されている各センサ・クラスを呼び出す間隔を設定します。既定値は 30 秒です。

2 を入力して、デバッグ・レベルを設定します。既定値は 0 (base) で、システム・モニタおよびヘルス・モニタのステータスとエラー・メッセージがシステム・モニタ・ログに書き込まれます。センサの読み取り値は保存されません。デバッグ・レベル 1 (log all sensors) では、センサ読み取り値がメッセージとともにシステム・モニタ・ログに書き込まれ、センサ読み取り値が保存されます。これは、[システム・データを表示] メニューの [センサ・データの表示] オプションを使用して表示することができます。

3 を入力して、サンプル間隔、デバッグ・レベル、およびセンサ読み取り値の保存を既定値にリセットします。

4 を入力して、センサ読み取り値を保存する日数を設定します (既定は 5)。

変更は、次回システム・モニタを起動または再起動したときに有効になります。

Configure System Monitor Components

"システム・モニタ" で説明したように、%SYS.Monitor.AbstractSensorOpens in a new tab%SYS.Monitor.AbstractSubscriberOpens in a new tab、および %SYS.Monitor.AbstractNotificationOpens in a new tab をそれぞれ拡張して、独自のセンサ・クラス、サブスクライバ・クラス、および通知クラスを作成し、それらをシステム・モニタで構成して、"システム・モニタの既定のコンポーネント" で説明した付属のクラスの機能を拡張することができます。システム・モニタを起動および実行する場所として %SYS 以外のネームスペースを追加することもできます。

Configure System Monitor Classes

メイン・メニューで 3 を入力すると、以下のメニューが表示されます。

1) Configure Components
2) Configure Startup Namespaces
3) Exit

1 を入力すると、クラスを構成するための以下のオプションが表示されます。

1) List Classes
2) Add Class
3) Delete Class
4) Exit

1 を入力すると、^%SYSMONMGR を起動したネームスペースで現在構成されているクラス (付属のシステム・クラスおよびユーザが構成したクラスを含む) がリストされます。

2 を入力すると、^%SYSMONMGR を起動したネームスペースのユーザ定義のクラスを構成できます。指定するクラスは、そのネームスペースに存在し、システム・モニタによって有効なセンサ・クラス、サブスクライバ・クラス、または通知クラスとして認識される必要があります。また、クラスの説明を入力することもできます。

3 を入力すると、構成したユーザ定義クラスを削除できます。

Note:

クラスの構成または削除は、^%SYSMONMGR を起動したネームスペースにのみ影響します。

Configure System Monitor Namespaces

システム・モニタは、インスタンスの起動時に、構成されている各実行開始ネームスペース (既定では %SYS のみ) で個別のプロセスとして自動的に起動します。すべてのシステム・モニタの構成と設定は、ネームスペースに固有です。^%SYSMONMGR を使用して変更を加えた場合、その変更はこのユーティリティを起動したネームスペースにのみ影響します。

Note:

^%SYSMONMGR のすべてのインスタンスは、同一のシステム・モニタ・ログにメッセージを書き込みます。実行開始ネームスペースは、任意のネームスペースから構成できます。

メイン・メニューで 3 を入力すると、以下のメニューが表示されます。

1) Configure Components
2) Configure Startup Namespaces
3) Exit

2 を入力すると、ネームスペースを構成するための以下のオプションが表示されます。

1) List Startup Namespaces
2) Add Namespace
3) Delete Namespace
4) Exit

1 を入力すると、現在構成されている実行開始ネームスペースがリストされます。

2 を入力すると、実行開始ネームスペースを追加できます。

3 を入力すると、実行開始ネームスペースを削除できます。(%SYS は削除できません。)

View System Monitor State

メイン・メニューで 4 を入力すると、^%SYSMONMGR を起動したネームスペースのシステム・モニタとそのコンポーネントのステータスが表示されます。以下に例を示します。

       Component                   State
System Monitor                     OK
%SYS.Monitor.AppMonSensor          None
SYS.Monitor.SystemSensors          OK
SYS.Monitor.Health.Control         Running: Period is Thursday 09:00 - 11:30
SYS.Monitor.SystemSubscriber       OK
SYS.Monitor.SystemNotifier         OK

この例では、システム・モニタとそのシステム・センサ・クラス、サブスクライバ・クラス、および通知クラスが正常に動作しています。ヘルス・モニタのサブスクライバ・クラスも同様です。ただし、アプリケーション・モニタのクラスは有効化されていないため ("Manage Monitor Classes" を参照)、センサのサンプルの評価やアラートの生成は実行しません。

Manage Application Monitor

"^%SYSMONMGR を使用したアプリケーション・モニタの管理" を参照してください。

ヘルス・モニタの管理

"^%SYSMONMGR を使用したヘルス・モニタの管理" を参照してください。

システム・データの表示

メイン・メニューで 7 (または、%SYS 以外のネームスペースでは 6) を入力して、システムに関するシステム・モニタ情報を表示するオプションを表示します。

1) View Sensor Data
2) View System Health
3) View Alerts
4) Exit

[Set System Monitor Options] メニューの [Manage Debug Data] オプションを使用して、センサ・データの読み取り値の保存を有効化した場合、1 を入力して、保存されたセンサの読み取り値を表示します。すべてのセンサまたは特定のセンサの保存された読み取り値を表示できます。また、保存されているセンサの読み取り値すべてを表示するか、または指定した期間の読み取り値のみを表示できます。

2 を入力して、システム・モニタのヘルス状態を表示します。これには、前の GREEN 状態と現在の状態 (GREEN でない場合) の間のすべてのアラートが含まれます。

3 を入力してシステム・モニタのアラートを表示します。すべてのセンサまたは特定のセンサのアラートを表示できます。また、[Set System Monitor Options] メニューの [Manage Debug Data] オプションを使用して指定した期間内のすべてのアラートを表示できます。あるいは、指定した期間内のアラートのみ表示できます。

システム・モニタのコンポーネントの定義

SYS.Monitor API で、ユーザ独自のセンサ・クラスサブスクライバ・クラス、および通知クラスを定義できます。

センサ・クラス

センサ・クラスは、%SYS.Monitor.AbstractSensorOpens in a new tab を拡張します。システム・モニタ・コントローラは、最初に各センサ・クラスの Start() メソッドを呼び出します。その後、各サイクルで GetSensors() メソッドを呼び出します。SetSensor() メソッドは、センサ・クラス内で使用され、SensorReading プロパティにセンサの名前と値の組み合わせを設定します。このプロパティは、GetSensors() によって返され、すべてのサブスクライバ・クラスに渡されます。

また、センサ・クラスはセンサの読み取り値を評価し、評価の結果として、通知またはユーザ定義のアラート・メソッドから電子メール・メッセージを生成するための %SYS.Monitor.EmailOpens in a new tab クラスを呼び出します。

サブスクライバ・クラス

サブスクライバ・クラスは、%SYS.Monitor.AbstractSubscriberOpens in a new tab を拡張します。システム・モニタ・コントローラは、最初に各サブスクライバ・クラスの Start() メソッドを呼び出します。その後、各サイクルで、そのサイクルで呼び出されるセンサ・クラスごとに 1 回 Receive() メソッドを呼び出し、そのセンサ・クラスから受け取ったセンサの名前と値の組み合わせを設定した SensorReading プロパティを渡します。サブスクライバ・クラスは、1 つまたは複数の名前と値の組み合わせを評価し、Notify() メソッドを使用して通知を設定します。このメソッドは、Notifications プロパティに値を入力します。

また、サブスクライバ・クラスは、センサ評価の結果として、通知またはユーザ定義のアラート・メソッドから電子メール・メッセージを生成するための %SYS.Monitor.EmailOpens in a new tab クラスも呼び出します。

サンプル・サブスクライバ・クラスとして、%SYS.Monitor.SampleSubscriberOpens in a new tab が用意されています。

通知クラス

通知クラスは、%SYS.Monitor.AbstractNotificationOpens in a new tab を拡張します。システム・モニタ・コントローラは、最初に各通知クラスの Start() メソッドを呼び出します。その後、各サイクルで、そのサイクルで呼び出されるサブスクライバ・クラスごとに 1 回 Post() メソッドを呼び出し、そのサブスクライバから受け取った通知を設定した Notifications プロパティを渡します。次に、通知クラスは、自身のアラート・メソッド (複数可) に通知を渡します。このメソッドには、通知またはユーザ定義のアラート・メソッドから電子メール・メッセージを生成するための %SYS.Monitor.EmailOpens in a new tab クラスが含まれていることがあります。

関連項目

FeedbackOpens in a new tab