Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Caché システム・モニタの使用

Caché システム・モニタは、柔軟でユーザ拡張可能なユーティリティで、Caché インスタンスを監視してさまざまなメトリックの 1 つまたは複数の値が潜在的な問題を示した場合に通知を生成するために使用されます。システム・モニタには、以下の Caché インスタンス監視ツールが付属しています。

  • システム・モニタは、システムの状態およびリソースを監視し、固定パラメータに基づいて通知 (アラートおよび警告) を生成し、システム・ヘルス全体を追跡します。

  • Caché ヘルス・モニタ (ヘルス・モニタ) は、主要なシステム・メトリックおよびユーザ定義メトリックをサンプリングし、それらをユーザ構成可能なパラメータおよび規定の通常値と比較した上で、サンプルが該当のしきい値を超えた場合に通知 を生成します。

  • Caché アプリケーション・モニタ (アプリケーション・モニタ) は、重要なシステム・メトリックをサンプリングし、その値をローカル・ネームスペースに格納して、ユーザが作成したアラート定義を使用して評価します。アラートがトリガされると、電子メール通知を生成するか、指定されたクラス・メソッドを呼び出します。

既定では、これら 3 つのツールはすべて %SYS ネームスペースで動作します。システム・モニタおよびアプリケーション・モニタは、必要に応じて、他のネームスペースでネームスペース固有の構成および設定で実行することができます。要件に合わせて独自のコンポーネントを定義および構成して、各ネームスペースのシステム・モニタの機能を拡張することができます。

一般的な Caché インスタンス監視ツールの概要は、このドキュメントの “Caché モニタの使用” の章の "Caché システム監視ツール" を参照してください。また、コンソール・ログ内の通知 (システム・モニタが生成したものを含む) から電子メール・メッセージを生成するように Caché モニタを構成する方法は、同じ章の "Manage Email Options" を参照してください。この章で説明するログ・ファイルの詳細は、“管理ポータルを使用した Caché の監視” の章の "ログ・ファイルの監視" を参照してください。

この章には、以下のセクションが含まれます。

Caché システム・モニタ

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

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

このセクションの残りの部分では、以下の項目について説明します。

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

システム・モニタは、実行場所として構成されている各ネームスペースで、3 つのタイプのクラス (つまり、システム・モニタのコンポーネント) を順番に使用して、以下のように 3 段階でシステム・メトリック情報の収集および配信を実行します。

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

    センサ・クラス には、システム・メトリックまたはアプリケーション・メトリックの値を取得するためのメソッドが組み込まれています。例えば、システム・センサ・クラス SYS.Monitor.SystemSensors には、GetProcessCount() メソッド (Caché インスタンスのアクティブなプロセスの数を返す) と 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 に関する通知を受け取ると、深刻度コードとテキストをコンソール・ログに書き込みます。この手法では、ユーザ定義のアラート・システムのほかに、Ensemble や TrakCare 内のアラート・システムなどの独立したアラート・システムにも通知を渡すことができます。

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

Note:

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

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

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

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

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

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

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

    Note:

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

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

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

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

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

ディスク容量

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

  • < 50MB — アラート

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

ジャーナル空き

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

  • < 50MB — アラート

  • > 250 (警告/アラート後) — 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 分を超える応答不能 — アラート

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

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

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

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

