メトリック拡張

概要

メトリック拡張では、スタック・モニタリングによって監視される任意のリソース・タイプに対してフルファンド・メトリックを作成できます。メトリック拡張を使用すると、IT環境に固有の条件をモニターするカスタム・メトリックを作成できます。これにより、環境の包括的な情報を把握できます。

メトリック拡張を作成すると、他のモニタリング・ツールを使用してこの補足的なモニタリングを提供するかわりに、スタック・モニタリングを環境全体の単一の集中モニタリング・ツールとして使用することで、IT組織の運用プロセスを簡略化できます。

メトリック拡張のライフサイクル

メトリック拡張の開発は、プログラミングによるカスタマイズで必要となるものと同じフェーズに従います。

メトリック拡張の作成には、次のフェーズが含まれます。

  • メトリック拡張の開発:

    • 作成
    • テスト
    • 編集
    • クローン
    • エクスポートとインポート

    このフェーズでは、メトリック拡張の作成後、メトリック拡張はドラフト・ステータスになり、リソースに対してテストし、それに応じて編集できます。

  • メトリック拡張の公開:

    メトリック拡張を公開すると、一般に使用できるようになりますが、編集はできなくなります。

  • リソースでのメトリック拡張の有効化:

    メトリック拡張を公開すると、リソースにデプロイして有効にできます。

メトリック拡張の使用

前提条件

メトリック拡張を使用するには、特定のポリシーが必要です。詳細は、メトリック拡張演算子のポリシーの作成を参照してください。

メトリック拡張の開発

  1. メトリック拡張の作成
  2. メトリック拡張のテストおよび編集
  3. メトリック拡張のクローン
  4. メトリック拡張のエクスポートおよびインポート

メトリック拡張の作成

  1. 「スタック・モニタリング」メニューから、「メトリック拡張」を選択します。
  2. 「メトリック拡張の作成」をクリックします。「メトリック拡張の作成」UIパネルが表示されます。
  3. メトリック拡張のプロパティ:

    1. メトリック拡張の「名前」を入力します。メトリック拡張名には、常にME_接頭辞が付きます。
      ノート

      メトリック拡張名は、リソース・タイプ全体で一意である必要があります。
    2. メトリック拡張の表示名を入力します。
    3. メトリック拡張の「説明」を入力します。
  4. 収集メソッドのプロパティでは、作成するメトリック拡張のリソース・タイプおよびその他の収集プロパティを指定します。

    • リソース・タイプ: メトリック拡張を作成するリソース・タイプ(ホスト、コンテナDBなど)。サポートされているリソース・タイプおよびサポートされているインスタンス・プロパティの詳細は、サポートされているリソース・タイプとサポートされているインスタンス・プロパティを参照してください。
    • 収集頻度: メトリック拡張を収集する頻度を指定します。
    • 収集方法: メトリック拡張の収集に必要な収集方法のタイプを指定します。次の収集メソッドがサポートされています。各収集メソッドおよび例の詳細は、「収集メソッドのプロパティ」を参照してください。
      1. OSコマンド: このメソッドは、指定されたOSコマンドまたはスクリプトを実行し、各コマンドライン(ユーザー指定文字で区切られた)を複数値に解析します。メトリックの結果は、複数の行と複数の列で構成される表です。
      2. SQL: このメソッドは、データベースに対してカスタムSQL問合せ、ファンクションまたはSQLスクリプトを実行し、結果としてメトリック表を返します。
      3. JMX: (Java Management Extensions) : このメソッドは、JMX対応サーバーからJMX属性を取得し、これらの属性をメトリック表として返します。
      4. HTTP: このメソッドは、特定のHTTP(S)エンドポイント(URL)を起動し、指定されたJavaScriptファイルを使用してレスポンスをメトリック表として変換します。
  5. メトリック/ディメンション:

    メトリック拡張の実行によって返される各値について、値がメトリックまたはディメンションであるかどうか、および関連するプロパティを識別します。

    ノート

    • カスタム・スクリプトによって返される値は、複数行の複数列表になることが予想されます。
    • 各列の出力は、関連する属性とともにメトリックまたはディメンションとして識別する必要があります。
    • メトリック・データ・ポイントは数値にする必要があります。

    メトリック・ディメンションには、次の属性を含める必要があります。

    1. 名前: PascalCaseに英語のアルファベットのみを含むメトリックまたはディメンションの名前を指定します。つまり、単語の最初の文字はすべて、OCI監視要件に従ってスペースまたは数字を含まない大文字にする必要があります。適切なメトリック名の例として、CpuUtilization、TotalDatabaseSize、FileSystemUsageなどがあります。
      ノート

      ドラフト・メトリックは、同じリソース・タイプに対して同じ名前を持つことができますが、公開されたメトリックの場合には使用できません。リソース・タイプの特定のメトリック名がすでに取得され、公開されたメトリック拡張で使用されている場合、同じリソース・タイプに対する他の公開済メトリック拡張の名前の一部である別のメトリックで同じメトリックを使用することはできません。

      たとえば、リソース・タイプhost_linuxに対して公開されたメトリック拡張ME_FirstMetricExtensionがあり、MetricFirstという名前のメトリックがある場合、MetricFirstという名前のメトリックを持つ同じリソース・タイプhost_linuxに対して別のメトリック拡張ME_SecondMetricExtensionを公開することはできません。

      この制約は、非表示のメトリックおよびディメンションには適用できません。

    2. 表示名(オプション): 名前と異なる場合は、表示名を指定します。表示名にはスペースや数字も使用できます。
    3. ディメンションですか。: メトリックを定義する場合は「いいえ」を選択し、メトリック・ディメンションを定義する場合は「はい」を選択します。

      ディメンションはメトリックの修飾子であり、メトリック収集結果の行ごとに一意の値である必要があります。たとえば、メトリックは「ファイルシステムの使用率」で、ディメンションは「ファイルシステム名」です。

    4. 非表示ですか?(拡張): メトリックがコンピュート式でのみ使用される場合、つまり、メトリックが別のメトリックを計算する値としてのみ使用される場合、またはOCIモニタリングに送信する必要がない場合は、「はい」を選択します。そうでない場合、「いいえ」を選択します。
    5. 値タイプ: 非表示のメトリックはすべて数値である必要があります。非表示のメトリックまたはディメンションは、StringまたはNumberです。
    6. ユニット: メトリックに関連付けられたユニット。可能な単位は、メトリックに応じて、待機時間(秒、ミリ秒、マイクロ秒、分、またはHertzの頻度またはパーセンテージ)です。
    7. カテゴリ: メトリックが収集するメトリック・データのタイプ(可用性、容量、ロード、使用率)を識別します
    8. コンピュート式: コンピュート式を使用して、同じメトリック拡張内の他のメトリックまたはディメンションに対して実行される数学的または論理的な操作に基づいてメトリックの値を計算します。コンピュート式では、最初に他のメトリックを少なくとも1つ定義する必要があり、メトリック拡張ですでに定義されている他のメトリックのみを含めることができます。詳細は、コンピュート式を参照してください。

  6. メトリック拡張の作成およびテストまたは作成

    • 作成およびテストでは、メトリック拡張を1つ以上のリソースに対してテストし、返される値が正しいことを確認できます。返された値に基づいて、反復的な方法で編集およびテストを続行できます。

      ノート

      メトリック拡張をテストすると、管理エージェントが再起動されます。その結果、非本番リソースでメトリック拡張をテストすることをお薦めします。
      ノート

      列が適切でないことが判明した場合は、「メトリック/ディメンションの順序変更」ボタンを使用して修正します。
    • 「作成」では、メトリック拡張の定義を保存し、後でリソースに対してテストできます。

