カスタム・リソースによる監視機能の拡張

カスタム・リソースを使用して、スタック・モニタリングの機能の範囲を拡張できます。カスタム・リソースを使用すると、新しいリソース・タイプのインスタンスを作成することで、他のアプリケーションまたはインフラストラクチャ・コンポーネントをモニターできます。作成したら、これらの新しいリソース・インスタンスをスタック・モニタリングの他のリソースに関連付けることで、アプリケーション・トポロジを完了し、アプリケーション・スタック全体でのより豊富なパフォーマンス相関をサポートできます。

カスタム・リソースは、次のいずれかの方法を使用して定義できます。

リソースのインポート - スタック・モニタリングでは、パフォーマンス・チャートを含むインポートされたリソースのホーム・ページが作成され、インポートされたリソースと既存のスタック・モニタリング・リソースの間でナビゲーション・トポロジを作成できます。リソースをインポートするには、コンパートメント内でEnterprise Extensibilityライセンスを有効にする必要があります。

プロセスベースのカスタム・リソース - リソースを構成するプロセスおよびリソースが実行されているホストを識別することで、ホストで実行されているアプリケーションやアプリケーション・インフラストラクチャなどの任意のリソースをモニターできます。スタック・モニタリングを定義すると、リソースのステータス、CPUおよびメモリー使用率の監視が開始されます。組込みホームページを使用してリソースをモニターしたり、リソースが停止していることが検出されたり、CPUまたはメモリーが多い場合にトリガーするアラームを作成することもできます。

OCIサービス

ノート

OCIリソース拡張性には、コンパートメント内でエンタープライズ拡張性を有効にする必要があります。エンタープライズ拡張性を有効にするには、スタック・モニタリングUI内の「ライセンス」ページにナビゲートします。

OCIリソースをスタック・モニタリングにインポートすると、スタック・モニタリング・サービス内のリソースのホーム・ページが作成されます。これには、パフォーマンス・チャートと、インポートされたリソースと既存のスタック・モニタリング・リソース間のナビゲーション・トポロジの作成機能が含まれます。たとえば、インポートされたOCI Load BalancerをE-Business Suiteアプリケーションに関連付けることができます。次に、スタック・モニタリング・トポロジを使用して、アプリケーション・スタック全体を簡単にナビゲートします。

置き換えられた名前空間

スタック・モニタリングでは、次のOCIメトリック・ネームスペースがサポートされます:

サービス名 メトリック名領域
OCI APIゲートウェイ oci_apigateway
OCI Autonomous Database oci_autonomous_database
OCIアナリティクス oci_analytics
OCI要塞 oci_bastion
OCIブロックストア oci_blockstore
OCIファイル・ストレージ oci_filestorage
OCIインターネット・ゲートウェイ oci_internet_gateway
OCI LBaaS oci_lbaas
OCI管理エージェント oci_managementagent
OCI MySqlデータベース oci_mysql_database
OCI Natゲートウェイ oci_nat_gateway
OCI Network Firewall oci_network_firewall
OCI通知 oci_notification
OCI NoSql oci_nosql
OCIオブジェクト・ストレージ oci_objectstorage
OCI Kubernetes oci_oke
OCIサービス oci_service_gateway
OCIストリーミング・サービス oci_streaming

UIを使用したOCIリソースのインポート

OCIリソースをインポートするには、次のステップに従います:

  1. 「スタック・モニタリング」で、「リソースのインポート」ページに移動し、「リソースのインポート」をクリックします。

  2. ソースとして「OCIネイティブ・サービス」を選択します。

OCIサービス・インポート入力

「入力」フィールド 説明
OCIモニタリング・ネームスペース

これは、メトリックの取得元のネームスペースであり、リソースを識別およびインポートするためにディメンションが解析されます。

リクエスト名

インポート操作のために送信される作業リクエストの名前。

UI作業要求のインポート

スタック・モニタリングの「リソースのインポート」ページには、リソースをインポートする最新の作業リクエストを追跡する表が表示されます。特定の作業リクエストに関する詳細は、次のように表示できます。
  • 「ワークリクエスト名」リンクをクリックすると、インポートされたリソースのリストを示すポップアップが表示されます。
  • 「ステータス」リンクをクリックして、作業リクエスト・ログを含むポップアップを表示します。

コマンドラインを使用したOCIリソースのインポート

OCIネイティブ・リソースをスタック監視にインポートするには、import-telemetry-resourcesまたはcreate OCI CLIコマンド構文を使用します:

  • インポートコマンドの使用:
    oci stack-monitoring resource-task import-telemetry-resources 
            --compartment-id "<Compartment_OCID>" 
            --name <Request_name> 
            --namespace <OCI_monitoring_namespace>
            --source <source-of-resource>
  • createコマンドの使用:
    oci stack-monitoring resource-task create
        --compartment-id  "<Compartment_OCID>"     
        --name <Request_name> 
        --task-details file://<JSON_INPUT_FILE>

コマンドラインを使用したOCIリソースのインポートのJSONの例

{    
    "type": "IMPORT_OCI_TELEMETRY_RESOURCES",    
    "source": "<source-of-the-resource>"    
    "namespace": "<OCI-Monitoring-namespace>"
}

JSONの入力パラメータ:

入力フィールド 必須 内容 ノート
<Compartment_OCID> はい コンパートメントの[OCID] リソースのスタック・モニタリング・ホーム・ページ内、構成/一般的なOCIプロパティ/compartmentID
<OCI- モニタリング- ネームスペース> はい インポート・タスクで使用されるOCIモニタリング・ネームスペース。 サポートされているネームスペースは、<サポートされているネームスペースのリストへのリンクを指定>
<source-of-the-resource> はい インポートするリソースのタイプの識別子。現在サポートされているソースはOCI_TELEMETRY_NATIVEです。 現在、唯一のOCI_TELEMETRY_NATIVEがサポートされています。
<Request_name> いいえ 作業リクエスト名デフォルト値は"<namespace><timestamp>"の書式です。 タスク名の任意の有効な文字列
<defined-tags> いいえ インポートされたすべてのリソースおよび作業リクエスト自体に適用する必要があるOCI定義タグ。  
<freeform-tags> いいえ インポートされたすべてのリソースおよび作業リクエスト自体に適用する必要があるOCIフリーフォーム・タグ。  

Prometheusリソースの監視

スタック・モニタリングでは、Prometheus形式のリソースおよびメトリックのモニタリングがサポートされます。これは、エージェントをスクレイプしてテレメトリにアップロードし、スタック・モニタリングにリソースをインポートする2つのステップ・プロセスです。

ノート

Stack MonitoringにインポートされたすべてのPrometheusベースのリソースには、Enterprise Licenseが割り当てられます。詳細は、「ライセンスの構成」を参照してください。

前提条件

ポリシーの作成

コンパートメント内にPrometheusベースのリソースをインポートできるように、必要なポリシーを作成します。詳細は、Prometheusベースのリソースを監視するためのポリシーの作成を参照してください。

インポート済リソースの可用性ステータス計算