GREEN/[ok](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 秒を超えたか、またはフリーズした ("Caché データ整合性ガイド" の “ジャーナリング” の章の "ジャーナル入出力エラー" を参照)。

  • スイッチ 10、11、13、14 のいずれかがセットされた ("Caché 専用のシステム/ツールおよびユーティリティ" の “Caché のリモート管理” の章の "スイッチの使用法" を参照)。

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

  • 使用可能なバッファ数が危険な領域まで低下し、なおかつその状態が 5 秒を超えた。

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

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

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

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

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

Note:

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

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

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

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

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

センサ・クラス :

  • SYS.Monitor.SystemSensors

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

  • %SYS.Monitor.AppMonSensor

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

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

  • 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 (アラート) の場合はそれをコンソール・ログに書き込みます (これらのログ・ファイルの詳細は、このドキュメントの “管理ポータルを使用した Caché の監視” の章を参照してください)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

%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

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

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

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

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

Note:

システム・モニタは、コンソール・ログのサイズを監視し、必要に応じてロールオーバーします。こうすることによって、使用する領域を MaxConsoleLogSize 構成設定 (既定では 5MB) の 2 倍に制限します。したがって、システム・モニタが停止すると、コンソール・ログは、この制限を超えて増大し、インスタンスが再起動したり、PurgeErrorsAndLogs タスクが実行されたりしてしまう場合があります。コンソール・ログの詳細は、“管理ポータルを使用した Caché の監視” の章の "ログ・ファイルの監視" を参照してください。

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

"Caché システム・モニタ" で説明したように、%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 を入力して、システムに関するシステム・モニタ情報を表示するオプションを表示します。

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

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

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

3 を入力してシステム・モニタのアラートを表示します。すべてのセンサまたは特定のセンサのアラートを表示できます。また、[システム・モニタのオプションの設定] メニューの [センサの読み取り値の管理] オプションを使用して指定した期間内のすべてのアラートを表示できます。あるいは、指定した期間内のアラートのみ表示できます。

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

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 クラスが含まれていることがあります。

Caché ヘルス・モニタ

Caché ヘルス・モニタは、特定の期間にさまざまな重要なメトリックの値をサンプリングし、それらをそのメトリックの構成済みパラメータおよびその期間の規定の通常値と比較して、実行中の Caché インスタンスを監視します。サンプル値が大きすぎると、ヘルス・モニタはアラート (深刻度 2 の通知) または警告 (深刻度 1) を生成します。例えば、ヘルス・モニタによって月曜日の午前 10:15 にサンプリングされた CPU 使用率の値が、構成されている CPU 使用率の最大値または月曜日の午前 9:00 から午前 11:30 の期間に得られた通常の CPU 使用率サンプルと比較して大きすぎた場合、ヘルス・モニタは通知を生成します。

このセクションでは、以下のトピックについて説明します。

Caché ヘルス・モニタの概要

ヘルス・モニタは、一定の規則を使用してサンプル値を評価し、異常に大きい値を特定します。この設計は、"NIST/SEMATECH e-Handbook of Statistical MethodsOpens in a new tab" の “Process or Product Monitoring and Control” のセクションで説明されている、製造プロセスを監視するための手法に基づいています。通常値からの偏差は、WECO 統計的確率規則 (Western Electric RulesOpens in a new tab) に基づく規則を使用して判定されます。どちらも Caché 監視の目的に合うように特別に調整されています。

ヘルス・モニタのアラート (深刻度 2) および警告 (深刻度 1) はコンソール・ログ (install-dir\mgr\cconsole.log) に書き込まれます。これらの通知を理解していることを確認する方法は、"システム・モニタ通知の追跡" を参照してください。

ヘルス・モニタのステータス・メッセージ (深刻度 0) は、システム・モニタ・ログ (install-dir\mgr\SystemMonitor.log) に書き込まれます。

Note:

システム・モニタおよびアプリケーション・モニタとは異なり、ヘルス・モニタは %SYS ネームスペースでのみ動作します。

このセクションには、以下のサブセクションがあります。

ヘルス・モニタ・プロセスの説明

既定では、ヘルス・モニタは、インスタンスの起動時に自動的に起動しません。自動的に起動させるには、^%SYSMONMGR ユーティリティを使用して Caché システム・モニタ内でヘルス・モニタを有効にする必要があります (ヘルス・モニタを有効にした場合、Caché が起動してからヘルス・モニタが起動するまでの間隔を指定できます。これにより、インスタンスは、サンプリングの開始前に通常の動作状態に到達できます)。このユーティリティは、ヘルス・モニタの現在の状態を確認するために、常時使用可能です。詳細は、この章で後述する "^%SYSMONMGR を使用したヘルス・モニタの管理" を参照してください。

ヘルス・モニタ・プロセスの基本要素について以下に説明します。

  • ヘルス・モニタは、SYS.Monitor.SystemSensors で定義されている 41 個のシステム・センサをサンプリングします ("システム・モニタの既定のコンポーネント" を参照してください)。

    一部のセンサは、Caché インスタンスの全体的メトリックを示します。例えば、LicensePercentUsed センサは、現在使用中のインスタンスの許可済みライセンス・ユニットの割合をサンプリングします。また、JournalGrowthRate センサは、インスタンスのジャーナル・ファイルに書き込まれたデータの量 (1 分あたりの KB 数) をサンプリングします。

    その他のセンサは、特定のセンサ・アイテム (データベースやミラーなど) に適用されます。例えば、DBLatency センサは、マウントされた各データベースでランダム読み取りが完了するまでに要する時間をサンプリングします。また、DBReads センサは、マウントされた各データベース (データベースはディレクトリで指定されます) からの 1 分あたりの読み取りの回数をサンプリングします。

  • 各センサは、以下のように、少なくとも 1 つ、場合によっては 3 つのパラメータを設定するヘルス・モニタ内のセンサ・オブジェクトで表されます。

    • 必須のセンサ・サンプルのベース (最小) 値

    • 必要に応じて、最大値および警告値、または乗数および警告乗数

    例えば、既定では、DBLatency センサ・オブジェクトでベース値 1000、最大値 3000、および警告値 1000 を指定し、DBReads センサ・オブジェクトでベース値 1024、乗数 2、および警告乗数 1.6 を指定します。

  • 各センサは、指定された週、月、四半期、または年ごとの期間に、30 秒の間隔でサンプリングされます。センサ・オブジェクトで指定されたベース値を下回るサンプルは破棄されます。

    既定では 63 の週次の期間があり、それぞれは、特定の曜日における指定された 9 つの間隔のいずれかを表します。例えば、月曜日の午前 9:00 から午前 11:30 などです。ただし、独自の期間を構成することもできます。

  • ヘルス・モニタでは、センサのサンプル値を評価するために、センサ・オブジェクトのパラメータと、必要に応じて期間ごとの各センサのグラフ が使用されます。このグラフには、これまでに収集されたサンプル値、およびそれらの平均値と平均からの標準偏差 (σ) が表示されます。

    センサ・オブジェクトに最大値と警告値が設定されている場合、そのオブジェクトを使用するセンサのサンプルを評価するのにグラフは必要ありません。サンプルをそれらの値と比較して、通知が生成されるためです ("通知ルール" を参照してください)。したがって、既定の設定では、グラフは DBLatency センサでは必須ではありません。

    乗数値が設定されているセンサ・オブジェクトでは、グラフは必須です。したがって、既定の設定では、グラフは DBReads センサでは必須です。例えば、月曜日の 9:00 ~ 11:30 の期間の DBReads c:\InterSystems\Cache\mgr\docbook センサのグラフには、この期間の DOCBOOK データベースからの 1 分あたりの平均読み取り数が 2145、標準偏差が 141、および最大単一値が 2327 であることが示されます。

    特定の期間のセンサのグラフが必要であるのに、それがまだ存在しない場合、その期間に取得されたサンプルを評価するためには事前にそのグラフを生成する必要があります。したがって、ヘルス・モニタがアクティブなときは、指定された期間にそれぞれのセンサは次の 2 つのモードのいずれかになります。

    • グラフが必要であるがまだ存在しない場合、そのセンサは自動的に分析モードになります。

      分析モードでは、ヘルス・モニタは単純に収集したサンプル値を記録し、期間の終了時にそのセンサに必要なグラフを生成します。グラフの信頼性を確保するために、分析モードでは最低 13 サンプルを取得しておく必要があります。1 回の期間で有効な 13 サンプルが取得されるまで、センサは分析モードにとどまり、その期間に対するグラフは生成されません。

      Note:

      グラフは、Caché インスタンスが通常の安定した動作をしている間に取得されたサンプルから生成される必要があります。例えば、月曜日 09:00 ~ 11:30 のグラフが存在しないとき、月曜日が休日の場合や、技術的な問題が Caché インスタンスの動作に影響している場合には、グラフを生成しないでください。

    • 必要なグラフが存在する場合やグラフが必要ない場合、そのセンサは監視モードになります。

      監視モードでは、ヘルス・モニタはサンプルを収集し、センサ・オブジェクトでの値または既存のグラフを基準にして評価します。一時的なサンプルの異常値によって通知がトリガされないように、3 分ごとに各 6 つのサンプル値が平均化されて 1 つの読み取り値が生成され、それらが評価対象の読み取り値となります。

  • センサの読み取り値は、適切なサブスクライバ・クラスによって評価されます ("システム・モニタ・プロセス" を参照)。連続する読み取り値が、センサ・オブジェクトの設定および該当するグラフ (必要な場合) と比較されたときに、通知の条件を満たす場合、サブスクライバ・クラスは、テキストと深刻度コードを含む通知をシステム通知 ( SYS.Monitor.SystemNotifyOpens in a new tab) に渡してアラートまたは警告を生成します。

    具体的には、3 回連続して読み取り値がセンサ・オブジェクトの最大値を上回るとアラート (深刻度 2 の通知) が生成され、5 回連続して読み取り値がセンサ・オブジェクトの警告値を上回ると警告 (深刻度 1 の通知) が生成されます。各センサ・オブジェクトの最大値および警告値を決定する方法の詳細は、"通知ルール" を参照してください。ただし、例は以下に示します。

    • DBLatency センサ・オブジェクトには、既定で最大値と警告値が設定されています。したがって、月曜日の 9:00 ~ 11:30 の期間の DBLatency c:\InterSystems\Cache\mgr\docbook センサの場合、読み取り値が 3 回連続してセンサ・オブジェクトの最大値 (既定では 3000) を上回ると、アラートが生成されます。

    • 一方、DBReads センサ・オブジェクトには、既定で乗数が設定されています。つまり、最大値は大きい方の値の乗数倍です。

      • グラフの平均値と、グラフの標準偏差に 3 を掛けた値を足した値

      • グラフの最大値に標準偏差を加えた値

      したがって、同じ期間の DBReads c:\InterSystems\Cache\mgr\docbook センサの場合、読み取り値が 3 回連続して 5136 を上回るとアラートが生成されます。5136 は既定のセンサ・オブジェクトの乗数 22568 (グラフの平均値 2145 に標準偏差 141 の 3 倍を加えた値) に掛けた値です。2568 は、2468 (グラフの最大値 2327 に標準偏差を加えた値) より大きいです。

    • DBReads センサ・オブジェクトが編集され、乗数が削除されて、ベース値のみが残った場合、読み取り値が 3 回連続して (大きい方の値である) 2568 を上回ると、DBReads c:\InterSystems\Cache\mgr\docbook のアラートが生成されます。

      • グラフの平均値と、グラフの標準偏差に 3 を掛けた値を足した値

      • グラフの最大値 (2327)

    Note:

    センサ・オブジェクトに最大値と警告値が指定されているセンサからの読み取り値を評価するのにグラフは必要ないため、それらのセンサの読み取り値の評価とその結果として生成される通知の送信は、SYS.Monitor.Health.Control サブスクライバ・クラスではなく SYS.Monitor.SystemSubscriber サブスクライバ・クラスによって処理されます ("システム・モニタの既定のコンポーネント" を参照してください)。結果的に、ヘルス・モニタが有効になっていない ("^%SYSMONMGR を使用したヘルス・モニタの管理" を参照) 場合でも、システム・モニタが稼働している限り、これらのセンサの通知は生成されます。

    指定されたセンサ・オブジェクトによって表される一部のセンサの値を使用して通知を生成し、その他のセンサについては乗数を使用して通知を生成する (例えば、一部のデータベースでは DBLatency センサの値を使用し、その他のデータベースでは乗数を使用する) 場合は、センサ・オブジェクトで乗数を設定し、絶対値を使用するセンサのグラフを手動で作成します。詳細は、"グラフ" を参照してください。

  • あるセンサまたはセンサ/アイテムの特定の期間に対してグラフが生成されてから、5 回その期間が経過すると (アラートが生成された期間を除く)、これら 5 回の通常期間における読み取り値が評価され、センサの平均値の上昇や変化が検出されます。平均値が 95% の確信度で上昇しているか、変化している場合は、グラフが再校正されます。センサのその期間の既存のグラフは、その期間の最後の発生時に取得されたサンプルから生成されたグラフと置き換えられます。例えば、あるデータベースへのユーザのアクセス数が緩やかでも着実に増加している場合、そのデータベースの DBReads 値の平均も緩やかかつ着実に増加する傾向にあり、これにより 5 期間ごとにグラフの定期的な再校正が発生し、不当なアラートが回避されます。

    センサ・オブジェクトの最大値と乗数値を同じように自動的に再校正することはできません。グラフの自動再校正はこのようなセンサには適用されないため、手動で調整する必要があります。例えば、データベースのユーザのアクセス数が増加している場合、DBLatency センサ・オブジェクトのベース値、最大値、および警告値は手動で調整する必要があります。

ヘルス・モニタの要素と拡張

ヘルス・モニタには既定の要素のセットが付属しています。さまざまな方法でこれを再構成して拡張できます。以下のサブセクションの説明を参照してください。

センサとセンサ・オブジェクト

ヘルス・モニタのセンサ・オブジェクトは、SYS.Monitor.SystemSensors 内のいずれかのセンサを表します。各センサ・オブジェクトは、ベース値を持つ必要があります。必要に応じて、最大値および警告値、または乗数および警告乗数を持つこともできます。センサの読み取り値の評価でこれらの値がどのように使用されるかについては、"ヘルス・モニタ・プロセスの説明" と "通知ルール" を参照してください。以下のテーブルに、ヘルス・モニタのセンサ・オブジェクトとその既定のパラメータを示します。

センサ・アイテムが表示されている場合、そのセンサ・オブジェクトは複数のセンサ (適用アイテム (ジョブ・タイプ、CSP サーバ、データベース、またはミラー) ごとに 1 つ) を表します。センサ・アイテムが表示されていない場合、そのセンサ・オブジェクトは 1 つのインスタンス全体のセンサを表します。

センサ・オブジェクトは、"Configure Health Monitor Classes" の説明に従って ^%SYSMONMGR ユーティリティを使用して表示および編集 (ただし削除は不可) できます。センサ・オブジェクトの編集では、1 つまたはすべての値を変更できます。ベース値、最大値、および警告値を入力するか、ベース値、乗数、および警告乗数を入力するか、またはベース値のみを入力します。

Caché ヘルス・モニタのセンサ・オブジェクト
センサ・オブジェクト センサ・アイテム 説明 ベース値 最大値 乗数 警告値 警告乗数
CPUUsage   システムの CPU 使用率 (%)。 50 85 75

CSPSessions

IP_address:port

リストされている CSP ゲートウェイ・サーバ上のアクティブな CSP セッションの数。

100 2 1.6
CSPActivity IP_address:port リストされている CSP ゲートウェイ・サーバへの 1 分あたりの要求数。 100 2 1.6
CSPActualConnections IP_address:port リストされている CSP ゲートウェイ・サーバ上で作成された接続の数。 100 2 1.6
CSPInUseConnections IP_address:port リストされている CSP ゲートウェイ・サーバへの現在アクティブな接続の数。 100 2 1.6
CSPPrivateConnections IP_address:port リストされている CSP ゲートウェイ・サーバへのプライベート接続の数。 100 2 1.6
CSPUrlLatency IP_address:port IP_address:port/csp/sys/UtilHome.csp からの応答の取得に要した時間 (ミリ秒)。 1000 5000 3000
CSPGatewayLatency IP_address:port CSP センサ・オブジェクトによって表されるメトリックのフェッチ時に、リストされている CSP ゲートウェイ・サーバからの応答の取得に要した時間 (ミリ秒)。 1000 2000 1000

DBLatency

database_directory

リストにあるマウントされたデータベースからのランダム読み取りが完了するまでに要した時間 (ミリ秒)。

1000 3000 1000

DBReads

database_directory

リストにあるマウントされたデータベースからの 1 分あたりの読み取り数。

1024 2 1.6

DBWrites

database_directory

リストにあるマウントされたデータベースへの 1 分あたりの書き込み数。

1024 2 1.6

ECPAppServerKBPerMinute

 

ECP データ・サーバへの 1 分あたりの送信データ量 (KB)。

1024 2 1.6

ECPConnections

 

アクティブな ECP 接続の数。

100 2 1.6

ECPDataServerKBPerMinute

 

ECP データ・サーバでの 1 分あたりの受信データ量 (KB)。

1024 2 1.6

ECPLatency

 

ECP データ・サーバとこの ECP アプリケーション・サーバ間のネットワーク遅延 (ミリ秒)。

1000 3000 3000
ECPTransOpenCount   開いている ECP トランザクションの数。 100 2 1.6
ECPTransOpenSecsMax   現在最も長く開いている ECP トランザクションの継続時間 (秒)。 60 2 1.6

GlobalRefsPerMin

 

1 分あたりのグローバル参照数。

1024 2 1.6

GlobalSetKillPerMin

 

1 分あたりのグローバル set 数とグローバル kill 数。

1024 2 1.6

JournalEntriesPerMin

 

1 分あたりのジャーナル・エントリ書き込み数。

1024 2 1.6

JournalGrowthRate

 

ジャーナル・ファイルへの 1 分あたり書き込みデータ量 (KB)。

1024 2 1.6
LicensePercentUsed   現在使用中の許可済みライセンス・ユニットの割合。 50 1.5
LicenseUsedRate   1 分あたりのライセンス取得数。 20 1.5

LockTablePercentFull

 

使用中のロック・テーブルの割合。

50 99 85

LogicalBlockRequestsPerMin

 

1 分あたりの論理ブロック要求数。

1024 2 1.6

MirrorDatabaseLatencyBytes

mirror_name

ミラーのバックアップ・フェイルオーバー・メンバにおける、プライマリからは受け取ったものの、バックアップのミラーリング対象データベースには適用されていないジャーナル・データのバイト数 (バックアップ・データベースの遅滞尺度)。

2*107 2 1.6
MirrorDatabaseLatencyFiles mirror_name ミラーのバックアップ・フェイルオーバー・メンバにおける、プライマリからは受け取ったものの、バックアップのミラーリング対象データベースにはまだ完全に適用されていないジャーナル・ファイルの数 (バックアップ・データベースの遅滞尺度)。 3 2 1.6

MirrorDatabaseLatencyTime

mirror_name

ミラーのバックアップ・フェイルオーバー・メンバにおける、プライマリから最終ジャーナル・ファイルを受け取った時間と、バックアップのミラーリング対象データベースに最終ジャーナル・ファイルが完全に適用された時間の差 (ミリ秒) (バックアップ・データベースの遅滞尺度)。

1000 4000 3000

MirrorJournalLatencyBytes

mirror_name

ミラーのバックアップ・フェイルオーバー・メンバにおける、プライマリからは受け取ったものの、バックアップのジャーナル・ディレクトリには書き込まれていないジャーナル・データのバイト数 (バックアップの遅滞尺度)。

2*107 2 1.6

MirrorJournalLatencyFiles

mirror_name

ミラーのバックアップ・フェイルオーバー・メンバにおける、プライマリからは受け取ったものの、バックアップのジャーナル・ディレクトリには書き込まれていないジャーナル・ファイルの数 (バックアップの遅滞尺度)。

3 2 1.6

MirrorJournalLatencyTime

mirror_name

ミラーのバックアップ・フェイルオーバー・メンバにおける、プライマリから最終ジャーナル・ファイルを受け取った時間と、最終ジャーナル・ファイルがバックアップのジャーナル・ディレクトリに完全に書き込まれた時間の差 (ミリ秒) (バックアップの遅滞尺度)。

1000 4000 3000

PhysicalBlockReadsPerMin

 

1 分あたりの物理ブロック読み取り数。

1024 2 1.6

PhysicalBlockWritesPerMin

 

1 分あたりの物理ブロック書き込み数。

1024 2 1.6

ProcessCount

 

Caché インスタンスのアクティブなプロセスの数。

100 2 1.6
RoutineCommandsPerMin  

1 分あたりのルーチン・コマンドの数。

1024 2 1.6

RoutineLoadsPerMin

 

1 分あたりのルーチンのロード数。

1024 2 1.6

RoutineRefsPerMin

 

1 分あたりのルーチン参照数。

1024 2 1.6
SMHPercentFull   使用中の共有メモリ・ヒープ (一般メモリ・ヒープ) の割合。 50 98 85
ShadowConnectionsLatency   このデータ・ソースへのシャドウ・サーバ接続のネットワーク遅延 (ミリ秒)。 1000 2 1.6
ShadowLatency   このシャドウ・サーバのデータ・ソースへの接続のネットワーク遅延 (ミリ秒)。 1000 2 1.6
TransOpenCount   開いているローカル・トランザクション (ローカルおよびリモート) の数。 100 2 1.6
TransOpenSecondsMax   現在最も長く開いているローカル・トランザクションの継続時間 (秒)。 60 2 1.6

WDBuffers

 

1 ライト・デーモン・サイクルの間に更新されるデータベース・バッファの平均数。

1024 2 1.6

WDCycleTime

 

1 ライト・デーモン・サイクルを完了するために必要な平均の秒数。

60 2 1.6

WDWIJTime

 

ライト・イメージ・ジャーナル (WIJ) の更新にかかる 1 サイクルあたりの平均時間 (秒)。

60 2 1.6

WDWriteSize

 

1 ライト・デーモン・サイクルあたりの平均書き込みバイト数。

1024 2 1.6
Note:

いくつかのセンサは、全部の Caché インスタンスに対してサンプリングされません。例えば、4 つの ECP... センサは、ECP データとアプリケーション・サーバのみについてサンプリングされます。

ミラー・メンバを監視しているときに ("Caché 高可用性ガイド" の “ミラーリング” の章を参照)、ヘルス・モニタには以下の特別な条件が適用されます。

  • ミラーの再起動中 (例えば、バックアップ・フェイルオーバー・メンバがプライマリを引き継いだ直後) や、ミラーでのメンバのステータスが不確定である場合は、センサはサンプリングされません。

  • センサが一定期間分析モードになっていて、ミラーでのメンバのステータスがその期間中に変化した場合、グラフは作成されず、センサは分析モードのままになります。

  • バックアップ・フェイルオーバー・ミラー・メンバでは MirrorDatabaseLatency* センサと MirrorJournalLatency* センサのみがサンプリングされます。

  • プライマリ・フェイルオーバー・ミラー・メンバでは、MirrorDatabaseLatency* センサと MirrorJournalLatency* センサを除くすべてのセンサがサンプリングされます。

通知ルール

ヘルス・モニタは、ある期間のセンサの読み取り値が 3 回連続してセンサの最大値を上回った場合にアラート (深刻度 2 の通知) を生成し、ある期間のセンサの読み取り値が 5 回連続してセンサの警告値を上回った場合に警告 (深刻度 1 の通知) を生成します。最大値および警告値は、センサ・オブジェクトの設定と、適用可能なグラフがヘルス・モニタによって生成されたのかユーザによって作成されたのかによって異なります。以下のテーブルを参照してください。

"ヘルス・モニタ・プロセスの説明" で説明されている、以下の点にも注意してください。

  • センサ・オブジェクトに最大値と警告値が設定されている場合は、グラフは必要ないため生成されません。通知はヘルス・モニタが無効になっている場合でも生成されます。

  • センサ・オブジェクトに乗数と警告乗数が設定されている場合やベース値のみが設定されている場合は、グラフが必要です。分析モードで十分なサンプルが収集されてグラフが生成されるまで、通知は生成されません。

  • ユーザが作成したグラフがある場合は、センサ・オブジェクトの設定がどのようになっていてもかまいません。

センサ・オブジェクトの設定 グラフ・タイプ センサの最大値 センサの警告値 アクティブになる条件
ベース値、最大値、警告値 なし センサ・オブジェクトの最大値 センサ・オブジェクトの警告値 システム・モニタが稼働中
ベース値、乗数、警告乗数 生成済み 以下のうちの大きい方の値にセンサ・オブジェクトの乗数を掛けた値
  • グラフの平均値に標準偏差を 3 回加えた値

  • グラフの最大値に標準偏差を加えた値

以下のうちの大きい方の値にセンサ・オブジェクトの警告乗数を掛けた値
  • ベース値

  • グラフの平均値に標準偏差を 2 回加えた値

  • グラフの最大値

システム・モニタが稼働中、ヘルス・モニタが有効
ベース値のみ 生成済み 以下のうちの大きい方の値
  • グラフの平均値に標準偏差を 3 回加えた値

  • グラフの最大値

以下のうちの大きい方の値
  • グラフの平均値に標準偏差を 2 回加えた値

  • グラフの最大値

(ユーザが作成したグラフが存在する場合は、該当なし) ユーザ作成済み グラフのアラート値 グラフの警告値
期間

既定では 63 の週次の繰り返し期間があり、センサはそれらの期間にサンプリングされます。これらの期間はそれぞれ、特定の曜日の以下の指定済みの間隔のいずれかを表します。

既定のヘルス・モニタの期間
午前 0:15 ~ 午前 2:45 午前 3:00 ~ 午前 6:00 午前 6:15 ~ 午前 8:45
午前 9:00 ~ 午前 11:30 午前 11:45 ~ 午後 1:15

午後 1:30 ~ 午後 4:00

午後 4:15 ~ 午後 6:00

午後 6:15 ~ 午後 8:45

午後 9:00 ~ 午後 11:59

^%SYSMONMGR ユーティリティの [Configure Health Monitor Classes] サブメニューの [Configure Periods] オプションを使用して、期間のリスト表示、追加および削除を行うことができます。週次の期間のほかに、月、四半期、および年ごとの期間を追加できます。

Note:

四半期ごとの期間は、開始月として指定された月から 3 か月ごとにリスト表示されます。例えば、開始月に 5 (5 月) を指定した場合、四半期のサイクルは、8 月(8)、11 月 (11)、および 2 月 (2) に繰り返されます。

ユーザ定義期間では、説明はオプションです。

グラフ

ヘルス・モニタは、各期間に分析モードで取得された各センサの読み取り値と、それらの読み取り値から計算された平均値と標準偏差が含まれたグラフを生成します。"通知ルール" で説明したように、グラフの平均値、標準偏差、および最大単一値は、センサの読み取り値を評価するために使用されます。

^%SYSMONMGR ユーティリティの [Configure Health Monitor Classes] サブメニューの [Configure Charts] オプションでは、それぞれの平均値および標準偏差を含む、現在のすべてのグラフのリストを表示できます。また、個別の読み取り値や最大読み取り値を含む、特定のグラフの詳細も表示できます。

[Configure Charts] オプションは、グラフをカスタマイズすることでアラートをカスタマイズする 2 つの方法を提供します。

  • 既存のグラフを編集して、平均値や標準偏差を任意の値に変更できます。標準の通知ルールは適用されますが、入力した値が使用されます。

  • グラフを作成して、アラート値と警告値を指定できます。これを行うと、センサ・オブジェクトの設定は適用されなくなります。アラートと警告は、グラフに指定した値のみに基づいて生成されます。

Note:

グラフをリスト表示、検証、編集、または作成するときに、[アイテム] 見出しまたはプロンプトは、ジョブ・タイプ、データベースを指定するデータベース・ディレクトリ・パス、CSP ゲートウェイ・サーバを指定する IP アドレス、およびミラーを指定するミラー名を参照します。詳細は、"センサとセンサ・オブジェクト" を参照してください。

また、以下の SYS.Monitor.Health.ChartOpens in a new tab クラス・メソッドにより、リストの値に基づいた統計グラフをプログラムで作成することができます。

  • CreateChart()Opens in a new tab — 特定のサンプリング期間やセンサのグラフの作成、リストの値の評価、および結果として得られる平均値と標準偏差 (σ) 値の設定を行います。

  • SetChartStats()Opens in a new tab — リストの値の評価、および特定のサンプリング期間やセンサについて、結果として得られる平均値と標準偏差 (σ) 値の設定を行います。

詳細は、SYS.Monitor.Health.ChartOpens in a new tab クラス・ドキュメントを参照してください。

Note:

"ヘルス・モニタ・プロセスの説明" の最後の手順で説明されているように、ヘルス・モニタによって生成されたグラフ (ユーザが編集したグラフも含む) は、自動的に再校正できます。また、Caché インスタンスをアップグレードすると、編集済みのものも含め、ヘルス・モニタによって生成されたすべてのグラフは削除されます。[Configure Charts] サブメニューまたは CreateChart()Opens in a new tab クラス・メソッドを使用して作成されたグラフは、自動的に再校正されることもアップグレード時に削除されることもありません。したがって、ユーザが作成したグラフは、[Configure Health Monitor Classes] サブメニューの [Reset Defaults] オプション内の [Reset Charts] オプションを選択するか、[Configure Charts] オプション内の [Recalibrate Charts] を選択しない限り、選択したセンサと期間の組み合わせに永続的に関連付けられます。

^%SYSMONMGR を使用したヘルス・モニタの管理

"^%SYSMONMGR ユーティリティの使用" で説明されているように、^%SYSMONMGR ユーティリティでは、ヘルス・モニタを含め、システム・モニタを管理および構成できます。ヘルス・モニタを管理するには、ターミナルで %SYS ネームスペースに変更してから、以下のコマンドを入力します。

%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? 

6 (Manage Health Monitor) を入力します。以下のメニューが表示されます。

1) Enable/Disable Health Monitor 
2) View Alerts Records
3) Configure Health Monitor Classes 
4) Set Health Monitor Options
5) Exit 