メトリック拡張のテストおよび編集

  1. メトリック拡張の作成後、「ドラフト」ステータスになります。「ドラフト」ステータスの場合、引き続きメトリック拡張定義を編集し、リソースに対してメトリック拡張をテストできます。
  2. テストでは、メトリックをテストできるリソースを選択します。このプロセスには、メトリック拡張がリソースのエージェントにデプロイされ、リソースに対してメトリック収集が実行されるため、数分かかる場合があります。
    ノート

    メトリック拡張をテストして後で有効化できるリソースは、Stack Monitoring Enterprise Editionで有効にする必要があります。詳細は、ライセンスの構成を参照してください。
    ノート

    メトリック拡張をテストする場合は、次のガイドラインに従ってください:
    • 本番環境でテストしないでください。
    • テスト専用の独自の管理エージェントを使用して、テスト・リソース・インスタンスを割り当てます。メトリック拡張でテストされている問合せ/スクリプトのパフォーマンスが低下し、他の管理エージェント機能に影響する可能性があります。
    • テストで障害が発生した場合は、ステップを繰り返してメトリック拡張を作成します。
    • テストが成功した場合は、返されるメトリック値が正しいことを確認します。
ノート

列が適切でないことが判明した場合は、「メトリック/ディメンションの順序変更」ボタンを使用して修正します。

メトリック拡張のクローン

メトリック拡張をクローニングすると、既存のメトリック拡張から新しいメトリック拡張を開発できます。

「ドラフト」または「公開済」ステータスのメトリック拡張の場合、行レベル・メニューから「クローン」を選択し、「メトリック拡張の作成」UIパネルを開きます。元のメトリック拡張からのすべての情報が入力されますが、「名前」は、元のメトリック拡張の名前の後にCloneが続きます。必要に応じてパラメータを編集し、メトリック拡張の作成の残りのプロセスに従ってファイナライズします。

メトリック拡張のエクスポートおよびインポート

メトリック拡張のインポートとエクスポートにより、コンパートメント間でメトリック拡張を共有したり、メトリック拡張をローカルに格納するなど、メトリック拡張での作業をより柔軟に行うことができます。

  • メトリック拡張をエクスポートするには:

    1. 「ドラフト」または「公開済」ステータスのメトリック拡張の場合、行レベル・メニューから「エクスポート」を選択して、メトリック拡張をローカルに保存します。
    2. ファイルのデフォルト名には、タイムスタンプとMetricExtensions-Export接頭辞が含まれます。必要に応じてエクスポート・ファイルの名前を編集し、「保存」をクリックします。
  • メトリック拡張をインポートするには、「メトリック拡張のインポート」をクリックし、インポートするメトリック拡張ファイルを選択します。
    ノート

    メトリック拡張をインポートする場合は、ファイルが1.0.0以上のschemeVersionを使用していることを確認してください。

メトリック拡張の公開

メトリック拡張は、公開されるまで一般に使用できません。メトリック拡張の結果をテストおよび検証した後、公開できます。メトリック拡張が公開されると、リソースで有効にできます。

ノート

メトリック拡張が公開されると、編集もテストもできなくなります。

リソースのメトリック拡張の有効化

メトリック拡張が公開されると、それを有効化して、目的のリソースにデプロイできます。メトリック拡張を有効にすると、リソースを監視しているエージェントにデプロイされ、リソースに対するメトリック収集が開始されます。

リソースでメトリック拡張を有効にするには:

  1. メトリック拡張のリストから、公開されたメトリック拡張を選択します。
  2. 行レベルのアクション・メニューから「有効化」を選択します。
  3. メトリック収集を開始するリソースを選択します。
    ノート

    メトリック拡張を有効にできるリソースには、Enterprise Editionライセンスが設定されている必要があります。詳細は、ライセンスの構成を参照してください。
  4. メトリック拡張をエージェントにデプロイし、選択したリソースでメトリック収集を開始するなど、リソースでメトリック拡張を有効にするプロセスには数分かかる場合があります。有効化リクエストのステータスを追跡するには、ページに留まるようにしてください。
    ノート

    メトリック拡張をエージェントに初めてデプロイする場合(リソースでのメトリック拡張の有効化の一部として)、デプロイメントには最大2分かかる場合があります。これにより、エージェントが再起動される可能性があるため、2分間そのエージェントがモニターしているすべてのリソースのステータスがエージェントに報告されない場合があります。