Prometheusベースのリソースの可用性ステータスは、次のように決定されます。

  • 可用性プロキシ・メトリック入力で選択したメトリックの少なくとも1つに、指定された間隔中にテレメトリ(0を含む)のデータポイントがある場合、リソースは稼働中とみなされます。
  • 可用性プロキシ・メトリック間隔が管理エージェントで構成されている間隔(scheduleMins)より小さい場合、UIはリソースを「レポートなし」として表示します。エージェント構成ファイルでscheduleMinsに指定された値(秒に変換)と同じ値を入力することをお薦めします。
    • たとえば、管理エージェントの構成時に、scheduleMinsの値が5 (分)に設定されている場合、可用性プロキシのメトリック間隔は300 (秒または5分)以上である必要があります。可用性プロキシ・メトリックが300秒未満に設定されている場合、リソースには「レポートなし」のステータスが表示されます。
ノート

リソースの可用性を計算するために複数のメトリックが選択されている場合、リソースが稼働中とみなされるには、指定された可用性間隔中に少なくとも1つのメトリックに値が必要です。どのメトリックにも値がない場合、リソースはレポート対象外とみなされます

UIを使用したPrometheusベースのリソースのインポート

管理エージェントの構成

Prometheusメトリックは、管理エージェントを介してTelemetryサービスにアップロードできます。管理エージェントは、メトリックをスクレイピングする場所を識別するように構成する必要があります。「監視および管理」、「管理エージェント」、「エージェント」の順に選択して、管理エージェントのページに移動します。使用可能な管理エージェントのリストから、エージェントの名前をクリックしてPrometheusコレクションを有効にします。「管理エージェント」ページで、「DataSourcesの管理」「DataSourceの追加」の順にクリックします。詳細は、管理エージェントのドキュメントを参照してください。

エージェントUI構成入力

ノート

「オプション・プロパティ」セクションにリストされているフィールドを含め、次のフィールドはすべて必須です。

「入力」フィールド 内容
DataSource型 「Prometheus」を選択します
名前 モニターするPrometheusベースのリソースの名前
メトリック・コンパートメント スタック・モニタリングでリソースをモニターするコンパートメント
メトリック・ネームスペース oracle_appmgmt_prometheus
URL Prometheus Exporterがメトリックを公開する際に使用するURL。(httpのみ)
カスタム・メトリック・ディメンション
dimensionName このMUSTは、resourceNameとして入力する必要があります。
dimensionValue このMUSTは、「名前」フィールドに入力した値と一致する必要があります。
オプションのプロパティ
allowMetrics "*"は、定義されたすべてのメトリックが収集されることを示します
resourceGroup リソース・グループを使用すると、類似のリソース・タイプ(ホスト、weblogic_j2eeserver、apache_tomcatなど)をグループ化できます。
scheduleMins メトリックが収集される頻度(分単位)。

Prometheusベースのリソースのインポート

「リソースのインポート」メニューで、表の左上隅にある「リソースのインポート」ボタンをクリックします。入力が入力されたら、「リソースのインポート」をクリックします。パネルが閉じ、新しく作成したジョブがリストに表示されます。ジョブが完了すると、ユーザーはジョブ名をクリックすると、インポートされたリソースを示す新しいパネルが開きます。インポートされたリソースをクリックすると、リソースのホーム・ページが自動的に開きます。

「入力」フィールド 内容
OCIモニタリング・ネームスペース

これは、メトリックの取得元のネームスペースであり、リソースを識別およびインポートするためにディメンションが解析されます。

Prometheusリソースをインポートするには、ユーザーがoracle_appmgmt_prometheusを選択する必要があります

リソース・グループ oracle_appmgmt_prometheusネームスペースの下のリソース・グループのリスト
可用性プロキシ・メトリック 選択したリソース・グループで使用可能なメトリックのリスト。これは複数選択入力です。これらのメトリックは、リソース可用性の計算に使用されます。詳細は、「インポートされたリソースの可用性ステータスの計算」を参照してください
可用性プロキシ・メトリックの間隔 メトリックがエージェントによって収集される間隔(秒)。最小値は60です。詳細は、「インポートされたリソースの可用性ステータスの計算」を参照してください
リクエスト名 インポート操作のために送信される作業リクエストの名前。これは、トラッキング目的でのみ使用されます。

入力フィールドが入力されたら、「リソースのインポート」をクリックしてインポート作業リクエストを送信します。作業リクエストが完了すると、ユーザーはジョブ名をクリックして、インポートされたリソースのリストを確認できます。インポートされたリソースの名前をクリックすると、新しくインポートされたリソースのホーム・ページに移動します。

CLIを使用したPrometheusベースのリソースのインポート

管理エージェントの構成

Prometheusメトリックは、管理エージェントを介してTelemetryサービスにアップロードできます。管理エージェントは、メトリックをスクレイピングする場所を識別するように構成する必要があります。「監視および管理」「管理エージェント」「エージェント」にある管理エージェントのページに移動します。使用可能な管理エージェントのリストから、エージェントの名前をクリックしてPrometheusコレクションを有効にします。「管理エージェント」ページで、「DataSourcesの管理」「DataSourceの追加」の順にクリックします。詳細は、管理エージェントのドキュメントを参照してください。
入力フィールド Description
allowMetrics "*"は、定義されたすべてのメトリックが収集されることを示します
compartmentId スタック・モニタリングでリソースをモニターするコンパートメントのOCID
dimensionValue このMUSTは、「名前」フィールドに入力した値と一致する必要があります。
metricDimension これはresourceNameである必要があります
ネームスペース この必須oracle_appmgmt_prometheusです
resourceGroup リソース・グループを使用すると、類似のリソース・タイプ(ホスト、weblogic_j2eeserver、apache_tomcatなど)をグループ化できます。
resourceName モニターされるリソースの一意の識別子。リソース名は、監視対象のコンパートメントで一意である必要があります。
scheduleMins メトリックが収集される頻度(分単位)。最小値は1分です。これを指定しない場合、デフォルト値は5分です。
url Prometheus Exporterがメトリックを公開するURL。管理エージェントはこのURLからメトリックをスクレイプします。

構成nginxファイルの例:

url=http://localhost:1234/metrics
namespace=oracle_appmgmt_prometheus
allowMetrics=*
compartmentId=ocid1.compartment.oc1..aaaaaaaanub6bf1234123412341234123412341234
resourceName=resourceName1
resourceGroup=resourceGroup1
metricDimensions=resourceName
scheduleMins=5
ノート

スタック・モニタリングでは、oracle_appmgmt_prometheusネームスペースのみがサポートされます

Prometheusベースのリソースのインポート

ユーザーは、CLIを使用してPrometheusリソースをインポートできます。

インポート・リソースCLIコマンドには、次の必須パラメータが必要です:

入力フィールド Description
compartment-id リソースがインポートされるコンパートメントのOCID
ネームスペース

これは、メトリックの取得元のネームスペースであり、リソースを識別およびインポートするためにディメンションが解析されます。

ユーザーは、Prometheusリソースをインポートできるようにoracle_appmgmt_prometheusを選択する必要があります

ソース この値はOCI_TELEMETRY_PROMETHEUSである必要があります
resource-group 生成されたメトリックに割り当てられ、インポートされたリソースのリソース・タイプとして使用されるリソース・グループ。
可用性- プロキシ・メトリック リソースの可用性の判断に使用されるメトリックのカンマ区切りリスト。詳細は、「インポートされたリソースの可用性ステータスの計算」を参照してください。
availability-proxy-metrics-collection-interval 詳細は、「インポートされたリソースの可用性ステータスの計算」を参照してください。

CLIを使用してPrometheusリソースをインポートするコマンドの例