Option? 

実行する操作の番号を入力します。ヘルス・モニタ・ユーティリティを終了するには Enter キーを押します。

Note:

ヘルス・モニタは、%SYS ネームスペースでのみ稼働します。別のネームスペースで ^%SYSMONMGR を起動すると、オプション 6 (Manage Health Monitor) は表示されません。

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

オプション 説明
1) Enable/Disable Health Monitor
  • ヘルス・モニタの有効化 (ヘルス・モニタが既定で無効になっている場合)。これにより、システム・モニタの起動時にヘルス・モニタが起動します。ヘルス・モニタは、構成されている起動待機時間が完了するまで、センサの読み取り値の収集を開始しません。

  • ヘルス・モニタの無効化 (ヘルス・モニタが有効になっている場合)。これにより、システム・モニタの起動時にヘルス・モニタは起動しません。

2) View Alert Records
  • 指定された日付範囲での 1 つまたはすべてのセンサ・オブジェクトのアラート・レコードの表示。

3) ヘルスモニタクラスの構成
  • 通知ルールの表示。

  • 既存の期間のリスト表示と削除、および新しい期間の追加。

  • グラフのリスト表示、検証、編集、および作成。

  • センサ・オブジェクトのリスト表示とセンサ・オブジェクトの設定の編集。

  • ヘルス・モニタの要素を既定値にリセット。