メトリック拡張の表示

メトリック拡張は、リソースで有効にすると、そのホームページのパフォーマンス・チャートに自動的に表示されます。メトリック拡張を識別するには、メトリック名の横にある*記号を見つけます。

メトリック拡張のメトリック・データは、ネームスペースoracle_metric_extensions_appmgmtで有効になっているリソースと同じコンパートメントに格納されます。


メトリック拡張を使用したスタック・モニタリング・ホームページ

「エンタープライズ・ヘルスおよびアラーム」で、任意のチャートにメトリック拡張を表示します:

  1. 鉛筆アイコンをクリックして、チャートをカスタマイズします。
  2. 表示される編集ダイアログで、次を選択します。
    1. ネームスペース: oracle_metric_extensions_appmgmt
    2. リソース・タイプ: メトリック拡張が作成されたリソースのタイプ。
    3. メトリック名: メトリック拡張のメトリック。

    エンタープライズ・マネージャへのメトリック拡張の追加

メトリック拡張パラメータ

サポートされているリソース・タイプとそのサポートされているインスタンス・プロパティ

リソース・タイプの表示名 リソースの種類 プラグインの所属先 サポートされるコレクション・メソッド インスタンス・プロパティ・リスト
Apache HTTP Server apache_http_server appmgmt OS_COMMAND、HTTP compartmentId、metric_endpoint、httpd_conf_path、httpd_bin_path、httpd_pid_path、プロトコル、listen_port、os_type
Apache Tomcat apache_tomcat appmgmt OS_COMMAND、JMX compartmentId,service_url
ASM oci_oracle_asm dbaas OS_COMMAND、SQL  
クラスタ・インスタンス oci_oracle_cluster_instance dbaas OS_COMMAND oracleHome
コンテナDB oci_oracle_cdb dbaas OS_COMMAND、SQL  
EBS ebs_instance appmgmt OS_COMMAND、SQL ホスト名、db_port、db_sid、db_host、db_service、allowed_logon_version、app_schema、long_running_request_threshold_in_minutes
EBSアプリケーション・リスナー oracle_ebs_app_lsnr appmgmt OS_COMMAND listener_ora_directory,oracle_home,tns_control
EBSコンカレント処理 oracle_ebs_conc_mgmt_service appmgmt OS_COMMAND、SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version,long_running_request_threshold_in_minutes
EBSコンカレント処理 - 特殊 oracle_ebs_conc_mgmt_service_specialized appmgmt OS_COMMAND、SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
EBS Formsシステム oracle_ebs_forms_system appmgmt OS_COMMAND、SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
EBSワークフロー・エージェント・リスナー oracle_ebs_wf_agent_lsnr appmgmt OS_COMMAND、SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
EBSワークフロー・バックグラウンド・エンジン oracle_ebs_wf_bkgd_engine appmgmt OS_COMMAND、SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
EBSワークフロー通知メーラー oracle_ebs_wf_notification_mailer appmgmt OS_COMMAND、SQL db_host,db_port,db_sid,app_schema,service_name,allowed_logon_version
Elasticsearch elastic_search appmgmt OS_COMMAND、HTTP es_base_url
GoldenGate oracle_goldengate appmgmt OS_COMMAND、HTTP ogg_url,compartmentId
GoldenGate管理サービス oracle_goldengate_admin_server appmgmt OS_COMMAND、HTTP compartmentId,process_name,api_process_name,pm_server_url,deployment_path
GoldenGateデプロイメント oracle_goldengate_deployment appmgmt OS_COMMAND、HTTP compartmentId,ogg_url,ogg_hostname,ogg_port
GoldenGate分散パス oracle_goldengate_distribution_path appmgmt OS_COMMAND、HTTP compartmentId,distribution_server_url,path_name,deployment_path
GoldenGate分散サービス oracle_goldengate_distribution_server appmgmt OS_COMMAND、HTTP compartmentId,process_name,api_process_name,pm_server_url,deployment_path
GoldenGate Extract oracle_goldengate_extract appmgmt OS_COMMAND、HTTP pm_server_url,process_name,api_process_name,compartmentId,deployment_path
GoldenGateパフォーマンス・メトリック・サービス oracle_goldengate_pm_server appmgmt OS_COMMAND、HTTP compartmentId,pm_server_url,process_name,api_process_name,deployment_path
GoldenGate受信パス oracle_goldengate_receiver_path appmgmt OS_COMMAND、HTTP receiver_server_url,path_name,compartmentId,deployment_path
GoldenGateレシーバ・サービス oracle_goldengate_receiver_server appmgmt OS_COMMAND、HTTP compartmentId、process_name、api_process_name、バージョン、pm_server_url、deployment_path
GoldenGate Replicat oracle_goldengate_replicat appmgmt OS_COMMAND、HTTP compartmentId,pm_server_url,api_process_name,process_name,deployment_path
GoldenGateサービス・マネージャ oracle_goldengate_service_manager appmgmt OS_COMMAND、HTTP ogg_url,ogg_hostname,ogg_port,compartmentId,service_manager_url
GPU gpu appmgmt OS_COMMAND pciId
ホスト- Linux host_linux appmgmt OS_COMMAND compartmentId,hostType,osType
ホスト- Solaris host_solaris appmgmt OS_COMMAND compartmentId,hostType,osType
ホスト - Windows host_windows appmgmt OS_COMMAND compartmentId,hostType,osType
Listener oci_oracle_lsnr dbaas OS_COMMAND oracleHome、lsnrType、別名
Microsoft Internet Information Services microsoft_iis appmgmt OS_COMMAND compartmentId、ホスト名、total_cpus、total_memory
Microsoft Internet Information Services Webサイト microsoft_iis_website appmgmt OS_COMMAND compartmentId、ホスト名、ID、website_name
Microsoft SQL Server sql_server appmgmt OS_COMMAND、SQL compartmentId、inst_name、ホスト名、ポート、root_dir、os_platform、os_distro、os_release、time_zone、バージョン
非コンテナDB oci_oracle_db dbaas OS_COMMAND、SQL  
OpenSearch open_search appmgmt OSコマンド、HTTP os_base_url
Oracle Access Management Cluster** oracle_oam_cluster appmgmt OS_COMMAND、JMX app_name,server_names,service_url
Oracle Access Management** oracle_oam appmgmt OS_COMMAND、JMX app_name,server_names,service_url,weblogic_home
Oracle HTTP Server oracle_http_server appmgmt OS_COMMAND compartmentId,service_url,name,version,domain_name,node_manager_hostname,node_manager_port,ohs_home_path,type,owner_credentials
Oracle Identity Managerクラスタ** oracle_oim_cluster appmgmt OS_COMMAND、JMX service_url、app_name、server_names、バージョン
Oracle Identity Manager** oracle_oim appmgmt OS_COMMAND、JMX ホスト名、service_url、app_name、server_names、バージョン、weblogic_home
Oracle JVMランタイム oracle_jvm appmgmt OS_COMMAND、JMX compartmentId,service_url
Oracle Managed File Transfer** oracle_mft appmgmt OS_COMMAND、SQL server_name,service_url,db_schema_name,db_port,db_sid,db_host,db_service_name
Oracle Service Bus (OSB)** oracle_servicebus appmgmt OS_COMMAND、JMX compartmentId,name,server_name,oracle_home,version,service_url
Oracle WebLogic Cluster** weblogic_cluster appmgmt OS_COMMAND、JMX compartmentId、service_url、server_names、name、version、dms_spy
Oracle WebLogic Domain** weblogic_domain appmgmt OS_COMMAND、JMX admin_server_host,admin_server_port,admin_server_protocol,admin_service,admin_service_url
Oracle WebLogic Server** weblogic_j2eeserver appmgmt OS_COMMAND、JMX compartmentId、service_url、name、version、dms_spy
プラガブルDB oci_oracle_pdb dbaas OS_COMMAND、SQL  
PSFTアプリケーション oracle_psft appmgmt OS_COMMAND、SQL ホスト名、db_port、db_sid、db_host、db_service_name、peoplesoft_json_file、allowed_logon_version
PSFTアプリケーション・サーバー・ドメイン oracle_psft_appserv appmgmt OS_COMMAND、JMX ホスト名、jmx_url、ps_cfg_home、app_server_domain
PSFTアプリケーション・サーバー・グループ oracle_psft_appserv_group appmgmt OS_COMMAND ホスト名、db_port、db_host、db_service
PSFT PIA oracle_psft_pia appmgmt OS_COMMAND、JMX ostname、jmx_url、ps_cfg_home、pia_domain
PSFT PIAグループ oracle_psft_pia_group appmgmt OS_COMMAND ホスト名、db_port、db_host、db_service
PSFTプロセス・モニター oracle_psft_prcm appmgmt OS_COMMAND、SQL db_host,db_port,db_service_name
PSFT Process Schedulerドメイン oracle_psft_prcs appmgmt OS_COMMAND、JMX ホスト名、jmx_url、ps_cfg_home、prcs_domain
PSFT Process Schedulerグループ oracle_psft_prcs_group appmgmt OS_COMMAND ホスト名、db_port、db_host、db_service
SOAインフラストラクチャ** oracle_soainfra appmgmt OS_COMMAND、JMX compartmentId,name,server_name,version,service_url