oci stack-monitoring resource-task import-telemetry-resources 
    --compartment-id "ocid1.compartment.oc1..aaaaaaaanub6bf1234123412341234123412341234" 
    --namespace oracle_appmgmt_prometheus 
    --source OCI_TELEMETRY_PROMETHEUS
    --resource-group postgres
    --availability-proxy-metrics "['pg_up']" 
    --availability-proxy-metric-collection-interval 300

Telegrafベースのリソースの監視

スタック・モニタリングでは、Telegrafベースのリソースのモニタリングがサポートされるようになりました。これは3つのステップのプロセスです。

  1. エージェントのメトリック・レシーバを有効にして、エージェントがTelegrafサード・パーティ・コレクタからメトリックを受信する準備をできるようにします。
  2. Telegrafを構成して、エージェントをリスニングしているメトリック受信者にメトリックをアップロードし、メトリックをテレメトリにアップロードします。
  3. Telegrafリソースをテレメトリからスタック・モニタリングにインポートします。
ノート

スタック・モニタリングにインポートされたすべてのTelegrafベースのリソースには、エンタープライズ・ライセンスが割り当てられます。詳細は、ライセンスの構成を参照してください。

前提条件

  • 管理エージェントの最小バージョン: 250214.1645
  • Telegrafは、様々なターゲットのメトリック情報を構成および受信します。
  • Telegrafベースのリソースをコンパートメント内にインポートできるようにするために必要なポリシーを作成します。詳細は、Telegrafベースのリソースを監視するためのポリシーの作成を参照してください。

Telegrafメトリックを受け入れるためのメトリック受信者およびハンドラを使用可能にします

「リソースのインポート」メニューで、表の左上隅にある「リソースのインポート」を選択します。入力が入力されたら、「リソースのインポート」をクリックします。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。作業リクエストの一部として、受信者はTelegrafによって投稿されたメトリックのエージェントでのリスニングを開始するように設定されます。有効化エージェントの一部として、エージェント・ディレクトリ<agent_state_directory>/extension_state/StackMonitoringMetricReceiver/certs/clientCerts/stackmonitoring-ca.crtに証明書が生成されます。この証明書は、Telegrafがアクセスできるパスにコピーする必要があります。

ログを表示するには、作業リクエストの「ステータス」リンクを選択します。

作業リクエストが完了すると、スタック・モニタリングに2つの新しいリソースが作成されます

  1. 受け側リソース:
    • 名前: <agent_name>_receiver
    • 型: stackmon_receiver
  2. Telegrafハンドラ・リソース:
    • 名前: <agent_name>_handler
    • 型: stackmon_handler

これらのリソースには、関連するハンドラ・メトリック、拒否されたメトリック数などが含まれます。

作業リクエストの一部として、ユーザーがリソースのインポートを手動で実行していない場合でも、スケジューラがこのエージェントのテレメトリからテレグラフベースのリソースをインポートするためのエントリが24時間ごとに発行されます。

Telegrafベースのリソースのデフォルトのメトリック・ネームスペースは、oracle_appmgmt_telegrafです。

Telegrafの構成

有効化時に受信者によって生成されたメトリックおよび証明書パスをアップロードするための受信者URLを追加します。これらの構成は、telegraf.confに追加する必要があります。

[[outputs.http]]
## URL is the address to send metrics to
url = "https://<agent-host-name>:3872/receiver/telegraf?id=<telegraf_instance_id>"
 
#   TLS Config
insecure_skip_verify = true
tls_ca="/home/mcollector/sar_test/certs/stackmonitoring-ca.crt"
ノート

URLのtelegraf_instance_idはインスタンス識別子です。このID文字列は、ユーザーが複数のサード・パーティ・コレクタ・エージェントをインストールしてメトリック・データを同じスタック・モニタリング・メトリック・レシーバにエクスポートした場合に、メトリック・データが収集されるサード・パーティ・コレクタ・エージェントを識別するために主に使用されます。これは、アップロードされたメトリックのcollectorInstanceディメンションの値としてテレメトリにアップロードされます。

UIを使用したTelegrafベースのリソースのインポート

「リソースのインポート」メニューで、表の左上隅にある「リソースのインポート」ボタンをクリックします。入力が入力されたら、「リソースのインポート」をクリックします。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。これにより、ImportOciTelemetryTelegraf_<date_time>という名前のリクエスト名を持つ別の作業リクエストが内部的に送信されます。両方の作業リクエストが完了すると、ユーザーは作業リクエスト名ImportOciTelemetryTelegraf_<date_time>をクリックすると、インポートされたTelegrafリソースを示す新しいパネルが開きます。インポートされたリソースをクリックすると、リソースのホーム・ページが自動的に開きます。

入力フィールド 説明
タイプ 「Telegraf」を選択します。インポートするリソースのソース。
Management Agent

テレメトリからリソースをインポートするためにレシーバを有効にする必要がある管理エージェント。

ノート: 最小エージェント・バージョン: 250214.1645

管理エージェント・リスナー・ポート 受信側のリスナー・ポートは管理エージェントでリスニングしています。デフォルト・ポートは3872です。ユーザーはポートの変更が許可されています。
リクエスト名

インポート操作のために送信される作業リクエストの名前。これは追跡目的でのみ使用されます。

デフォルト名はIMPORT_TELEGRAF_RESOURCES_<date_time>です。ユーザーは名前の変更が許可されています。

CLIを使用したTelegrafベースのリソースのインポート

インポート・リソースCLIコマンドには、次の必須パラメータが必要です:

入力パラメータ 内容
compartment-id リソースがインポートされるコンパートメントのOCID
agent-id 受信者を有効または無効にする必要がある管理エージェントのOCID。
handler-type TELEGRAF.ハンドラのタイプ。
is-enable TELEGRAFのハンドラを有効または無効にするには
receiver-properties jsonの形式で受け入れられるレシーバ・プロパティ。現在必要なのはlistenerPortのみです。

Telegrafハンドラを有効にし、CLIを使用してTelegrafリソースをインポートするコマンドの例

oci stack-monitoring resource-task update-agent-receiver

--compartment-id <Compartment_id> 

--agent-id <agent_id> 

--handler-type TELEGRAF

--is-enable true

--receiver-properties '{ "listenerPort": "<listener_port>"}'

JSONを使用したTelegrafベースのリソースのインポート

インポート・リソースJSONには、次のパラメータが必要です:

Input Parameter 必須 内容
compartmentId yes コンパートメントのOCID
name No 作業リクエスト名デフォルト値は"<namespace><timestamp>"の形式です

指定されていない場合、自動生成されます。

type Yes タスクのタイプ。

必要な値はUPDATE_AGENT_RECEIVERです

agentId Yes 受信者を有効にする必要がある管理エージェント用のOCI。
     
handlerType No ハンドラのタイプ。TELEGRAF
isEnable Yes 受信者と対応するハンドラを有効にする場合はTrue。
receiverProperties Yes 有効にするには、listenerPortを指定したJson入力
<defined-tags> No インポートされたすべてのリソースおよび作業リクエスト自体に適用する必要があるOCI定義タグ。
<freeform-tags> No インポートされたすべてのリソースおよび作業リクエスト自体に適用する必要があるOCIフリーフォーム・タグ。

telegrafハンドラを有効にし、CLIを使用してtelegrafリソースをインポートするためのサンプルJSON入力:

{
   "compartmentId": "<Compartment_OCID>",
   "taskDetails": {
       "type": "UPDATE_AGENT_RECEIVER",
       "agentId": "<management_agent_OCID>",
       "handlerType": "TELEGRAF",
       "isEnable": true,
       "receiverProperties": { "listenerPort": "<listener_port>" }
    }
} 

Telegrafベースのリソースの構成

UIを使用したTelegrafベースのリソースの構成

リソース構成の一部として、リソース・タイプごとに次の構成を指定します。

入力フィールド 内容
タイプ Telegraf
リソースの種類 リソース・タイプの名前。指定しない場合、リソース・グループの文字列がハンドラによって生成されます。
コレクタ・タイプ コレクタの名前。telegraf入力プラグイン名と一致する必要があります。
リソース名マッピング リソース名を構成するために考慮されるタグ。
可用性メトリック リソースの可用性の判断に使用するメトリック
可用性メトリックの間隔 可用性メトリックを収集する秒単位の間隔

CLIを使用したTelegrafベースのリソースの構成

configure resource CLIコマンドには、次の必須パラメータが必要です。

入力プロパティ 内容
type タスクのタイプ。UPDATE_RESOURCE_TYPE_CONFIGS
handlerType ハンドラのタイプ。TELEGRAF
resourceTypesConfiguration リソースタイプ構成の詳細のコレクション。

ハンドラの可用性メトリックおよびリソース・タイプ構成を構成するためのサンプルJSON入力:

{
  "type" : "UPDATE_RESOURCE_TYPE_CONFIGS",
  "handlerType": "TELEGRAF",
  "resourceTypesConfiguration" :[
    { 
        "resourceType": "sales_server_cpu",
        "availabilityMetricsConfig" : {
            "metrics": ["metric1", "metric2"],
            "collectionIntervalInSeconds" : 60
        },
        "handlerConfig": {
            "collectorTypes": [
              "cpu"
            ],
            "telemetryResourceGroup": "sales_server_cpu",
            "telegrafResourceNameConfig": {
                "isUseTagsOnly": true,
                "excludeTags": [
                    "path",
                    "url"
                ]
            },
            "metricNameConfig": {
                "isPrefixWithCollectorType": true
            },
            "metricMappings": [
              {
                "collectorMetricName": "usage_idle",
                "telemetryMetricName": "usageIdle",
                "metricUploadIntervalInSeconds": 120
              },
              {
                "collectorMetricName": "usage_user",
                "isSkipUpload": true
              }
            ],
            "handlerProperties": [
              {
                "name": "property1",
                "value": "valueA"
              }
            ]
        }
    },
    { 
        "resourceType": "telegraf_mem",
        "availabilityMetricsConfig" : {
            "metrics": ["mem_metric1"],
            "collectionIntervalInSeconds" : 120
        }
    }
  ]
} 

Telegrafベースのリソースの無効化

メトリック受信者を無効にすると、既存のインポート済リソースに対するメトリック・データの収集は停止され、選択された管理エージェントに関連付けられたメトリック受信者から新しいリソースがインポートされることはなくなります。無効化作業リクエストの最後に、すでにインポートされているすべてのリソースがINACTIVEステータスに設定されます。

UIからのTelegrafハンドラの無効化

「リソースのインポート」メニューで、表の上部にある「メトリック・レシーバの無効化」ボタンを選択します。入力が入力されたら、「受信者の無効化」を選択します。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。作業リクエストの最後に、受信者はTelegrafエージェントによって投稿されたメトリックのエージェントのリスニングを停止します。選択したタイプのこのエージェントのスケジュール済ジョブによってインポートされるリソースはこれ以上ありません。

入力フィールド 内容
タイプ 「Telegraf」を選択します。
アクティブな受信者を含む管理エージェント ハンドラを無効にする必要がある管理エージェントを選択します。
リクエスト名

無効化操作のために送信される作業リクエストの名前。これは追跡目的でのみ使用されます。

デフォルト名はDISABLE_METRIC_RECEIVER_<date_time>です。ユーザーは名前の変更が許可されています。

ログを表示するには、作業リクエストの「ステータス」リンクを選択します。

CLIを使用したTelegrafハンドラの無効化

リソース CLIの無効化コマンドには次のパラメータが必要です。

入力プロパティ 内容
compartment-id リソースがインポートされるコンパートメントのOCID
agent-id 受信者を有効または無効にする必要がある管理エージェントのOCID。
handler-type ハンドラのTELEGRAFタイプ。
is-enable false: ハンドラを無効にします。

CLIを使用してTelegrafハンドラを無効にするコマンドの例

oci stack-monitoring resource-task update-agent-receiver

--compartment-id <compartment_ocid>

--agent-id <agent_ocid>

--handler-type <handler_type>

--is-enable false

Telegrafハンドラを無効にするJSONの例。

{
   "compartmentId": "<Compartment_OCID>",
   "taskDetails": {
       "type": "UPDATE_AGENT_RECEIVER",
       "agentId": "<management_agent_OCID>",
       "handlerType": "TELEGRAF",
       "isEnable": false
    }
} 

JSON入力パラメータ:

入力パラメータ 再階層化 内容
compartmentId yes コンパートメントのOCID
name No 作業リクエスト名デフォルト値は<namespace><timestamp>の形式です

指定されていない場合、自動生成されます。

type Yes タスクのタイプ。

必要な値はUPDATE_AGENT_RECEIVERです

agentId Yes 受信者を有効にする必要がある管理エージェント用のOCI。
handlerType No ハンドラのTELEGRAFタイプ。
isEnable Yes false。ハンドラと関連ハンドラを無効にする場合。

collectdベースのリソースの監視

スタック・モニタリングでは、収集ベースのリソースのモニタリングがサポートされるようになりました。これは3ステップのプロセスです。

  1. エージェントのメトリック・レシーバを有効にして、収集したサード・パーティ・コレクタからメトリックを受信する準備をエージェントにします。
  2. エージェントをリスニングするメトリック・レシーバにメトリックをアップロードするように収集されるように構成します。これにより、メトリックがテレメトリにアップロードされます。
  3. 収集したリソースをテレメトリからスタック・モニタリングにインポートします。
ノート

Stack Monitoringにインポートされたすべてのcollectdベースのリソースには、Enterprise Licenseが割り当てられます。詳細は、ライセンスの構成を参照してください。

前提条件

  • 管理エージェントの最小バージョン: 250214.1645
  • CollectDは、様々なターゲットのメトリック情報を構成して受信します。
  • コンパートメント内の収集ベースのリソースのインポートを許可するために必要なポリシーを作成します。詳細は、収集ベースのリソースを監視するためのポリシーの作成を参照してください。

収集したメトリックを受け入れるためのメトリック・レシーバおよびハンドラの有効化

「リソースのインポート」メニューで、表の左上隅にある「リソースのインポート」を選択します。入力が入力されたら、「リソースのインポート」をクリックします。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。作業リクエストの一部として、受信者はcollectdによって投稿されたメトリックのエージェントでのリスニングを開始するように設定されます。有効化エージェントの一部として、エージェント・ディレクトリ<agent_state_directory>/extension_state/StackMonitoringMetricReceiver/certs/clientCerts/stackmonitoring-ca.crtに証明書が生成されます。この証明書は、collectdがアクセスできるパスにコピーする必要があります。

ログを表示するには、作業リクエストの「ステータス」リンクを選択します。