4) ヘルスモニタオプションの設定
  • 起動待機時間の設定。

  • アラート・レコードを削除する時期の指定。

Note:

ユーティリティから、センサ、ルール、期間、グラフなど、1 つの要素を指定するように求められた場合には、番号付きリストのプロンプトで「? 」(疑問符) を入力して、その後で必要な要素の番号を入力できます。

このユーティリティからのすべての出力は、ターミナルで表示するか、指定のデバイスに送信できます。

アラート・レコードの表示

特定のセンサまたはすべてのセンサについて、最近生成されたアラートを表示するには、このオプションを選択します。 グラフの平均値および標準偏差や通知をトリガする読み取り値など、個別のアラートおよび警告の詳細を検証することができます。(アラート・レコードは、構成された日数後に削除されます。詳細は "ヘルスモニタオプションの設定" を参照してください。)

ヘルスモニタクラスの構成

このサブメニューの各オプションでは、以下のテーブルのようにヘルス・モニタをカスタマイズできます。

Note:

システム・モニタの稼働中にこれらのオプションを使用してヘルス・モニタをカスタマイズすることはできません。まず、システム・モニタを停止し、変更を行った後にシステム・モニタを再起動する必要があります。

オプション 説明
1) ルールのアクティブ化/非アクティブ化

(このリリースでは使用しません)

2) 期間の構成

現在構成されている期間のリストを表示し、期間を追加および削除します。

3) 図の構成

以下のことができます。

  • すべての既存のグラフの平均値と標準偏差のリストを期間ごとにまとめて表示します。

  • 平均値や標準偏差の基になる読み取り値や、最大読み取り値など、個々のグラフの詳細情報を確認します。

  • [Edit Charts] オプションを使用して、既存のグラフの平均値と標準偏差を変更します。

  • グラフを作成して、アラートしきい値と警告しきい値を指定します。

  • 最新のデータを使用して、すべてのグラフ (ユーザが作成したグラフも含む) または個々のグラフを手動で再校正します。

4) Edit Sensor Objects