**一部のリソースタイプでは、リモートモニタリングもサポートされます。ただし、ローカル監視もサポートしているため、OSコマンドは、それぞれの管理エージェントによってローカルに監視されているリソース・インスタンスでのみ使用できます。

コレクション・メソッドのプロパティ

OSコマンド収集メソッド
  • コマンド: 実行するコマンド。たとえば:
    • /bin/bash - Linuxの場合
    • cmd.exe - Windowsの場合

    完全なコマンドラインはCommand + Script + Argumentsとして構成されます。

    スクリプトを使用する前に、呼び出されるコマンド/スクリプトが破壊的ではないことを確認してください。

    ノート

    シェル・コマンドは、コマンド値の一部として直接使用できないため、スクリプト・コンテンツ内で使用します。
  • 出力のデリミタ: コマンド出力をデリミタするために使用する文字列。デリミタの例は、|です。
  • 引数: スペースで区切られたスクリプトまたはコマンドの引数。
    ノート

    リソース・タイプのインスタンス・プロパティは、2つの%記号内に配置することで引数として渡すことができます。たとえば、host_linuxリソース・タイプの場合、osTypeは適用可能なインスタンス・プロパティです。このインスタンス・プロパティの値を引数としてスクリプトに渡す必要がある場合、引数プロパティを %osType%に設定できます。使用可能なインスタンス・プロパティのリストは、サポートされているリソース・タイプとそのサポートされているインスタンス・プロパティ表に示されています。
  • 出力の接頭辞: メトリックの結果行の開始文字列。

    たとえば、コマンド出力が sm_result= 3454 | abc | defの場合、Prefix for output = sm_resultは、sm_resultで始まる行のみを使用してメトリック・データを収集することを指定します。

  • スクリプト・ファイル: メトリック・データを生成するために実行されるカスタム・スクリプト。
次に例を示します:

OSコマンド収集方法を使用するすべてのサービスのハンドラ・ロード、maxload、確立済、拒否済、ハンドラIDおよび接続レートを取得するリスナー・リソース・タイプに対するメトリック拡張の作成パラメータについて、次に説明します。

  • メトリック拡張のプロパティ:

    プロパティ名 プロパティ値
    名前 ME_GetListenerDetails
    表示名 リスナー詳細の取得
    内容

    すべてのサービスのハンドラ・ロード、最大ロード、確立済、拒否済、ハンドラIDおよび接続レートを取得するリスナー・リソース・タイプのメトリック拡張

  • 収集方法のプロパティ:

    oracleHome、aliasおよびlsnrTypeは、%記号内の「引数」プロパティで使用されるリスナー・リソース・タイプのインスタンス・プロパティです。ここで、%記号は、インスタンス・プロパティ参照を保持するために使用されます

    プロパティ名 UIのプロパティ値 APIのプロパティ値(UIと異なる場合のみ)
    リソース・タイプ Listener oci_oracle_lsnr
    コレクション・メソッド OSコマンド OS_COMMAND
    収集頻度 15分 頻度= 分; 間隔=15
    コマンド /bin/bash  
    Delimiter |  
    引数 %oracleHome% %alias% %lsnrType%  
    出力の接頭辞 result=  
    スクリプト・ファイル

    services.sh

    • "content" - services.shのbase64でエンコードされたコンテンツを格納する必要があります

    • 名前: services.sh
  • メトリック/ディメンション:

    メトリック/ディメンション メトリック/ディメンションのプロパティ
    TotalRefusedConnections
    • 値タイプ: 数値

    • ディメンションですか。: いいえ

    • 非表示: いいえ

    TotalEstablishedConnections
    • 値タイプ: 数値

    • ディメンションですか。: いいえ

    • 非表示: いいえ

    MaxConnections
    • 値タイプ: 数値

    • ディメンションですか。: いいえ

    • 非表示: いいえ

    • 単位: 接続

    HandlerId
    • 値タイプ: String

    • ディメンションですか。: はい

    • 非表示: いいえ

    EstablishedConnectionsRate
    • 値タイプ: 数値

    • ディメンションですか。: いいえ

    • 非表示: いいえ

    • 計算式: (TotalEstablishedConnections > _TotalEstablishedConnections) ? ((TotalEstablishedConnections - _TotalEstablishedConnections) / __interval) : 0
    • ユニット: 接続数/秒

    • __intervalを使用してレート・メトリックを導出できます。__intervalは常に「収集頻度」フィールドの「秒」表現と等しくなります。たとえば、収集頻度が15分の場合、__intervalは15x60 (900秒)です。
    • メトリック名に接頭辞を付ける場合は「_」に特別な意味があります。コンピュート式でのそのような表現は、メトリック拡張の最後の収集で計算されたメトリックの値を参照するために使用できます。これは、計算式で使用して、最後に収集された値と比較して特定のメトリックの値の変化を導出できます。この特殊な接頭辞を使用すると、デルタ・メトリックを導出できます。
    ActiveConnections
    • 値タイプ: 数値

    • ディメンションですか。: いいえ

    • 非表示: いいえ

    • 単位: 接続

SQL収集メソッド

  • SQL問合せ: 実行するSQL問合せ。たとえば、select a.ename, (select count(*) from emp p where p.mgr=a.empno) directs from emp aです。

    PL/SQL文もサポートされており、「アウト・パラメータの位置」および「アウト・パラメータのタイプ」プロパティを移入する必要があります。バインド変数は、In parameterプロパティを使用してSQL問合せに渡すことができます。

  • SQLスクリプト: 実行するSQLスクリプトをアップロードし、関連するINパラメータとOUTパラメータのプロパティを指定します。SQL問合せまたはSQLスクリプトのいずれかを使用できます。
  • パラメータ内(オプション) - SQL問合せケースのバインド変数またはSQLスクリプト・ケースのパラメータに使用できます。
    ノート

    このプロパティは、インスタンス・プロパティ・プレースホルダの使用をサポートしています。このプレースホルダは、メトリックが収集されるリソースのインスタンス・プロパティの実際の値でプレースホルダを置換するために使用できます。たとえば、oracle_psftの場合、db_service_nameはインスタンス・プロパティです。これは、%db_service_name%などの% (パーセンテージ)記号のペア内でInパラメータ値の内部に渡すことができます。
  • アウト・パラメータの位置(オプション) - これはアウト・パラメータのポジション番号です
  • 出力パラメータ・タイプ(オプション) - これは出力パラメータのタイプです。
次に例を示します:

SQL収集メソッドを使用して様々な待機クラスの待機時間を取得する非コンテナDBリソース・タイプのメトリック拡張の作成パラメータを次に説明します。

  • メトリック拡張のプロパティ:

    プロパティ名 プロパティ値
    名前 ME_GetWaitTime
    表示名 取得待機時間
    Description

    非コンテナDBリソース・タイプのメトリック拡張。

    異なる待機クラスの待機時間

  • 収集方法のプロパティ:

    プロパティ名 UIのプロパティ値 APIのプロパティ値(UIと異なる場合のみ)
    収集頻度 1時間 頻度= 時間; 間隔=1
    収集方法 SQL  
    リソースの種類 非コンテナDB oci_oracle_db
    SQL問合せ
    WITH wait_stats AS (
    SELECT
    inst_id,
    wait_class,
    time_waited_fg
    FROM
    TABLE ( gv$(CURSOR(
    SELECT
    to_number(userenv('INSTANCE')) AS inst_id,
    wait_class,
    time_waited_fg / 100 AS time_waited_fg
    FROM
    v$system_wait_class
    WHERE
    wait_class <> 'Idle'
    )) )
    ), inst_list AS (
    SELECT
    instance_number,
    instance_name,
    host_name
    FROM
    TABLE ( gv$(CURSOR(
    SELECT
    instance_number,
    instance_name,
    host_name
    FROM
    v$instance
    )) )
    )
    SELECT
    inst.instance_number instance_number,
    inst.instance_name instance_name,
    inst.host_name host_name,
    ws.wait_class wait_class,
    ws.time_waited_fg time_waited_fg
    FROM
    wait_stats ws,
    inst_list inst
    WHERE
    inst.instance_number = ws.inst_id
    • "content" - base64でエンコードされたSQL文を含む必要があります

    • sqlType : 文
  • メトリック/ディメンション:

    メトリック/ディメンション メトリック/ディメンションのプロパティ
    InstanceNumber
    • 値タイプ: 数値

    • ディメンションですか。: はい

    • 非表示: いいえ

    InstanceName
    • 値タイプ: String

    • ディメンションですか。: はい

    • 非表示: いいえ

    HostName
    • 値タイプ: String

    • ディメンションですか。: はい

    • 非表示: いいえ

    WaitClass
    • 値タイプ: String

    • ディメンションですか。: はい

    • 非表示: いいえ

    TimeWaitedSeconds
    • 値タイプ: 数値

    • ディメンションですか。: いいえ

    • 非表示: いいえ

    • 単位: 秒