作業リクエストが完了すると、スタック・モニタリングに2つの新しいリソースが作成されます

  1. 受け側リソース:
    • 名前: <agent_name>_receiver
    • 型: stackmon_receiver
  2. Telegrafハンドラ・リソース:
    • 名前: <agent_name>_handler
    • 型: stackmon_handler

これらのリソースには、collectDからの関連するハンドラ・メトリック、拒否されたメトリック数などが含まれます

作業リクエストの一部として、ユーザーがリソースのインポートを手動で実行していない場合でも、スケジューラがこのエージェントのテレメトリから収集ベース・リソースをインポートするためのエントリが24時間ごとに発行されます。

collectdベースのリソースのデフォルトのメトリック・ネームスペースは、oracle_appmgmt_collectdです。

収集済の構成

有効化時に受信者によって生成されたメトリックおよび証明書パスをアップロードするための受信者URLを追加します。これらの構成は、collectd.confに追加する必要があります。

LoadPlugin write_http
<Plugin write_http>
      <Node "example">
                URL "https://<agent-host-name>:3872/receiver/collectd?id=<collectd_instance_id>"
                CACert "/home/mcollector/sar_test/certs/stackmonitoring-ca.crt"
                VerifyHost false
                VerifyPeer false
                Header "Content-Type: application/json; charset=utf-8"
                Format "JSON"
                Metrics true
        </Node>
</Plugin>
ノート

URLのcollectd_instance_idはインスタンス識別子です。このID文字列は、ユーザーが複数のサード・パーティ・コレクタ・エージェントをインストールしてメトリック・データを同じスタック・モニタリング・メトリック・レシーバにエクスポートした場合に、メトリック・データが収集されるサード・パーティ・コレクタ・エージェントを識別するために主に使用されます。これは、アップロードされたメトリックのcollectorInstanceディメンションの値としてテレメトリにアップロードされます。

UIを使用した収集ベースのリソースのインポート

「リソースのインポート」メニューで、表の左上隅にある「リソースのインポート」ボタンをクリックします。入力が入力されたら、「リソースのインポート」をクリックします。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。これにより、ImportOciTelemetrycollectd_<date_time>という名前のリクエスト名を持つ別の作業リクエストが内部的に送信されます。両方の作業リクエストが完了すると、ユーザーは作業リクエスト名ImportOciTelemetrycollectd_<date_time>をクリックすると、インポートされた収集済リソースを表示する新しいパネルが開きます。インポートされたリソースをクリックすると、リソースのホーム・ページが自動的に開きます。

入力フィールド 内容
タイプ 「収集」を選択します。インポートするリソースのソース。
Management Agent

テレメトリからリソースをインポートするためにレシーバを有効にする必要がある管理エージェント。

ノート: 最小エージェント・バージョン: 250214.1645

管理エージェント・リスナー・ポート 受信側のリスナー・ポートは管理エージェントでリスニングしています。デフォルト・ポートは3872です。ユーザーはポートの変更が許可されています。
リクエスト名

インポート操作のために送信される作業リクエストの名前。これは追跡目的でのみ使用されます。

デフォルト名はIMPORT_TELEGRAF_RESOURCES_<date_time>です。ユーザーは名前の変更が許可されています。

CLIを使用したcollectdベースのリソースのインポート

インポート・リソースCLIコマンドには、次の必須パラメータが必要です:

入力パラメータ 内容
compartment-id リソースがインポートされるコンパートメントのOCID
agent-id 受信者を有効または無効にする必要がある管理エージェントのOCID。
handler-type COLLECTD.ハンドラのタイプ。
is-enable COLLECTDのハンドラを有効または無効にするには
receiver-properties jsonの形式で受け入れられるレシーバ・プロパティ。現在必要なのはlistenerPortのみです。

Telegrafハンドラを有効にし、CLIを使用してTelegrafリソースをインポートするコマンドの例

oci stack-monitoring resource-task update-agent-receiver

--compartment-id <Compartment_id> 

--agent-id <agent_id> 

--handler-type COLLECTD

--is-enable true

--receiver-properties '{ "listenerPort": "<listener_port>"}'

JSONを使用したcollectdベースのリソースのインポート

インポート・リソースJSONには、次のパラメータが必要です:

Input Parameter 必須 内容
compartmentId yes コンパートメントのOCID
name No 作業リクエスト名デフォルト値は"<namespace><timestamp>"の形式です

指定されていない場合、自動生成されます。

type Yes タスクのタイプ。

必要な値はUPDATE_AGENT_RECEIVERです

agentId Yes 受信者を有効にする必要がある管理エージェント用のOCI。
     
handlerType No ハンドラのタイプ。COLLECTD
isEnable Yes 受信者と対応するハンドラを有効にする場合はTrue。
receiverProperties Yes 有効にするには、listenerPortを指定したJson入力
<defined-tags> No インポートされたすべてのリソースおよび作業リクエスト自体に適用する必要があるOCI定義タグ。
<freeform-tags> No インポートされたすべてのリソースおよび作業リクエスト自体に適用する必要があるOCIフリーフォーム・タグ。

telegrafハンドラを有効にし、CLIを使用してtelegrafリソースをインポートするためのサンプルJSON入力:

{
   "compartmentId": "<Compartment_OCID>",
   "taskDetails": {
       "type": "UPDATE_AGENT_RECEIVER",
       "agentId": "<management_agent_OCID>",
       "handlerType": "COLLECTD",
       "isEnable": true,
       "receiverProperties": { "listenerPort": "<listener_port>" }
    }
} 

collectdベースのリソースの構成

UIを使用した収集ベースのリソースの構成

リソース構成の一部として、リソース・タイプごとに次の構成を指定します。

入力フィールド 内容
タイプ Collected
リソースの種類 リソース・タイプの名前。指定しない場合、リソース・グループの文字列がハンドラによって生成されます。
コレクタ・タイプ コレクタの名前。プラグイン名と一致する必要があります。
リソース名マッピング リソース名を構成するために考慮されるタグ。
可用性メトリック リソースの可用性の判断に使用するメトリック
可用性メトリックの間隔 可用性メトリックを収集する秒単位の間隔
   

CLIを使用した収集ベースのリソースの構成

configure resource CLIコマンドには、次の必須パラメータが必要です。

入力プロパティ 内容
type タスクのタイプ。UPDATE_RESOURCE_TYPE_CONFIGS
handlerType ハンドラのタイプ。COLLECTD
resourceTypesConfiguration リソースタイプ構成の詳細のコレクション。

ハンドラの可用性メトリックおよびリソース・タイプ構成を構成するためのサンプルJSON入力:

{
  "type" : "UPDATE_RESOURCE_TYPE_CONFIGS",
  "handlerType": "COLLECTD",
  "resourceTypesConfiguration" :[
    {
        "resourceType": "sales_server_cpu",
        "availabilityMetricsConfig" : {
            "metrics": ["metric1", "metric2"],
            "collectionIntervalInSeconds" : 60
        },
        "handlerConfig": {
            "collectorTypes": [
              "cpu"
            ],
            "telemetryResourceGroup": "sales_server_cpu",
            "collectdResourceNameConfig": {
                "suffix": "gps",
                    "includeProperties": [ "type_instance" ],
                    "excludeProperties": [ "plugin_instance" ]
            },
            "metricNameConfig": {
                "isPrefixWithCollectorType": true
            },
            "metricMappings": [
              {
                "collectorMetricName": "usage_idle",
                "telemetryMetricName": "usageIdle",
                "metricUploadIntervalInSeconds": 120
              },
              {
                "collectorMetricName": "usage_user",
                "isSkipUpload": true
              }
            ],
            "handlerProperties": [
              {
                "name": "property1",
                "value": "valueA"
              }
            ]
        }
    },
    {
        "resourceType": "COLLECTD_mem",
        "availabilityMetricsConfig" : {
            "metrics": ["mem_metric1"],
            "collectionIntervalInSeconds" : 120
        }
    }
  ]
}