SYS.Monitor.SystemSensors クラス内のセンサを表すセンサ・オブジェクトを表示し、センサ・オブジェクトのベース値、最大値、警告値、乗数、および警告乗数を変更します。

5) 既定にリセット

以下のことができます。

  • 既定の期間構成にリセットし、既存のグラフをすべて削除し、すべての期間を分析モードに戻します ("ヘルス・モニタ・プロセスの説明" を参照してください)。

  • ユーザ定義の期間構成は削除せずに、既存のグラフ (ユーザが作成したグラフも含む) をすべて削除し、すべての期間を分析モードに戻します。

  • すべてのセンサ・オブジェクトを既定値にリセットします。

  • ヘルス・モニタのオプション (起動待機時間およびアラートの削除時間 ) を既定値にリセットします。

ヘルスモニタオプションの設定

このサブメニューでは、以下のテーブルに示すヘルス・モニタのいくつかのオプションを設定できます。

オプション 説明
1) 起動待機時間の設定

起動後、センサの読み取り値をヘルス・モニタ・サブスクライバ SYS.Health.Monitor.Control に渡すまでのシステム・モニタの待機時間 (分) を構成します (ヘルス・モニタが有効になっている場合)。これにより、Caché は、ヘルス・モニタがグラフの作成または読み取り値の評価を開始する前に、通常の動作状態に到達できます。

2) アラートの削除時間の設定 アラート・レコードをいつ削除するかを指定します。既定では、アラートの生成から 5 日後です。

Caché アプリケーション・モニタ

Caché アプリケーション・モニタは、ユーザ拡張可能なメトリック・セットを監視し、自身が収集したデータの永続リポジトリを維持し、ユーザが構成したアラートをトリガします。

このセクションでは、以下のトピックについて説明します。

アプリケーション・モニタの概要

Caché アプリケーション・モニタ (以下、アプリケーション・モニタ) は、システム・モニタに構成されている各実行開始ネームスペースで、ユーザが選択したシステム定義メトリックとユーザ定義メトリックのセットを監視する、拡張可能なユーティリティです。"システム・モニタの既定のコンポーネント" で説明されているように、%SYS.Monitor.AppMonSensor (アプリケーション・モニタ・センサ・クラス) は、システム・モニタによって呼び出されると、メトリックをサンプリングし、サンプルを評価し、それ自体の通知を生成します。(システム・モニタの通知やヘルス・モニタの通知と異なり、これらはコンソール・ログに書き込まれません。)具体的に言うと、アプリケーション・モニタはシステム・モニタの各実行開始ネームスペースで以下を実行します。

  1. システム・モニタの起動時に、起動します。

  2. 付属のシステム・モニタ・クラスを登録できます (これらは既定で %SYS に登録されます)。

  3. 監視対象のシステム定義クラスおよびユーザ定義クラスを有効化できます。有効化できるのは、登録されているシステム・クラスと、ローカル・ネームスペースにあるユーザ定義クラスです。例えば、ユーザ定義クラスを USER ネームスペースでのみ作成すると、そのクラスは USER ネームスペースでのみ有効化できます。

  4. 各アクティブ・クラスによって指定されたメトリックをサンプリングして、それらのクラスを監視します。これらのメトリックは、モニタ・クラスの GetSample() メソッドによって呼び出されたサンプル・クラスから返されるプロパティを表します。例えば、%Monitor.System.LockTableOpens in a new tab クラスは、%Monitor.System.Sample.LockTableOpens in a new tab クラスを呼び出します。このクラスは、TotalSpace プロパティ (ロック・テーブルの合計サイズを格納) や、UsedSpace プロパティ (ロック・テーブルの使用中の領域のサイズを格納) などを返します。サンプリングされたデータとモニタ・メタデータおよびクラス・メタデータは、ローカル・ネームスペースに保存され、すべてのオブジェクトおよび SQL からアクセスできるようになります。

  5. あるクラスのアラートが構成されており、そのクラスがアラートに構成されている評価式を満たすプロパティ値を返した場合、電子メール・メッセージを生成するかクラス・メソッドを呼び出します (これらのアクションのいずれかがアラートに構成されている場合)。例えば、最初に受信者への電子メール通知を構成し、次に %Monitor.System.LockTableOpens in a new tab クラス用のアラートを構成し、%Monitor.System.Sample.LockTableOpens in a new tabUsedSpace プロパティの TotalSpace プロパティに対する比率が .9 (使用率 90%) より大きい場合に電子メールが送信されるように指定します。

Note:

アプリケーション・モニタで提供されている %Monitor.System.HistorySysOpens in a new tab クラスと %Monitor.System.HistoryPerfOpens in a new tab クラスは、有効化されると、システムの使用状況とパフォーマンスのメトリックの履歴データベースを作成および保持します。これは、システムの使用状況とパフォーマンスの問題を経時的に分析するのに役立ちます。これらのクラスと %Monitor.System.HistoryUserOpens in a new tab は、%SYS でのみ動作し、他のネームスペースに登録することはできません。これらのクラスと履歴データベースの詳細は、“Caché 履歴モニタ” の章を参照してください。

^%SYSMONMGR を使用したアプリケーション・モニタの管理

"^%SYSMONMGR ユーティリティの使用" で説明されているように、^%SYSMONMGR ユーティリティでは、アプリケーション・モニタを含め、システム・モニタを管理および構成できます。このユーティリティは任意のネームスペースで実行できます。このユーティリティを使用して行った変更は、このユーティリティが起動されたネームスペースにのみ影響します。ネームスペースで ^%SYSMONMGR を起動して構成した実行開始ネームスペースごとに、個別のアプリケーション・モニタ構成を保持する必要があります。

Note:

アプリケーション・モニタ構成にクラスの有効化などの変更を加えた後は、変更を有効にするために、その変更を行ったネームスペースでシステム・モニタを再起動する必要があります。

アプリケーション・モニタを管理するには、ターミナルで以下のコマンドを入力します。

%SYS>do ^%SYSMONMGR

次に、5 (Manage Application Monitor) を入力します。以下のメニューが表示されます。

1) Set Sample Interval
2) Manage Monitor Classes
3) Change Default Notification Method
4) Manage Email Options
5) Manage Alerts
6) Debug Monitor Classes
7) Exit
 
Option?

実行する操作の番号を入力します。アプリケーション・モニタ・ユーティリティを終了するには Enter キーを押します。

Manage Application Monitor

メイン・メニューのオプションでは、以下のテーブルで説明するようにアプリケーション・モニタを管理できます。

オプション 説明
1) Set Sample Interval

メトリックがサンプリングされる間隔を設定します。既定値は 30 秒です。この設定は、[Manage Monitor Classes] サブメニューの 5) Set Class Sample Interval オプションを使用して、クラス固有の間隔を設定することでクラスごとにオーバーライドできます。

Note:

"Set System Monitor Options" で説明されているように、システム・モニタは、既定では 30 秒ごとに (この設定も変更可能)、構成されている各センサ・クラス (%SYS.Monitor.AppMonSensor など) を呼び出します。アプリケーション・モニタのサンプリング間隔またはクラス固有の間隔がシステム・モニタの間隔と異なる場合は、いずれか長い方の間隔が有効になります。例えば、システム・モニタの間隔が 30 でアプリケーション・モニタの間隔が 120 である場合、アクティブなアプリケーション・モニタ・クラスはすべて 120 秒ごとにサンプリングされます。システム・モニタの間隔が 60 で %Monitor.System.LockTableOpens in a new tab クラスの間隔が 20 の場合、クラスは 60 秒ごとにサンプリングされます。

2) Manage Monitor Classes アプリケーション・モニタ・マネージャを実行しているネームスペースでシステム定義モニタ・クラスとユーザ定義モニタ・クラスを管理するための [Manage Monitor Classes] サブメニューが表示されます。
3) Change Default Notification Method アラートがトリガされたときに実行されるアラートの既定のアクションを指定できます。別途指定しない限り、作成したすべてのアラートでこのアクションが使用されます。

4) Manage Email Options [Monitor Email Options] サブメニューが表示されます。このサブメニューでは、アラートでこのアクションを指定できるように、電子メール通知を有効化して構成することができます。
5) Manage Alerts [Manage Alerts] サブメニューが表示されます。このサブメニューでは、システム定義およびユーザ定義のモニタ・クラスのアラートを作成できます。
6) Debug Monitor Classes [Debug Monitor Classes] メニューが表示されます (エラーのリストも表示されます)。このメニューでは、デバッグ機能を有効化または無効化できます。

Manage Monitor Classes

このサブメニューでは、システム定義モニタ・クラスおよびユーザ定義モニタ・クラスを管理できます。 実行する操作の番号を入力します。メイン・メニューに戻るには Enter キーを押します。

Option? 2
 
1) Activate/Deactivate Monitor Class
2) List Monitor Classes
3) Register Monitor System Classes
4) Remove/Purge Monitor Class
5) Set Class Sample Interval
6) Exit
 
Option?

このサブメニューでは、以下のテーブルのように、システム定義クラスおよびユーザ定義クラスを管理するメニュー項目が表示されます。

オプション 説明
1) Activate / Deactivate Monitor Class