JMX収集メソッド

  • MBean name - JMX MBean ObjectNameまたはメトリック・サービスの表名
    ノート

    このプロパティは、メトリックが収集されるリソースのインスタンス・プロパティの実際の値でプレースホルダを置換するために使用できるインスタンス・プロパティ・プレースホルダの使用をサポートしています。たとえば、weblogic_j2eeserverの場合、service_urlはインスタンス・プロパティです。これは、%service_url%などの%記号内のMBean名前値文字列内で渡すことができます。

    JMX属性およびアイデンティティ列では、インスタンス・プロパティ・プレースホルダの使用もサポートされています。

  • JMX属性- Java Management Extensions (JMX)属性。JMX属性またはメトリック・サービス列の、セミコロン区切りのリスト
  • アイデンティティ列(オプション) - キー・メトリックとして使用される、Managed Bean ObjectNameのキー・プロパティのセミコロン区切りのリスト。
  • 自動行接頭辞(オプション) - これは、キー・メトリックとして自動生成された行に使用される接頭辞です。たとえば、ShipItem- に設定されている場合、値はShipItem-0、ShipItem-1のように設定されます。
  • サーバー・ドメインでメトリック・サービス使用可能? (オプション) - サーバー・ドメインでメトリック・サービスが有効かどうかを示します。trueに設定されている場合、基本プロパティMBean nameMetric Service表名になり、基本プロパティJMX attributesMetricService表の列名のセミコロン区切りリストになります。
    ノート

    このオプションは、リソース・タイプに適用可能でサーバー・ドメインで有効になっているメトリック・サービスがある場合にのみ選択します。
次に例を示します:

JMX収集方法を使用してガベージ・コレクタの収集時間を取得するoracle weblogicサーバー・リソース・タイプのメトリック拡張の作成パラメータ。

  • メトリック拡張のプロパティ:

    プロパティ名 プロパティ値
    Name* ME_TotalGcExecutionTime
    名前の表示* ガベージ・コレクション合計時間の取得
    内容

    oracle weblogicサーバー・リソース・タイプのメトリック拡張。

    合計ガベージ・コレクション実行時間

  • 収集方法のプロパティ:

    ここで、nameはOracle Weblogic Serverのインスタンス・プロパティで、JMXタイプ・メトリック拡張定義のMbean name属性内の%インスタンス・プロパティ・プレースホルダ内で使用されています。

    プロパティ名 UIのプロパティ値 APIのプロパティ値(UIと異なる場合のみ)
    リソース・タイプ Oracle WebLogic Server weblogic_j2eeserver
    収集方法 JMX  
    収集頻度 1日 頻度= 日次; 間隔=1
    MBean名 java.lang:Location=%name%,type=GarbageCollector,*  
    JMX属性 CollectionTime  
    ID列 名前; 場所  
  • メトリック/ディメンション:

    メトリック/ディメンション メトリック/ディメンションのプロパティ
    ServerName
    • 値タイプ: String

    • ディメンションですか。: はい

    • 非表示: いいえ

    ServerRuntime
    • 値タイプ: String

    • ディメンションですか。: はい

    • 非表示: いいえ

    TotalGCExecTime
    • 値タイプ: 数値

    • ディメンションですか。: いいえ

    • 非表示: いいえ

    • 単位: ミリ秒

HTTP収集メソッド

  • URL: rawメトリック・データを取得するために起動する必要があるhttp(s)エンドポイント。たとえば: %metric_endpoint%?auto=dummy
    ノート

    このプロパティは、インスタンス・プロパティ・プレースホルダの使用をサポートしています。このプレースホルダは、メトリックが収集されるリソースのインスタンス・プロパティの実際の値でプレースホルダを置換するために使用できます。前述の例では、metric_endpointはApache HTTP Serverリソース・タイプのインスタンス・プロパティであり、% (パーセンテージ)シンボルのペア内で記述されています。メトリック拡張を実行すると、%metric_endpoint%の実際の値が、それぞれのリソースのインスタンス・プロパティ値に置き換えられます。
  • レスポンス・タイプ: http(s)エンドポイントによって返されるレスポンスのタイプ。次のタイプのレスポンスがサポートされています。
    • text/plain
    • text/html
    • application/json
    • application/xml
  • プロトコル(オプション): これは、Apache HTTP Serverの場合にのみ適用でき、Apache HTTP Serverリソースの検出時に使用されるプロトコルに従って設定する必要があります。httpまたはhttpsは、2つの可能な値です。他のすべてのリソース・タイプの場合、このプロパティは、デフォルト値であるhttpsにのみ設定できます。
    ノート

    プロトコル値httpで定義されたHTTPメトリック拡張は、対応するプロトコル値httpまたはhttpsで検出されたApache HTTP Serverリソースに対してのみ有効にできます。
  • スクリプト・ファイル: URLレスポンスを意味のあるメトリック・データに変換するJavaScriptファイル。このファイルには、runMethodというファンクションが事前定義済のシグネチャを持つ必要があります。このファンクションは、常に2次元配列を戻す必要があります。この配列には、メトリック拡張で定義されたメトリックおよびディメンションに正確にマップされる変換済データが格納されます。

    runMethod(metricObservation, sourceProps)のパラメータ:

    パラメータ Description
    metricObservation メトリック・データの生成に必要なURLからのレスポンス。
    sourceProps キーと値のペアのリストであり、メトリック拡張が実行されるリソースのインスタンス・プロパティを保持します。

    runMethodの機能要件:

    • パラメータmetricObservationに含まれるURLからのレスポンスを解析します。
    • 必要なメトリック/ディメンション・データを生成し、2次元配列で返します。
    • 必要に応じて、sourcePropsを使用して、機能ロジックを実装します。