collectdベースのリソースの無効化

メトリック受信者を無効にすると、既存のインポート済リソースに対するメトリック・データの収集は停止され、選択された管理エージェントに関連付けられたメトリック受信者から新しいリソースがインポートされることはなくなります。無効化作業リクエストの最後に、すでにインポートされているすべてのリソースがINACTIVEステータスに設定されます。

UIを使用したcollectdハンドラの無効化

「リソースのインポート」メニューで、表の上部にある「メトリック・レシーバの無効化」ボタンを選択します。入力が入力されたら、「受信者の無効化」を選択します。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。作業リクエストの最後に、受信者は収集エージェントによって投稿されたメトリックのエージェントでのリスニングを停止します。選択したタイプのこのエージェントのスケジュール済ジョブによってインポートされるリソースはこれ以上ありません。

入力フィールド 内容
タイプ 「収集」を選択します。
アクティブな受信者を含む管理エージェント ハンドラを無効にする必要がある管理エージェントを選択します。
リクエスト名

無効化操作のために送信される作業リクエストの名前。これは追跡目的でのみ使用されます。

デフォルト名はDISABLE_METRIC_RECEIVER_<date_time>です。ユーザーは名前の変更が許可されています。

ログを表示するには、作業リクエストの「ステータス」リンクを選択します。

CLIを使用したcollectdハンドラの無効化

リソース CLIの無効化コマンドには次のパラメータが必要です。

入力プロパティ 内容
compartment-id リソースがインポートされるコンパートメントのOCID
agent-id 受信者を有効または無効にする必要がある管理エージェントのOCID。
handler-type ハンドラのCOLLECTDタイプ。
is-enable false: ハンドラを無効にします。

CLIを使用してcollectdハンドラを無効にするコマンドの例

oci stack-monitoring resource-task update-agent-receiver

--compartment-id <compartment_ocid>

--agent-id <agent_ocid>

--handler-type COLLECTD

--is-enable false

collectdハンドラを無効にするJSONの例。

{
   "compartmentId": "<Compartment_OCID>",
   "taskDetails": {
       "type": "UPDATE_AGENT_RECEIVER",
       "agentId": "<management_agent_OCID>",
       "handlerType": "COLLECTD",
       "isEnable": false
    }
} 

JSON入力パラメータ:

入力パラメータ 再階層化 内容
compartmentId yes コンパートメントのOCID
name No 作業リクエスト名デフォルト値は<namespace><timestamp>の形式です

指定されていない場合、自動生成されます。

type Yes タスクのタイプ。

必要な値はUPDATE_AGENT_RECEIVERです

agentId Yes 受信者を有効にする必要がある管理エージェント用のOCI。
handlerType No ハンドラのCOLLECTDタイプ。
isEnable Yes false。ハンドラと関連ハンドラを無効にする場合。

インポートされたリソース管理

インポートしたリソースと既存のリソースの関連付け

インポートされたリソースをスタック・モニタリング内の別のリソースに関連付けるには、次のステップに従います。

  1. リソース・ホームページで、「トポロジ」をクリックします。
  2. 「アソシエーションの追加」ボタンをクリックします。
  3. 「関連リソースの追加」ポップアップで、次のフィールドに入力します:
    1. リレーション- 「使用」「使用者」の2つのアソシエーションから選択します。選択した関連リソースは、それに応じてソースまたは宛先になります。アソシエーションが「使用」の場合、関連リソースはアソシエーション・ペアの宛先になります。アソシエーションが「使用者」の場合、関連リソースはアソシエーション・ペアのソースになります
    2. リソース・タイプ- 関連付けるリソース・タイプを選択します。
    3. リソース- 関連付けるリソースを選択します。選択したリソース・タイプに基づいて、「リソース」リストに使用可能なオプションが移入されます。
  4. 「リソースの追加」をクリックします

アソシエーションが追加されると、関連付けられたリソースが「トポロジ」表に表示されます。誤った関連付けが作成された場合は、削除アイコンをクリックして関係を削除します。

CLIを使用してアソシエーションを作成するには、アプリケーション・トポロジを参照してください。

インポート済リソースの可用性ステータス計算

インポートされたリソースの可用性ステータスは、次のように決定されます。

  • OCIサービスのメトリック・データがある場合、リソースは稼働中(使用可能)とみなされます。メトリック・データがない場合、停止中とみなされます。
  • 停止しているOCIサービスが引き続きOCIモニタリングにメトリック・データを生成する場合は、そのライフサイクル状態属性を使用してその可用性ステータスが決定されます。

MySql DBシステムなどの他の場合、可用性ステータスは、事前に決定されたメトリックの存在に基づいて計算されます。指定された期間中にメトリックがOCIモニタリング・ネームスペースに存在する場合、インポートされたリソースは稼働中とみなされます。この期間中にメトリック・データがない場合、リソースは停止中とみなされます。

スタック・モニタリング・エンタープライズ・サマリーでのOCIリソースの表示

スタック・モニタリングでは、エンタープライズ・サマリーで、インポートされたOCIリソースの可用性ステータスおよびパフォーマンス・メトリックを監視できます。

ノート

ユーザーが自律型データベースにアクセスできない場合、リソースの可用性ステータスは「レポートなし」として表示されます。

エンタープライズ・サマリーでのリソースのステータスの監視の詳細は、エンタープライズのステータスおよびパフォーマンスのモニターを参照してください。

プロセスベースのカスタム・リソース

ノート

プロセスベースのカスタム・リソースでは、コンパートメント内でエンタープライズ拡張性を有効にする必要があります。Enterprise Extensibilityライセンスを有効にするには、スタック・モニタリングUI内の「ライセンス」ページに移動します。

アプリケーションやアプリケーション・インフラストラクチャなどのカスタム・リソースは、リソースを構成するプロセスとリソースが実行されているホストを識別することで、ホストで実行されているものを監視できます。定義すると、スタック・モニタリングによってカスタム・リソースの新しいリソース・インスタンスが作成され、組込みホームページを使用してモニターできます。このカスタム・リソースがスタック・モニタリングでモニターされるアプリケーションによって使用されている場合、このカスタム・リソースとアプリケーションの間のアソシエーションを簡単に作成できるため、アプリケーション・トポロジがエンリッチされます。

カスタム・リソースに対応するプロセス・セットごとに、次のメトリックが収集されます。これらのメトリックは、プロセス・セット全体の集計として使用できますが、識別されたプロセス名と所有者、ラベル(指定されている場合)ごとに別々に使用できます。

  • モニタリング・ステータス
  • 使用済メモリー(物理/仮想)
  • メモリー使用率
  • CPU使用率
  • CPU使用率
  • プロセス合計数