アプリケーション・モニタは、アクティブなクラスのみをサンプリングします。このオプションでは、非アクティブなクラスを有効化するか、アクティブなクラスを無効化できます。ローカル・ネームスペースに登録されているシステム定義クラスとユーザ定義クラスの番号付きリストとそれぞれの有効化状況を表示するには、[Class?] プロンプトで「?」と入力し、番号またはクラス名を入力します。

2) List Monitor Classes ローカル・ネームスペースに登録されているシステム定義クラスとユーザ定義クラスのリストと、それぞれの有効化状況を表示します。
3) Register Monitor System Classes すべてのシステム・モニタ・クラス (%Monitor.System.HistorySysOpens in a new tab クラス、%Monitor.System.HistoryPerfOpens in a new tab クラス、および %Monitor.System.HistoryUserOpens in a new tab クラスは除く) を登録して、それらのクラスをローカル・ネームスペースに保存します。サンプリングを開始するために、このメニューの [1) Activate/Deactivate Monitor Class] オプションを使用して、システム・クラスを引き続き有効にしておく必要があります。
4) Remove/Purge Class ローカル・ネームスペースにあるクラスのリストからモニタ・クラスを削除します。ローカル・ネームスペースに登録されているシステム定義クラスとユーザ定義クラスの番号付きリストとそれぞれの有効化状況を表示するには、[Class?] プロンプトで「?」と入力し、番号またはクラス名を入力します。
Note:

このオプションでは、クラスそのものが削除されるわけではなく、有効化できる登録クラスのリストからそのクラスの名前が削除されるだけです。リストをリセットするには、このメニューのオプション [3) Register Monitor System Classes] を選択します。

5) Set Class Sample Interval

アプリケーション・モニタの既定のサンプリング間隔をクラスごとにオーバーライドできます。この間隔は [Manage Application Monitor] メニューの [1) Set Sample Interval] オプションで指定されています。既定値は 0 で、そのクラスにはクラス固有のサンプリング間隔が設定されていないことを意味します。

Note:

この設定の間隔、[Set Sample Interval] 設定の間隔、および "Set System Monitor Options" で説明しているシステム・モニタのサンプリング間隔の優先順位については、[Set Sample Interval] オプションの説明を参照してください。

Change Default Notification Method

アラートの作成時に、そのアラートがトリガされたときに実行されるアクションを指定します。このアクションの既定の選択肢が、このオプションを使用して設定する既定の通知方法です。実行する操作の番号を入力します。メイン・メニューに戻るには Enter キーを押します。

Option? 3
  
Notify Action (0=none,1=email,2=method)? 0 => 

このオプションでの選択は、以下のテーブルのように、既定の通知メソッドを使用するアラートの構成で使用されます。

入力フィールド 説明
0 アラートがトリガされてもアクションを実行しません。
1 アラートがトリガされると、構成されている受信者に電子メール・メッセージを送信します。電子メールの構成に関する詳細は、"Manage Email Options" を参照してください。
2

アラートがトリガされると、通知メソッドを呼び出します。このアクションを選択すると、アラートで指定されているアプリケーション名と、サンプル・クラスによってモニタ・クラスに返されるプロパティを含む %List オブジェクトを引数とする通知メソッドが呼び出されます ("アプリケーション・モニタの概要" を参照してください)。プロンプトが表示されたら、完全なクラス名とメソッド (packagename.classname.method) を入力します。このメソッドは、ローカル・ネームスペースに存在する必要があります。

Manage Email Options

このサブメニューのオプションでは、電子メールの構成および有効化が可能です。電子メールが有効になっている場合、電子メール通知を送信するよう構成されているアラートがトリガされると、アプリケーション・モニタから電子メール通知が送信されます。実行する操作の番号を入力します。メイン・メニューに戻るには Enter キーを押します。

Option? 4

1) Enable/Disable Email
2) Set Sender
3) Set Server
4) Manage Recipients
5) Set Authorization
6) Test Email
7) Exit

Option? 

このサブメニューの各オプションでは、以下のテーブルのようにアプリケーション・モニタの電子メール通知を管理できます。

オプション 説明
1) Enable / Disable Email

電子メールを有効にすると、アラートがトリガされたときに、アプリケーション・モニタが電子メール通知を送信できます (構成されている場合)。電子メールを無効にすると、アラートがトリガされても電子メール通知は送信されません。

Note:

電子メールを無効にしてから、再び有効にした場合は、電子メール・オプションを再構成する必要はありません。

2) Set Sender このオプションは必須です。電子メールの送信者を識別するテキストを入力します。指定されている送信メール・サーバに応じて、このテキストが有効な電子メール・アカウントである必要がある場合とない場合があります。
3) Set Server このオプションは必須です。サイトの送信電子メールを処理するサーバの名前を入力します。サーバの名前が不明の場合、IT 担当者に問い合わせてください。
4) Manage Recipients

このオプションでは、受信者の有効な電子メール・アドレスのリスト、追加、または削除が可能な次のサブメニューが表示されます。 1) List Recipients 2) Add Recipient 3) Remove Recipient 4) Exit

受信者を追加または削除する場合は、電子メール・アドレスを個別に (1 行に 1 つずつ) 入力する必要があります。無効な形式のアドレスは拒否されます。

5) Set Authorization 電子メール・サーバが承認を必要とする場合、承認のユーザ名とパスワードを指定できます。IT 担当者に問い合わせて、この情報を入手してください。エントリを入力しないと、承認のユーザ名とパスワードは NULL に設定されます。
6) Test Email 指定された電子メール・サーバを使用して、指定された受信者にテスト・メッセージを送信します。送信に失敗した場合は、結果として生成されたエラー・メッセージが問題の解決に役立つことがあります。

Manage Alerts

アラートでは以下を指定します。

  • 対象のネームスペース内の条件。モニタ・クラスによってサンプリングされたプロパティの値によって定義されます。

  • その条件が発生した場合にそれをユーザに通知するために実行されるアクション

前述の例に戻るには、アラートを作成して、以下を指定します。

プロパティに基づいた条件の定義は、評価式と呼ばれます。使用するサンプル・クラスのプロパティを指定した後に、評価式を指定します。評価式では、プロパティは、ユーザがプロパティを指定した順番と対応するプレースホルダで示されます。例えば、ロック・テーブルのアラートを作成するときに、最初に UsedSpace プロパティを指定し、次に TotalSpace プロパティを指定した場合、評価式を「%1 / %2 > .9」と入力します。このとき、プロパティを逆の順番で入力すると、式は「%2 / %1 > .9」となります。

アラート・メニューが表示されたら、実行する操作の番号を入力します。メイン・メニューに戻るには Enter キーを押します。

Option? 2
 
1) Create Alert
2) Edit Alert
3) List Alerts
4) Delete Alert
5) Enable/Disable Alert
6) Exit
 
Option?

このサブメニューの各オプションでは、以下のテーブルのようにアプリケーション・モニタのアラートを管理できます。

入力フィールド 説明
1) Create Alert 新しいアラートを定義できます。プロンプトおよびそれに対する入力の説明は、"アラート・プロンプトへの入力" を参照してください。新しく作成したアラートは既定で有効になります。
2) Edit Alert

既存のアラートを変更できます。編集するアラートの名前を入力するか、「?」と入力して既存のアラートのリストを表示して、番号または名前を入力します。

Note:

内容を変更しないプロンプトも含め、すべてのプロンプトで入力する必要があります。つまり、変更するフィールドの改訂情報だけでなく、変更しないフィールドの情報も再入力する必要があります。プロンプトおよびそれに対する入力の説明は、"アラート・プロンプトへの入力" を参照してください。

3) List Alerts

ローカル・ネームスペースにあるすべてのアラートの定義を表示します。例えば、以下のようになります。

Alert: LockTable90 USER

Action: email

Class: %Monitor.System.LockTable

Property: UsedSpace,TotalSpace

Expression: %1/%2>.9

Notify Once: True

Enabled: Yes

4) Delete Alert

既存のアラートを削除できます。編集するアラートの名前を入力するか、「?」と入力して既存のアラートのリストを表示して、番号または名前を入力します。

Note:

各アラートを個別に入力する必要があります。つまり、削除するアラートを列や範囲で指定することはできません。

5) Enable / Disable Alert

アラートを有効にすると、そのアラートはアクティブになります。アラートを無効にすると、そのアラートは非アクティブになります。

Note:

アラートを無効にしてから、再び有効にした場合は、アラート・オプションを再構成する必要はありません。

以下のテーブルでは、アラート・プロンプトでの有効な入力について説明します。

アラート・プロンプトへの入力
入力フィールド 説明
Alert Name?

英数字の名前を入力します。ローカル・ネームスペースで既に定義されているアラート名の番号付きリストを表示するには、[Alert Name?] プロンプトで「?」と入力します。

Application? 電子メール・メッセージまたは通知メソッドに渡す説明テキストを入力します。このテキストには、この後の手順の [Property?] プロンプトで指定するプロパティへの参照を %N の形式で含めることができます。%1 は最初のプロパティを表し、%2 は 2番目のプロパティを表します (以下同様)。
Action (0=default, 1=email, 2=method)?