次に例を示します:

HTTP収集メソッドを使用してヒットおよびミスのケースのCacheRetrievesCountを取得するApache HTTP Serverリソース・タイプ用のメトリック拡張の作成パラメータを次に説明します。

  • メトリック拡張のプロパティ:
    プロパティ名 プロパティ値
    名前 ME_GetCacheRetrievesCount
    表示名 キャッシュ取得数の取得
    内容

    ヒットおよびミス・ケースのCacheRetrievesCountを取得するApache HTTP Serverリソース・タイプのメトリック拡張

  • 収集方法のプロパティ:
    プロパティ名 UIのプロパティ値 APIのプロパティ値(UIと異なる場合のみ)
    収集頻度 1時間 頻度= 時間; 間隔=1
    収集方法 http
    リソースの種類 Apache HTTP Server apache_http_server
    URL %metric_endpoint%?auto= ダミー
    レスポンス・タイプ text/plain TEXT_PLAIN
    プロトコル・タイプ HTTP
    スクリプト・ファイル

    const METRIC_NAMES = ["CacheRetrieveMissCount", "CacheRetrieveHitCount"];

    関数runMethod(metricObservation、sourceProps)

    {

    constメトリック= {};

    const metricOutput = metricObservation;

    /*

    解析URLレスポンスはmetricObservationにあります

    サンプル・レスポンスの一部を次に示します:

    ************************

    TLSSessionCacheStatus

    CacheType: SHMCB

    CacheSharedMemory: 512000

    CacheCurrentEntries: 0

    CacheSubcaches: 32

    CacheIndexesPerSubcaches: 88

    CacheIndexUsage: 0%

    CacheUsage: 0%

    CacheStoreCount: 5

    CacheReplaceCount: 0

    CacheExpireCount: 5

    CacheDiscardCount: 0

    CacheRetrieveHitCount: 0

    CacheRetrieveMissCount: 104

    CacheRemoveHitCount: 0

    CacheRemoveMissCount: 0

    ************************

    */

    const lines = metricOutput.trim().split("\n");

    for (行列) {

    const lineParts = line.trim().split(": ");

    if (lineParts.length === 2 && METRIC_NAMES.includes(lineParts[0])) {

    Metrics[lineParts[0]] = parseFloat(lineParts[1]);

    }

    }

    /*

    ディメンションCacheRetrievesTypeおよびメトリックCacheRetrievesCountの値を持つ2次元配列を生成します

    */

    [['Hit'、 metric["CacheRetrieveHitCount"]]を返します。

    ['Miss', metric["CacheRetrieveMissCount"]];

    }

    • "content" - JavaScriptファイルのbase64でエンコードされたコンテンツを格納する必要があります
    • 名前: ahs_cacheRetrieves.js

  • メトリック/ディメンション:
    メトリック/ディメンション メトリック/ディメンションのプロパティ
    CacheRetrievesType
    • 値タイプ: 文字列
    • ディメンションですか。: はい
    • 非表示: いいえ
    CacheRetrievesCount
    • 値タイプ: 数値
    • ディメンションですか。: いいえ
    • 非表示: いいえ

計算式

有効な計算式を作成するには、演算子とオペランド/メトリック名の間に空白を指定する必要があります。

例:

((MetricA * MetricB) / MetricC)

MetricA*記号の間でのspaceの使用に注意してください。同様に、閉じカッコと/記号、/記号とMetricCの間には、*MetricBの間にスペースが重要です。

次の表に、計算式の定義中に使用できる演算子を示します。

演算子 説明
!= MetricA != 1 MetricAの値が1の場合はfalseを返し、それ以外の場合はtrueを返します。
% MetricA % MetricB MetricAの値をMetricBで割った場合に剰余を返します
() ? : (MetricA == 'UP') ? 1: 0 この演算子は、if then else文と同等です。この式は、MetricA値が'UP'の場合は1を返し、それ以外の場合は0を返します。
* (MetricA * MetricB) + MetricC 最初にMetricAとMetricBの値を乗算してから、MetricC値を追加し、結果を返します。
+ MetricA + MetricB MetricAおよびMetricBの値の合計を戻します。
- (MetricA + MetricB) - MetricC 最初にMetricAおよびMetricB値を追加し、次にMetricC値を減算して結果を返します。
/ (MetricA + MetricB)/2 MetricAおよびMetricB値の平均を返します。
< MetricA < MetricB MetricAの値がMetricBより小さい場合はtrueを返し、それ以外の場合はfalseを返します。
<= MetricA <= MetricB MetricAの値がMetricB以下の場合はtrueを返し、それ以外の場合はfalseを返します。
== MetricA == 1 MetricAの値が1の場合はtrueを返し、それ以外の場合はfalseを返します。
> MetricA > MetricB MetricAの値がMetricBより大きい場合はtrueを返し、それ以外の場合はfalseを返します。
>= MetricA >= MetricB MetricAの値がMetricB以上である場合はtrueを返し、それ以外の場合はfalseを返します。
__beginswith MetricA __'ORA-'で始まる MetricAの値が文字列'ORA-'で始まる場合はtrueを返し、それ以外の場合はfalseを返します。
__ceil __ceil MetricA 最大の整数に丸められたMetricAの値を返します。
__含む MetricA __'ORA-'を含む MetricAの値に文字列'ORA-'が含まれている場合はtrueを返し、それ以外の場合はfalseを返します。
__delta __デルタ MetricA MetricAの現在の値と以前の値の差異を返します。
__floor __フロア MetricA 最小の整数に丸められたMetricAの値を返します。
__間隔 MetricA/__間隔 MetricA値を収集間隔で除算した値を返します。
__is_null __is_null MetricA MetricAの値がNULLの場合はtrueを返し、それ以外の場合はfalseを返します。
__長さ __長さ MetricA MetricAの文字列値の長さを返します。
__が次と一致する MetricA __matches 'UP' MetricAの値が'UP'と等しい場合はtrueを返し、それ以外の場合はfalseを返します。
__ラウンド __ラウンド MetricA この式は、MetricAの値を最も近い整数に端数処理します。
__下限 __to_lower MetricA MetricAの文字列値の小文字を返します。
__上へ __to_upper MetricA MetricAの文字列値の大文字を返します

演算子の使用:

この属性は、メトリックの値を計算するための式を指定します。メトリック拡張で以前に定義したメトリックは、計算に参加できます。

式の文法および使用方法の詳細は、例を参照してください。

事前定義済の特別な値:

ノート

特定の演算子に必要な文字列式入力の場合は、入力値を一重引用符( ' )で囲んで指定します。

  • __interval: 収集間隔。収集頻度は秒単位で表されます。
  • __sysdate: 現在のシステム時間。
  • _metricName: 以前の収集時のメトリックの値を参照します。metricNameは実際のメトリックの名前に置き換える必要があります。
  • __GMTdate: 現在のGMT時間。
  • __contains: 特定の文字列式に文字列式が存在するかどうかをテストします。
  • __beginswith: 特定の文字列式が、指定された文字列式で始まるかどうかをテストします。
  • __endswith: 特定の文字列式が、指定された文字列式で終わるかどうかをテストします。
  • __matches: 特定の文字列式が指定の文字列式と一致するかどうかをテストします。
  • __delta: 現在の値と前の値の差異を計算します。
  • __leadingchars: 指定された文字列の先頭の文字を戻します。
  • __trailingchars: 指定した文字列の末尾の文字を戻します。
  • __substringpos: 指定された文字列内でそのパターンが発生する位置を返します。
  • __is_null: 式がNULLかどうかをテストします。
  • __is_notnull : 式がNOT NULLかどうかをテストします
  • __length: 文字列式の長さを戻します。
  • __to_upper: 文字列を大文字に変換します。
  • __to_lower: 文字列を小文字に変換します。
  • __ceil: 識別子未満でない最小の整数値を戻します。
  • __floor: 識別子以下の最大の整数値を戻します。
  • __round: ゼロを境にして最も近い整数に丸めます。

例:

  • NAME="Average" COMPUTE_EXPR="(MetricA + MetricB )/ 2"

    メトリックの値は、他の2つのメトリックMetricAおよびMetricBの平均です。

  • NAME="Version" COMPUTE_EXPR="(MetricA __contains 'NetApp Release 7.') ? 7.0 : 6.0"

    メトリックMetricAに文字列NetAppリリース7が含まれている場合、メトリック・バージョンの値は7.0として計算されます。

  • NAME="MetricA" COMPUTE_EXPR="(MetricB - MetricC)"

    メトリックMetricAの値は、MetricB列とMetricC列の差です。

  • NAME="Status" COMPUTE_EXPR="State __matches 'STARTED'"

    「状態」列の値が文字列STARTEDと一致する場合は「ステータス」メトリックの値が1、それ以外の場合は0です。

  • NAME="MetricA" COMPUTE_EXPR="(__is_null MetricB)?'yes':'no'"

    列MetricAの値は、Metric2の値がNULLの場合は「はい」で、それ以外の場合は「いいえ」です。

  • NAME="Source" COMPUTE_EXPR="((__length result) == 0) ? 'empty' : result"

    メトリック結果の文字列値の長さが0の場合、メトリック・ソースの値は文字列空です。それ以外の場合は、メトリック結果自体の値です。

  • NAME="Rate" COMPUTE_EXPR="(__ceil (MetricA/__interval))"

    メトリックRateの値は、メトリックMetricAの値を収集間隔で割って、最大の整数に切り上げた値です。

  • NAME="MetricA" COMPUTE_EXPR="((MetricB == 0) ? 0 : ((MetricC / (MetricB / 8)) * 100.0))"

    MetricBが0の場合、MetricAの値は0になります。それ以外の場合、MetricAの値は、MetricBに基づいて計算されたMetricBの1/8で除算された100* MetricCで、MetricBが0でない場合、MetricCは前述の式を使用します。それ以外の場合、0です。

  • NAME="PERCENTAGE_VALUE" COMPUTE_EXPR="(Metric1 != 0) ? 100.0*(Metric2/Metric1) : 0"

    列の値は、使用可能なディスクの合計割合です。Metric1およびMetric2は、メトリック拡張の既存のメトリックです。

  • NAME="RATE_OF_CHANGE" COMPUTE_EXPR="((MetricA - _MetricA) / __interval)"

    メトリックのデルタとレートは、以前に収集した値を現在の収集値から減算してデルタを取得し、デルタを__intervalで除算してレートを取得することで、計算式内で生成できます。

メトリック拡張でのアラームの作成

メトリック拡張のメトリック値がしきい値を超えた場合にアラームをトリガーするアラーム・ルールを作成できます。リソースの組込みメトリックのアラーム・ルールを作成するのと同じ一般的なワークフローを使用します。主な違いは、「メトリックの説明」セクションにあります。

アラーム・ルールの「メトリックの説明」セクションで:

  • コンパートメント: メトリック拡張が有効化されたリソースのコンパートメントを選択します
  • メトリック・ネームスペース: oracle_metric_extensions_appmgmtを選択します
  • リソース・グループ: メトリック拡張が有効になっているリソースのリソース・タイプ。

次のイメージに、ホストのメトリック拡張に対するアラーム・ルールの作成を示します:


メトリック拡張のアラーム・ルールの作成