カスタム・リソースを構成する特定のプロセス・セットを識別するには、プロセス・セットを定義します。プロセス・セットを定義する場合は、プロセス名、プロセス所有者またはプロセス行の正規表現で構成されるフィルタを指定します。この正規表現は、リソースの実行中のプロセスとの照合に使用されます。各フィルタには、少なくとも1つのフィールドが存在する必要があります。フィルタで一致したプロセスへのシンボリック参照として機能するオプションのラベルを追加できます。たとえば、nginxアプリケーション・サーバーをカスタム・リソースとしてモニターするには、nginx processesというプロセス・セットを作成します。このプロセス・セットには、プロセス名nginxを指定するフィルタがあり、プロセス行の正規表現nginx: mainとラベルnginx main processがあります。

入力として使用されるプロセス

Linuxでは、次のコマンドライン・コマンドを使用して、使用されるプロセスを取得します。

ps -ww -e -o comm:32,user:32,args

このコマンドの出力をgrepなどの検索ツールにパイプすると、目的のプロセスを分離し、プロセス・セットの構成方法を決定できます。次のコマンドは、キーワードnginxを含むプロセス行を表示します。

ps -ww -e -o comm:32,user:32,args | grep nginx

このコマンドを実行すると、COMMANDUSERおよびCOMMANDという3つの列を含む次の表が出力されます。表の列からプロセス・セット・フィルタのフィールドへのマッピングは次のとおりです。フィルタのprocessCommandフィールドが最初のCOMMAND列に適用され、processUserフィールドがUSER列に適用され、正規表現が最後のCOMMAND列に適用されます。いずれかのフィールドが指定されていない場合、その特定のフィルタの列は無視されます。

コマンド USER コマンド
bash myuser -bash
初期 root /初期
nginx root nginx: メインプロセスnginx -c /etc/nginx/nginx.conf
nginx wwwデータ nginx: ワーカー・プロセス

マスター・プロセスとワーカー・プロセスを個別にモニターする場合、プロセス・セット・ペイロードは次のようになります。ラベルnginx-main-processを持つフィルタは、テーブル内の最初のプロセスに一致し、ラベルnginx-workerを持つフィルタは他のプロセスを処理します。

{
    "compartmentId": "<Compartment_OCID>",
    "displayName": "nginx processes",
    "specification": {
        "items": [
            {
                "label": "nginx-main-process",
                "processCommand": "nginx",
                "processLineRegexPattern": "nginx: master.*"
            },
            {
                "label": "nginx-worker-processes",
                "processCommand": "nginx",
                "processLineRegexPattern": "nginx: worker.*"
            }
        ]
    }
}

2つのフィルタを持つプロセス・セットを作成することで、「プロセスのモニター」ページでも同じことが可能です。


プロセス・セットの作成

UIを使用したプロセス・セットの作成

プロセス・セットは、カスタム・リソースを構成するホストで実行されているプロセスを識別するための仕様を表し、ホストで実行されている一連のプロセスを指定する1つ以上のフィルタで構成されます。

ホスト プロセスは、プロセス セットのフィルタの1つで定義された条件を満たす場合、プロセス セットと照合されます。

ノート

モニター・プロセスにはエンタープライズ拡張性が必要です。詳細は、ライセンスの構成を参照してください。
  1. 「スタック・モニタリング」メニューから、「プロセスのモニター」を選択します
  2. 「プロセス・セットの作成」をクリックします。「プロセス・セットの作成」UIパネルが表示されます。

  3. 各フィールドの詳細は、「UI検出入力」を参照してください。必須フィールドに入力します。
  4. プロセス・セットの作成およびマップまたは作成:
    • 作成およびマップでは、プロセス・セットを作成し、選択したホストのモニタリングを1ステップで開始できます。
    • 「作成」では、ホストにマッピングせずにプロセス・セットが作成されます。
UI検出入力
「入力」フィールド 内容
表示名

プロセス セットの名前

ノート: プロセス・セットの名前は、コンパートメントごとに一意である必要があります

Label フィルタに一致するプロセスのわかりやすいラベル
プロセス・コマンド コマンド名を指定します。コマンド名がこの値と完全に一致するプロセスのみが含まれます。この値を指定しない場合、コマンド名のフィルタリングは行われません。
ユーザー プロセスを実行中のユーザーの名前。ユーザー名がこの値に完全に一致するプロセスのみが含まれます。この値を指定しない場合、起動ユーザーのフィルタリングは実行されません。
プロセス行正規表現パターン プロセスのコマンド行と照合される正規表現パターン。通常、コマンド行には、プロセスの起動時に渡されるコマンド名と引数の両方が含まれます。
ターゲット・ホスト プロセスセットが実行され、モニターされるホスト。

プロセス セットの更新

  1. 「スタック・モニタリング」メニューから、「プロセスのモニター」を選択します
  2. プロセス・セットのリストからプロセス・セットを選択します。

  3. プロセス・セットのプロパティまたは仕様に必要な調整を行います。
  4. 「ターゲット・ホスト」でモニターする追加の「ホスト」を選択します。
  5. 変更を保存すると、次のようになります。
    1. 既存のプロセスベースのカスタム・リソースのプロセス・セットを更新します。
    2. 更新されたプロセス・セットを選択したホストにマップします。

OCI-CLIを使用したプロセス・セットの作成

プロセス・セットは、カスタム・リソースを構成するホストで実行されているプロセスを識別するための仕様を表し、ホストで実行されている一連のプロセスを指定する1つ以上のフィルタで構成されます。

ホスト プロセスは、プロセス セットのフィルタの1つで定義された条件を満たす場合、プロセス セットと照合されます。

プロセス・セットは、OCI-CLIコマンドとJSONペイロードを使用して作成されます。JSONファイルには、目的のプロセスをフィルタで除外するための文字列および正規表現(regex)を使用して構築されたフィルタ定義のリストが含まれています。プロセス・セットは、OCI-CLIコマンド(プロセス・セットを作成したOCI stack-monitoring process-set.Once)を使用して定義し、次にpを実行するOCI-CLIコマンドを実行できます

プロセス・セットを作成したら、プロセスベースのカスタム・リソースの設定および構成操作を実行するOCI-CLIコマンドを実行できます。

プロセス・セットのペイロードには、次の必須フィールドがあります。

  • compartmentId - コンパートメントのOCID
  • displayName - プロセス・セットのシンボリック名
  • 仕様 - フィルタのリスト。

各フィルタ項目には、次のオプションフィールドがあります。ただし、processCommandprocessUserおよびprocessLineRegexPatternの少なくとも1つを指定する必要があります。フィルタは、プロセス セットに含まれるプロセスを選択するために使用します。プロセスは、選択する1つのフィルタのすべての指定フィールドと一致する必要があります。

  • labelは、このフィルタに一致するプロセスを説明するラベルです。
  • processCommandは、コマンド名を指定します。コマンド名がこの値と完全に一致するプロセスのみが含まれます。この値を指定しない場合、コマンド名のフィルタリングは行われません。
  • processUserは、プロセスを実行しているユーザーの名前を指定します。ユーザー名がこの値に完全に一致するプロセスのみが含まれます。この値を指定しない場合、起動ユーザーのフィルタリングは実行されません。
  • processLineRegexPatternは、プロセスのコマンドラインと照合される正規表現パターンを指定します。通常、コマンド行には、プロセスの起動時に渡されるコマンド名と引数の両方が含まれます。regexが(javascript regexルールを使用して)コマンドラインの任意の部分文字列と一致する場合、プロセスが含まれます。この正規表現が指定されていない場合、コマンド行でのフィルタリングは行われません(ただし、コマンド名のフィルタリングは、指定されている場合は引き続き実行されます)。

    ノート

    プロセスが複数のフィルタと一致する場合(正規表現が重複しているなど)、一致した最初のフィルタに対してのみ照合されます。
    ノート

    リソースのステータスを稼働中としてレポートするには、各フィルタ・アイテムで少なくとも1つのプロセスが一致している必要があります。