アラートがトリガされたときに実行されるアクションを指定します。以下のオプションのいずれかを入力します。

  • 0 – 既定で指定されている通知方法 (なし、電子メール、またはクラス・メソッド) を使用します。"Change Default Notification Method" を参照してください。

  • 1 – アラートがトリガされると、説明テキストとサンプル・クラスによってモニタ・クラスに返されたプロパティの名前と値が含まれた電子メール・メッセージ ("アプリケーション・モニタの概要" を参照) を構成された電子メール受信者に送信します。電子メールの構成に関する詳細は、"Manage Email Options" を参照してください。

  • 2 – 説明テキストと、サンプル・クラスによってモニタ・クラスに返されるプロパティを含む %List オブジェクトを引数とする、指定の通知メソッドを呼び出します ("アプリケーション・モニタの概要" を参照してください)。

    プロンプトが表示されたら、完全なクラス名とメソッド (packagename.classname.method) を入力します。このメソッドは、ローカル・ネームスペースに存在する必要があります。

Raise this alert during sampling?

またはDefine a trigger for this alert?

アラートの作成では、1 番目のプロンプトが表示されます。作成時に 1 番目のプロンプトで「No」を入力したアラートの編集では、2 番目のプロンプトが表示されます。以下のいずれかを入力します。

  • Yes – 必要な情報のプロンプト表示を続行します。

  • No – スキップして終了します。[Class?][Property?]、および [Evaluation expression?] の各プロンプトは省略されます。

Class?

ローカル・ネームスペースに登録されているシステム定義モニタ・クラスまたはユーザ定義モニタ・クラスの名前を入力します。ローカル・ネームスペースにある登録クラスの番号付きリストとそれぞれの有効化状況を表示するには、[Class?] プロンプトで「?」と入力します。

Note:

非アクティブなクラスのアラートを作成できます。アラートが構成されているクラスが削除されても、アラート自体は削除されません。

Property?

前のプロンプトで指定したクラスで定義されているプロパティの名前 (式の評価や説明テキストで使用しているもの) を入力します。指定のクラスで定義されているプロパティの番号付きリストを表示するには、[Property?] プロンプトで「?」と入力して、番号または名前を入力します。各プロパティは個別に入力する必要があります。入力の完了後、空白のプロンプトで Enter キーを押すと、プロパティのリストが指定した順序で表示されます。

Evaluation expression? [Property?] プロンプトで指定したプロパティの評価に使用する式。 例えば、(%1 = "User") && (%2 < 100) では、%1 はプロパティのリストの最初のプロパティを表し、%2 は 2 番目のプロパティを表します。
Notify once only?

以下のいずれかを入力します。

  • Yes – アラートの最初のトリガでのみユーザに通知します。

  • No – アラートがトリガされるたびにユーザに通知します。

Debugging Monitor Classes

このサブメニューでは、システムのデバッグ機能を管理できます。

[Debugging monitor classes] により、サンプル値の収集中に、ユーザ定義のアプリケーション・モニタ・クラスによって生成されたエラーを取得する機能が追加されます。

実行する操作の番号を入力します。メイン・メニューに戻るには Enter キーを押します。

Option? 6
 
1) Enable Debug
2) Disable Debug
3) List Errors
4) Exit
 
Option?

このサブメニューの各オプションでは、以下のテーブルに示すように、アプリケーション・モニタのデバッグ機能を管理できます。

入力フィールド 説明
1) Enable Debug

デバッグ機能を有効にします。クラスがサンプル値を生成していない場合は、エラーが原因でサンプル値の保存が妨げられているかどうかを確認してください。

2) Disable Debug

デバッグ機能を無効にします。

3) List Errors

ローカル・ネームスペース内のエラーの定義がすべて表示されます。例えば、以下のようなものがあります。

%Save()%New()Initialize()GetSample()

^%SYSMONMGR を使用してクラスのデバッグ機能を有効にすると、システム・モニタはクラス内の特定のメソッドで捕捉した最後のエラーを保存します。

アプリケーション・モニタのメトリック

アプリケーション・モニタに付属のシステム・モニタ・クラスは、以下のサンプル・クラスを呼び出します。

アプリケーション・モニタ・システム・クラス
%Monitor.System.Sample.AuditCount Opens in a new tab 監査メトリック
%Monitor.System.Sample.AuditEvents Opens in a new tab
%Monitor.System.Sample.Clients Opens in a new tab クライアント・メトリック
%Monitor.System.Sample.CSPGateway Opens in a new tab CSP ゲートウェイ・メトリック
%Monitor.System.Sample.Diskspace Opens in a new tab ディスク容量メトリック
%Monitor.System.Sample.Freespace Opens in a new tab 空き容量メトリック
%Monitor.System.Sample.Globals Opens in a new tab グローバル・メトリック
%Monitor.System.Sample.HistoryPerf Opens in a new tab 履歴データベース・メトリック (このドキュメントの “Caché 履歴モニタ” の章を参照してください)
%Monitor.System.Sample.HistorySysOpens in a new tab
%Monitor.System.Sample.HistoryUser Opens in a new tab
%Monitor.System.Sample.Journals Opens in a new tab ジャーナル・メトリック
%Monitor.System.Sample.License Opens in a new tab ライセンス・メトリック
%Monitor.System.Sample.LockTable Opens in a new tab ロック・テーブル・メトリック
%Monitor.System.Sample.Processes Opens in a new tab プロセス・メトリック
%Monitor.System.Sample.Routines Opens in a new tab ルーチン・メトリック
%Monitor.System.Sample.Servers Opens in a new tab サーバ・メトリック
%Monitor.System.Sample.SystemMetrics Opens in a new tab システム活動メトリック

各カテゴリのサンプル・メトリックに対応するプロパティのリストは、"インターシステムズ・クラス・リファレンス" を参照してください。

MONITOR 機能を制御する類似の関数群が、%Monitor.System パッケージのクラスに用意されています。このパッケージを使用すると、収集したデータに名前を付け、永続オブジェクト形式として保存できます。詳細は、"インターシステムズ・クラス・リファレンス" で、%Monitor.System.Sample パッケージ・クラスのドキュメント、および %Monitor.System.SystemMetricsOpens in a new tab クラスのドキュメントを参照してください。

メトリックの生成

%Monitor.SampleAgent クラスは実際のサンプリングを行い、メトリック・クラスの Initialize() メソッドと GetSample() メソッドを呼び出します。

%Monitor.SampleAgent.%New(n) コンストラクタは、実行するメトリック・クラスの名前を引数として取ります。役割は、そのクラスのインスタンスを生成し、そのクラスの Startup() メソッドを呼び出すことです。その後、%Monitor.SampleAgent.Collect() メソッドが呼び出されるたびに、Sample Agent はそのクラスの Initialize() メソッドを呼び出し、そのクラスの GetSample() メソッドを繰り返し呼び出します。さらに、GetSample() が呼び出されるたびに、%Monitor.SampleAgent は、メトリック・クラスのサンプル・クラスを作成します。これらの処理の擬似コードは以下のとおりです。

set sampler = ##class(%Monitor.SampleAgent).%New("MyMetrics.Freespace")
for I=1:1:10 { do sampler.Collect() hang 10 }
/* at this point, the sampler has created an instance of MyMetrics.Freespace,
and invoked its Startup method */
for I=1:1:10 d sampler.Collect() h 10
/* at each iteration, sampler calls MyMetrics.Freespace.Initialize(), then loops
on GetSample().  Whenever GetSample() returns $$$OK, sampler creates a new
MyMetrics.Sample.Freespace instance, with the sample data. When GetSample()
returns an error value, no sample is created, and sampler.Collect() returns. */

メトリック・データの表示

すべてのメトリック・クラスは、CSP 対応です。サンプル・クラスの生成時に、CSP コードが自動的に生成されます。したがって、メトリックを表示する最も簡単な方法は、Web ブラウザを使用することです。例えば、"メトリックの生成" の例に基づくと、また、スーパーサーバ・ポート番号を 57772 と仮定すると、CSP の URL は http://localhost:57772/csp/user/MyMetrics.Sample.Freespace.clsOpens in a new tab です。これにより、以下のような出力が表示されます。

Monitor - Freespace c:\cache51\ 
            Name of dataset:  c:\cache51\
Current amount of Freespace:  8.2MB

Monitor - Freespace c:\cache51\mgr\ 
            Name of dataset:  c:\cache51\mgr\
Current amount of Freespace:  6.4MB

%Monitor.ViewOpens in a new tab クラスの Display(metric_class) メソッドを使用することもできます。例えば、以下のようになります。

%SYS>set mclass="Monitor.Test.Freespace"

%SYS>set col=##class(%Monitor.SampleAgent).%New(mclass)

%SYS>write col.Collect()
1
%SYS>write ##class(%Monitor.View).Display(mclass)

Monitor - Freespace    c:\cache51\
                Name of dataset:  c:\cache51\
    Current amount of Freespace:  8.2MB

Monitor - Freespace    c:\cache51\mgr\
                Name of dataset:  c:\cache51\mgr\
    Current amount of Freespace:  6.4MB

Note:

名前に % (パーセント記号) が含まれているクラスの URL は、その場所に %25 を使用する必要があります。例えば、%Monitor.System.FreespaceOpens in a new tab クラスの場合、以下のようになります。

http://localhost:57772/csp/sys/%25Monitor.System.Freespace.cls

ユーザ定義アプリケーション・モニタ・クラスの記述

付属のシステム・クラスのほか、ユーザ・アプリケーションのデータとカウンタを監視する独自のモニタ・クラスおよびサンプル・クラスを記述することができます。

