カスタム・リソースによる監視機能の拡張
カスタム・リソースを使用して、スタック・モニタリングの機能の範囲を拡張できます。カスタム・リソースを使用すると、新しいリソース・タイプのインスタンスを作成することで、他のアプリケーションまたはインフラストラクチャ・コンポーネントをモニターできます。作成したら、これらの新しいリソース・インスタンスをスタック・モニタリングの他のリソースに関連付けることで、アプリケーション・トポロジを完了し、アプリケーション・スタック全体でのより豊富なパフォーマンス相関をサポートできます。
カスタム・リソースは、次のいずれかの方法を使用して定義できます。
リソースのインポート - スタック・モニタリングでは、パフォーマンス・チャートを含むインポートされたリソースのホーム・ページが作成され、インポートされたリソースと既存のスタック・モニタリング・リソースの間でナビゲーション・トポロジを作成できます。リソースをインポートするには、コンパートメント内でEnterprise Extensibilityライセンスを有効にする必要があります。
- OCIサービス - 自律型データベース、ロード・バランサ、ブロック・ストレージなどの他のOCIサービスからリソースをインポートします。リソースをインポートする際、スタック・モニタリング・サービスは、インポート可能なリソースのリストを識別します。OCIリソースをインポートするには、コンパートメント内でEnterprise Extensibilityライセンスを有効にする必要があります。
- Prometheusベースのリソースのモニタリング–Prometheus形式で収集されたメトリックのスタック・モニタリングにリソースをインポートします。
- Monitoring Telegrafベースのリソース–Telegraf形式で収集されたメトリックのスタック・モニタリングにリソースをインポートします。
- 収集ベースのリソースのモニタリング – 収集形式で収集されたメトリックのスタック・モニタリングにリソースをインポートします。
- インポートされたリソース管理
プロセスベースのカスタム・リソース - リソースを構成するプロセスおよびリソースが実行されているホストを識別することで、ホストで実行されているアプリケーションやアプリケーション・インフラストラクチャなどの任意のリソースをモニターできます。スタック・モニタリングを定義すると、リソースのステータス、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リソースをインポートするには、次のステップに従います:
-
「スタック・モニタリング」で、「リソースのインポート」ページに移動し、「リソースのインポート」をクリックします。
- ソースとして「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リソースをインポートできるように |
ソース | この値は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つのステップのプロセスです。
- エージェントのメトリック・レシーバを有効にして、エージェントがTelegrafサード・パーティ・コレクタからメトリックを受信する準備をできるようにします。
- Telegrafを構成して、エージェントをリスニングしているメトリック受信者にメトリックをアップロードし、メトリックをテレメトリにアップロードします。
- Telegrafリソースをテレメトリからスタック・モニタリングにインポートします。
前提条件
- 管理エージェントの最小バージョン: 250214.1645
- Telegrafは、様々なターゲットのメトリック情報を構成および受信します。
-
Telegrafベースのリソースをコンパートメント内にインポートできるようにするために必要なポリシーを作成します。詳細は、Telegrafベースのリソースを監視するためのポリシーの作成を参照してください。
Telegrafメトリックを受け入れるためのメトリック受信者およびハンドラを使用可能にします
「リソースのインポート」メニューで、表の左上隅にある「リソースのインポート」を選択します。入力が入力されたら、「リソースのインポート」をクリックします。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。作業リクエストの一部として、受信者はTelegrafによって投稿されたメトリックのエージェントでのリスニングを開始するように設定されます。有効化エージェントの一部として、エージェント・ディレクトリ<agent_state_directory>/extension_state/StackMonitoringMetricReceiver/certs/clientCerts/stackmonitoring-ca.crt
に証明書が生成されます。この証明書は、Telegrafがアクセスできるパスにコピーする必要があります。
ログを表示するには、作業リクエストの「ステータス」リンクを選択します。
作業リクエストが完了すると、スタック・モニタリングに2つの新しいリソースが作成されます
- 受け側リソース:
- 名前:
<agent_name>_receiver
- 型:
stackmon_receiver
- 名前:
- 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です。ユーザーはポートの変更が許可されています。 |
リクエスト名 |
インポート操作のために送信される作業リクエストの名前。これは追跡目的でのみ使用されます。 デフォルト名は |
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 | タスクのタイプ。
必要な値は |
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」を選択します。 |
アクティブな受信者を含む管理エージェント | ハンドラを無効にする必要がある管理エージェントを選択します。 |
リクエスト名 |
無効化操作のために送信される作業リクエストの名前。これは追跡目的でのみ使用されます。 デフォルト名は |
ログを表示するには、作業リクエストの「ステータス」リンクを選択します。
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 | タスクのタイプ。
必要な値は |
agentId |
Yes | 受信者を有効にする必要がある管理エージェント用のOCI。 |
handlerType |
No | ハンドラのTELEGRAFタイプ。 |
isEnable |
Yes | false。ハンドラと関連ハンドラを無効にする場合。 |
collectdベースのリソースの監視
スタック・モニタリングでは、収集ベースのリソースのモニタリングがサポートされるようになりました。これは3ステップのプロセスです。
- エージェントのメトリック・レシーバを有効にして、収集したサード・パーティ・コレクタからメトリックを受信する準備をエージェントにします。
- エージェントをリスニングするメトリック・レシーバにメトリックをアップロードするように収集されるように構成します。これにより、メトリックがテレメトリにアップロードされます。
- 収集したリソースをテレメトリからスタック・モニタリングにインポートします。
Stack Monitoringにインポートされたすべてのcollectdベースのリソースには、Enterprise Licenseが割り当てられます。詳細は、ライセンスの構成を参照してください。
前提条件
- 管理エージェントの最小バージョン: 250214.1645
- CollectDは、様々なターゲットのメトリック情報を構成して受信します。
- コンパートメント内の収集ベースのリソースのインポートを許可するために必要なポリシーを作成します。詳細は、収集ベースのリソースを監視するためのポリシーの作成を参照してください。
収集したメトリックを受け入れるためのメトリック・レシーバおよびハンドラの有効化
「リソースのインポート」メニューで、表の左上隅にある「リソースのインポート」を選択します。入力が入力されたら、「リソースのインポート」をクリックします。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。作業リクエストの一部として、受信者はcollectdによって投稿されたメトリックのエージェントでのリスニングを開始するように設定されます。有効化エージェントの一部として、エージェント・ディレクトリ<agent_state_directory>/extension_state/StackMonitoringMetricReceiver/certs/clientCerts/stackmonitoring-ca.crt
に証明書が生成されます。この証明書は、collectdがアクセスできるパスにコピーする必要があります。
ログを表示するには、作業リクエストの「ステータス」リンクを選択します。
作業リクエストが完了すると、スタック・モニタリングに2つの新しいリソースが作成されます
- 受け側リソース:
- 名前:
<agent_name>_receiver
- 型:
stackmon_receiver
- 名前:
- 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です。ユーザーはポートの変更が許可されています。 |
リクエスト名 |
インポート操作のために送信される作業リクエストの名前。これは追跡目的でのみ使用されます。 デフォルト名は |
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 | タスクのタイプ。
必要な値は |
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ハンドラの無効化
「リソースのインポート」メニューで、表の上部にある「メトリック・レシーバの無効化」ボタンを選択します。入力が入力されたら、「受信者の無効化」を選択します。パネルが閉じ、新しく作成された作業リクエストがリストに表示されます。作業リクエストの最後に、受信者は収集エージェントによって投稿されたメトリックのエージェントでのリスニングを停止します。選択したタイプのこのエージェントのスケジュール済ジョブによってインポートされるリソースはこれ以上ありません。
入力フィールド | 内容 |
タイプ | 「収集」を選択します。 |
アクティブな受信者を含む管理エージェント | ハンドラを無効にする必要がある管理エージェントを選択します。 |
リクエスト名 |
無効化操作のために送信される作業リクエストの名前。これは追跡目的でのみ使用されます。 デフォルト名は |
ログを表示するには、作業リクエストの「ステータス」リンクを選択します。
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 | タスクのタイプ。
必要な値は |
agentId |
Yes | 受信者を有効にする必要がある管理エージェント用のOCI。 |
handlerType |
No | ハンドラのCOLLECTDタイプ。 |
isEnable |
Yes | false。ハンドラと関連ハンドラを無効にする場合。 |
インポートされたリソース管理
インポートしたリソースと既存のリソースの関連付け
インポートされたリソースをスタック・モニタリング内の別のリソースに関連付けるには、次のステップに従います。
- リソース・ホームページで、「トポロジ」をクリックします。
- 「アソシエーションの追加」ボタンをクリックします。
- 「関連リソースの追加」ポップアップで、次のフィールドに入力します:
- リレーション- 「使用」と「使用者」の2つのアソシエーションから選択します。選択した関連リソースは、それに応じてソースまたは宛先になります。アソシエーションが「使用」の場合、関連リソースはアソシエーション・ペアの宛先になります。アソシエーションが「使用者」の場合、関連リソースはアソシエーション・ペアのソースになります
- リソース・タイプ- 関連付けるリソース・タイプを選択します。
- リソース- 関連付けるリソースを選択します。選択したリソース・タイプに基づいて、「リソース」リストに使用可能なオプションが移入されます。
- 「リソースの追加」をクリックします
アソシエーションが追加されると、関連付けられたリソースが「トポロジ」表に表示されます。誤った関連付けが作成された場合は、削除アイコンをクリックして関係を削除します。
CLIを使用してアソシエーションを作成するには、アプリケーション・トポロジを参照してください。
インポート済リソースの可用性ステータス計算
インポートされたリソースの可用性ステータスは、次のように決定されます。
- OCIサービスのメトリック・データがある場合、リソースは稼働中(使用可能)とみなされます。メトリック・データがない場合、停止中とみなされます。
- 停止しているOCIサービスが引き続きOCIモニタリングにメトリック・データを生成する場合は、そのライフサイクル状態属性を使用してその可用性ステータスが決定されます。
MySql DBシステムなどの他の場合、可用性ステータスは、事前に決定されたメトリックの存在に基づいて計算されます。指定された期間中にメトリックがOCIモニタリング・ネームスペースに存在する場合、インポートされたリソースは稼働中とみなされます。この期間中にメトリック・データがない場合、リソースは停止中とみなされます。
スタック・モニタリング・エンタープライズ・サマリーでのOCIリソースの表示
スタック・モニタリングでは、エンタープライズ・サマリーで、インポートされたOCIリソースの可用性ステータスおよびパフォーマンス・メトリックを監視できます。
ユーザーが自律型データベースにアクセスできない場合、リソースの可用性ステータスは「レポートなし」として表示されます。
エンタープライズ・サマリーでのリソースのステータスの監視の詳細は、エンタープライズのステータスおよびパフォーマンスのモニターを参照してください。
プロセスベースのカスタム・リソース
- UI操作
- CLI操作
- 検出ジョブのステータスのチェック
プロセスベースのカスタム・リソースでは、コンパートメント内でエンタープライズ拡張性を有効にする必要があります。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
このコマンドを実行すると、COMMAND、USERおよび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つで定義された条件を満たす場合、プロセス セットと照合されます。
- 「スタック・モニタリング」メニューから、「プロセスのモニター」を選択します
-
「プロセス・セットの作成」をクリックします。「プロセス・セットの作成」UIパネルが表示されます。
- 各フィールドの詳細は、「UI検出入力」を参照してください。必須フィールドに入力します。
- プロセス・セットの作成およびマップまたは作成:
- 作成およびマップでは、プロセス・セットを作成し、選択したホストのモニタリングを1ステップで開始できます。
- 「作成」では、ホストにマッピングせずにプロセス・セットが作成されます。
「入力」フィールド | 内容 |
---|---|
表示名 |
プロセス セットの名前 ノート: プロセス・セットの名前は、コンパートメントごとに一意である必要があります |
Label | フィルタに一致するプロセスのわかりやすいラベル |
プロセス・コマンド | コマンド名を指定します。コマンド名がこの値と完全に一致するプロセスのみが含まれます。この値を指定しない場合、コマンド名のフィルタリングは行われません。 |
ユーザー | プロセスを実行中のユーザーの名前。ユーザー名がこの値に完全に一致するプロセスのみが含まれます。この値を指定しない場合、起動ユーザーのフィルタリングは実行されません。 |
プロセス行正規表現パターン | プロセスのコマンド行と照合される正規表現パターン。通常、コマンド行には、プロセスの起動時に渡されるコマンド名と引数の両方が含まれます。 |
ターゲット・ホスト | プロセスセットが実行され、モニターされるホスト。 |
プロセス セットの更新
- 「スタック・モニタリング」メニューから、「プロセスのモニター」を選択します
-
プロセス・セットのリストからプロセス・セットを選択します。
- プロセス・セットのプロパティまたは仕様に必要な調整を行います。
- 「ターゲット・ホスト」でモニターする追加の「ホスト」を選択します。
- 変更を保存すると、次のようになります。
- 既存のプロセスベースのカスタム・リソースのプロセス・セットを更新します。
- 更新されたプロセス・セットを選択したホストにマップします。
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 - プロセス・セットのシンボリック名
- 仕様 - フィルタのリスト。
各フィルタ項目には、次のオプションフィールドがあります。ただし、processCommand
、processUser
および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
である送信済ジョブを検索します。ジョブ・ステータスが「成功」になったら、「リソース名」の下にあるカスタム・リソースの名前をクリックして、リソースのホームページに移動します。
カスタム・リソースについて収集されたメトリックのリストは、プロセスベースのカスタム・リソース・メトリックを参照してください。
カスタム・リソースの推奨アラーム・ルールのリストは、プロセスベースのカスタム・リソースのサンプル・アラーム・ルールを参照してください。