次のOCI-CLI createコマンドを使用して、次のいずれかのnginxペイロードを使用してプロセス・セットを作成します。

CLI createコマンドの例:

oci stack-monitoring process-set create --compartment-id "<Compartment_OCID>" --from-json file://<JSON_INPUT_FILE>
nginxペイロードファイルの例:
  • {
        "compartmentId": "<Compartment_OCID>",
        "displayName": "nginx processes",
        "specification": {
            "items": [
                {
                    "processCommand": "nginx",
                }
            ]
        }
    }

    これにより、少なくとも1つのプロセスが稼働しているかどうかが監視されますが、nginxのすべての必須プロセスが稼働しているかどうかはチェックされず、特にそれらのメトリック(nginxプロセス・コマンド・ディメンションの合計のみ)もチェックされません。

  • {
        "compartmentId": "<Compartment_OCID>",
        "displayName": "nginx processes",
        "specification": {
            "items": [
                {
                    "processCommand": "nginx",
                    "processLineRegexPattern": "nginx: master."
                },
                {
                    "processCommand": "nginx",
                    "processLineRegexPattern": "nginx: worker."
                }
            ]
        }
    }

    これにより、nginxに必要なすべてのプロセスが監視され、MonitoringStatusはマスター・プロセスと少なくとも1人のワーカーがある場合にのみ稼働します。メトリックの粒度の量は最初の例と同じです。ディメンションProcessCommandは同じで、正規表現はメトリックのディメンションとしてレポートされないためです。

  • {
        "compartmentId": "<Compartment_OCID>",
        "displayName": "nginx processes",
        "specification": {
            "items": [
                {
                    "label": "nginx-main-process",
                    "processCommand": "nginx",
                    "processLineRegexPattern": "nginx: master."
                },
                {
                    "label": "nginx-worker-processes",
                    "processCommand": "nginx",
                    "processLineRegexPattern": "nginx: worker."
                }
            ]
        }
    }

    ラベルを追加すると、ユーザーはメトリックのマスター・プロセスとワーカー・プロセスを区別できます。

    nginxの場合、プログラムは常にnginxであるため、従業員とマスターを区別するラベルを追加します(正規表現または完全なプロセス・ラインはディメンションとしてレポートされます)。

前述の例では、プロセスを所有するユーザーに関係なく、プロセス・ユーザー・フィールドprocessUserはすべてのプロセスに一致するように省略されています。

レスポンスにはプロセス・セットが含まれ、プロパティidにはprocess_set_idが含まれます。

カスタム・リソースをモニターするホストの識別

プロセス・セットが正常に作成されたため、カスタム・リソースを作成して、特定のホストでこのプロセス・セットを監視できます。これは、スタック・モニタリング検出ジョブを起動し、スタック・モニタリングのDiscoveryJobs APIを介してCUSTOM_RESOURCEタイプのリソースを作成することによって行われます。例については、次のペイロードを参照してください。

この例では、カスタム・リソースをモニターするエージェントおよびホストを指定します。

ノート

カスタム・リソースが実行されているホストは、スタック・モニタリングで監視する必要があります。

JSONペイロードでは、ライセンスはENTERPRISE_EDITIONである必要があります。

{
    "discoveryType": "ADD",
    "discoveryClient": "APPMGMT",
    "compartmentId": "<Compartment_OCID>",
    "discoveryDetails": {
        "agentId": "<Agent_OCID>",
        "resourceType": "CUSTOM_RESOURCE",
        "resourceName": "nginx processes",
        "properties": {
            "propertiesMap": {
                 "host_ocid": "<Host_OCID>",
                 "process_set_id": "<ProcessSet_OCID>"
            }
        },
        "license": "ENTERPRISE_EDITION"
    },
    "freeformTags": {},
    "definedTags": {}
}

JSONファイルを定義したら、次のコマンドを実行してカスタム・リソース検出ジョブを作成します:

oci stack-monitoring discovery-job create --compartment-id "<Compartment_OCID>" --from-json file://<JSON_INPUT_FILE>

検出ジョブが完了すると、nginxプロセスという名前のCUSTOM_RESOURCEタイプのスタック・モニタリング・リソースおよび対応するホームページが使用可能になります。

プロセス セットの更新

プロセス・セットの更新は、プロセス・セットの作成に似ています。更新するプロセス・セットのOCIDを決定し、作成ペイロードと同様に構造化されたペイロードを使用して更新を実行します。更新が完了すると、プロセス・セットのリビジョンが増分されたことがわかります。これは、モニター対象のホストに現在存在しているプロセス・セット仕様のバージョンを追跡するために使用されます。OCI-CLIまたはRESTコールを介してプロセス・セットを更新しても、ホスト上のプロセスの監視に使用される仕様は更新されないことに注意してください。

次の CLIコマンドを使用して、プロセスサービスを更新します。

oci stack-monitoring process-set update --process-set-id <ProcessSet_OCID> --from-json file://<JSON_INPUT_FILE>

/processSets/<ProcessSet_OCID>へのRAWリクエストまたはPUTリクエストの使用:

{
    "compartmentId": "<Compartment_OCID>",
    "displayName": "nginx processes",
    "specification": {
        "items": [
            {
                "processCommand": "nginx",
                "label": "all nginx processes filter"
            }
        ]
    }
}

カスタム・リソースのリフレッシュ

プロセス・セットが変更されたら、REFRESH Discovery Jobコマンドを使用してカスタム・リソースに設定されたプロセスを更新します。

oci stack-monitoring discovery-job create  --compartment-id "<Compartment_OCID>" --from-json file://<JSON_INPUT_FILE>

REFRESH JSONペイロードの例:

{
    "discoveryType": "REFRESH",
    "discoveryClient": "APPMGMT",
    "compartmentId": "<Compartment_OCID>",
    "discoveryDetails": {
        "agentId": "<Agent_OCID>",
        "resourceType": "CUSTOM_RESOURCE",
        "resourceName": "nginx processes",
        "properties": {
            "propertiesMap": {
                 "resource_id": "<Resource_OCID>",
                 "host_ocid": "<Host_OCID>",
                 "process_set_id": "<ProcessSet_OCID>"
            }
        },
        "license": "ENTERPRISE_EDITION"
    }
}
ノート

カスタム・リソース・ホームページには、現在使用中のプロセス・セットとそのリビジョンが反映されます。

検出ジョブのステータスのチェック

コマンドが実行されると、ジョブのステータスおよびログは、「リソース検出」ページのスタック・モニタリング内で表示できます。「リソース検出」ページで、「リソース名」が「カスタム・リソース」の名前、リソース・タイプが「カスタム・リソース」で、ジョブ・タイプがAddである送信済ジョブを検索します。ジョブ・ステータスが「成功」になったら、「リソース名」の下にあるカスタム・リソースの名前をクリックして、リソースのホームページに移動します。

カスタム・リソースについて収集されたメトリックのリストは、プロセスベースのカスタム・リソース・メトリックを参照してください。

カスタム・リソースの推奨アラーム・ルールのリストは、プロセスベースのカスタム・リソースのサンプル・アラーム・ルールを参照してください。