モニタ・クラスは、抽象モニタ・クラス %Monitor.AdaptorOpens in a new tab から継承する任意のクラスです。%Monitor.System クラスはそのようなクラスの例です。独自のユーザ定義モニタ・クラスを作成する手順は次のとおりです。

  1. %Monitor.AdaptorOpens in a new tab を継承するクラスを記述します。この継承は、永続性、パラメータ、プロパティ、コード生成、およびユーザのクラス定義からモニタ・メタデータを生成するプロジェクションを提供します。このクラスおよびユーザが記述する必要があるコードの詳細は、"インターシステムズ・クラス・リファレンス" で %Monitor.AdaptorOpens in a new tab クラスの説明を参照してください。

  2. クラスをコンパイルします。%Monitor.AdaptorOpens in a new tab から継承したクラスをコンパイルすると、ユーザ・クラスのサブパッケージである Sample に新しいサンプル・クラスが生成されます。例えば、A.B.MyMetric をコンパイルすると、新しいクラスが A.B.Sample.MyMetric に生成されます。生成されたクラスで何らかの操作を実行する必要はありません。

    Important:

    アプリケーション・モニタ・クラスを削除するには、モニタ・クラスのみを削除します。つまり、生成されたサンプル・クラスは削除しないようにします。管理ポータルまたは Atelier を使用して、サンプル・クラス (例えば、A.B.Sample.MyMetric) の生成元であるモニタ・クラス (例えば、A.B.MyMetric) のみを削除します。これにより、モニタ・クラスと生成されたサンプル・クラスの両方が自動的に削除されます。

サンプル・クラスはすべて自動的に CSP 対応になるので、A.B.Sample.MyMetric.cls を指定すれば、ユーザ・メトリックのサンプル・データを参照できます。アプリケーション・モニタはこのクラスを自動的に呼び出し、このクラスが有効な場合はデータとアラートを生成します。モニタ・クラスの有効化に関する情報は、"Manage Monitor Classes" を参照してください。

Important:

SECURITYRESOURCE パラメータは、明示的に変更していない場合、%Monitor.AdaptorOpens in a new tab 内 (したがって、%Monitor.AdaptorOpens in a new tab から継承するユーザ・クラス内) では空です。コード生成では、SECURITYRESOURCE 値がユーザ定義のクラスから生成されたサンプル・クラスにコピーされます。SECURITYRESOURCE パラメータの詳細は、"Caché Server Pages (CSP) の使用法" の "%CSP.Page クラス・パラメータ" を参照してください。

以下の簡単な例では、Caché インスタンスの各データセットに空き領域を確保します。ユーザ定義のアプリケーション・モニタ・クラスの作成およびアプリケーション・エラーの発生時に電子メール通知を送信するアラートの作成の詳細な手順は、InterSystems Developer Community に掲載されたインターシステムズのシニア・テクニカル・トレーナーによる記事 "Creating a Custom Application Monitor Class and an AlertOpens in a new tab" を参照してください。この記事には、ダウンロード可能なコードが添付されています。

それぞれのサンプリングでは、n インスタンスのサンプル・データ・オブジェクトを要求します。各インスタンスはデータセットに対応しています。また、この例では、各インスタンスのプロパティは 1 つだけ (サンプル収集時におけるそのデータセットの空き容量) です。

  1. %Monitor.AdaptorOpens in a new tab を継承するクラスを作成します。

    Class MyMetric.Freespace Extends %Monitor.Adaptor [ ProcedureBlock ]
    {
    }
    
  2. サンプル・データの一部となるプロパティを追加します。これらのプロパティは %Monitor タイプであることが条件となります。

    • Gauge

    • Integer

    • Numeric

    • String

    例えば以下のようになります。

    Class MyMetric.Freespace Extends %Monitor.Adaptor [ ProcedureBlock ]
    {
        /// Name of dataset
        Property DBName As %Monitor.String(CAPTION = "Database Name");
    
        /// Current amount of Freespace
        Property FreeSpace As %Monitor.String;
    }
    
  3. サンプルのインスタンスの中で、どのフィールドが一意キーになるかを指定する INDEX パラメータを追加します。

    Class MyMetric.Freespace Extends %Monitor.Adaptor [ ProcedureBlock ]
    {
        Parameter INDEX = "DBName";
    }
    
  4. 必要に応じてコントロール・プロパティを追加して、そのプロパティが生成されたクラスのストレージ定義の一部にならないように [Internal] のマークを付けます。

    Class MyMetric.Freespace Extends %Monitor.Adaptor [ ProcedureBlock ]
    {
        /// Result Set
        Property Rspec As %Library.ResultSet [Internal];
    }
    
  5. Initialize() という名前のメソッドをオーバーライドします。Initialize は、各メトリックの収集を開始する時点で呼び出されます。

    Class MyMetric.Freespace Extends %Monitor.Adaptor [ ProcedureBlock ]
    {
        /// Initialize the list of datasets and freespace.
        Method Initialize() As %Status
        {
            set ..Rspec = ##class(%Library.ResultSet).%New("SYS.Database:FreeSpace")
            do ..Rspec.Execute("*",0)
            return $$$OK
        }
    }
    
  6. GetSample() という名前のメソッドをオーバーライドします。GetSample() は、状態値 0 が返されるまで繰り返し呼び出されます。各サンプル・インスタンスにメトリック・データを取り込むためのコードを記述します。

    Class MyMetric.Freespace Extends %Monitor.Adaptor [ ProcedureBlock ]
    {
        /// Get dataset metric sample.
        /// A return code of $$$OK indicates there is a new sample instance.
        /// A return code of 0 indicates there is no sample instance.
        Method GetSample() As %Status
        {
            // Get freespace data
            set stat = ..Rspec.Next(.sc)
    
            // Quit if we have done all the datasets
            if 'stat {
                Quit 0
            }
    
            // populate this instance
            set ..DBName = ..Rspec.Get("Directory")
            set ..FreeSpace = ..Rspec.Get("Available")
    
            // quit with return value indicating the sample data is ready
            return $$$OK
        }
    }
  7. クラスをコンパイルします。クラスは以下のようになります。

    Class MyMetric.Freespace Extends %Monitor.Adaptor
    {
        Parameter INDEX = "DBName";
    
        /// Name of dataset
        Property DBName As %Monitor.String;
    
        /// Current amount of Freespace
        Property FreeSpace As %Monitor.String;
    
        /// Result Set
        Property Rspec As %Library.ResultSet [Internal];
    
        /// Initialize routine metrics.
        Method Initialize() As %Status
        {
            set ..Rspec = ##class(%Library.ResultSet).%New("SYS.Database:FreeSpace")
            do ..Rspec.Execute("*",0)
            return $$$OK
        }
    
        /// Get routine metric sample. 
        /// A return code of $$$OK indicates there is a new sample instance. 
        /// Any other return code indicates there is no sample instance. 
        Method GetSample() As %Status
        {
            // Get freespace data 
            Set stat = ..Rspec.Next(.sc)
    
            // Quit if we have done all the datasets 
            if 'stat {
                Quit 0
            } 
    
            // populate this instance 
            set ..DBName = ..Rspec.Get("Directory") 
            set ..FreeSpace = ..Rspec.Get("Available") 
    
            // quit with return value indicating the sample data is ready 
            return $$$OK
        }
    }
  8. さらに、必要であれば、Startup() メソッドと Shutdown() メソッドをオーバーライドします。これらのメソッドは、サンプリングの開始時に一度だけ呼び出されます。したがって、チャネルを開く操作など、1 回限りの初期化処理を実行できます。

    Class MyMetric.Freespace Extends %Monitor.Adaptor [ ProcedureBlock ]
    {
        /// Open a tcp/ip device to send warnings
        Property io As %Status;
        Method Startup() As %Status
        {
            set ..io="|TCP|2"
            set host="127.0.0.1"
            open ..io:(host:^serverport:"M"):200
        }
        Method Shutdown() As %Status
        {
            close ..io
        }
    }
  9. このクラスをコンパイルすると、パッケージ MyMetric.Sample に新しいクラス MyMetric.Sample.Freespace が作成されます。

    /// Persistent sample class for MyMetric.Freespace
    Class MyMetric.Sample.Freespace Extends Monitor.Sample 
    {
      Parameter INDEX = "DBName";
    
      Property Application As %String [ InitialExpression = "MyMetric" ];
    
      /// Name of dataset
      Property DBName As %Monitor.String(CAPTION = "");
    
      /// Current amount of Freespace
      Property FreeSpace As %Monitor.String(CAPTION = "");
    
      Property GroupName As %String [ InitialExpression = "Freespace" ];
    
      Property MetricsClass As %String [ InitialExpression = "MyMetric.Freespace" ];
    
    }
    
    Note:

    このクラスは変更しないでください。ただし、このクラスから継承して、サンプル・データに対するカスタム・クエリを記述することは可能です。

    Important:

    アクティブなユーザ定義のアプリケーション・モニタ・クラスを変更してリコンパイルすると、そのクラスは非アクティブ化され、クラス固有のサンプリング間隔のオーバーライドは削除されます (設定されている場合)。このクラスをリストアするには、アクティブ化し、必要に応じてサンプリング間隔を再設定して、システム・モニタを再起動します。システム・モニタの実行中に、ユーザ定義のクラスを変更してリコンパイルすると、そのクラスに基づいたアラートはすべて削除されます。

FeedbackOpens in a new tab