概要
Stack Monitoringでは任意のリソースに対してOSコマンドやSQLを利用してユーザー独自のメトリックを作成することができるメトリック拡張が利用できます。
本記事ではその手順を解説します。
前提条件
- Stack Monitoringのリソースに対する動的グループが必要
- EnterpriseEditionが必要
- 完全プロモートが必要
ポリシーの設定
管理エージェントがOCIモニタリングにメトリックをアップロードできるポリシー
ALLOW DYNAMIC-GROUP StackMonitoringManagementAgentsEasyOnboarding TO USE METRICS IN COMPARTMENT <compartment_name> where any {target.metrics.namespace='oracle_metric_extensions_appmgmt', target.metrics.namespace='oracle_metric_extensions_appmgmt_test'}
メトリック拡張を有効または無効にできるポリシー
ALLOW GROUP MeOperatorGroup TO USE stack-monitoring-metric-extension IN COMPARTMENT <compartment_name>
監視対象のメトリック拡張を有効または無効にできるポリシー
ALLOW GROUP MeOperatorGroup TO {STACK_MONITORING_RESOURCE_UPDATE, DBMGMT_MANAGED_DB_UPDATE, DBMGMT_MANAGED_DB_CONTENT_WRITE, DBMGMT_EXTERNAL_DBSYSTEM_UPDATE, DBMGMT_EXTERNAL_DBSYSTEM_CONTENT_WRITE}N COMPARTMENT <compartment_name>
メトリック拡張の設定
OSコマンドによるメトリック拡張
Oracle DatabaseのLisnerステータスを監視するメトリックをOSコマンドを追加します。
*StackMonitoringがDatabaseのホストに設定済みとします。
リソース→メトリック拡張→「メトリック拡張の作成」をクリックします。
以下の項目を設定します。
*必須項目は赤字
メトリック拡張のプロパティ
- 名前:ME_ListnerStatus(任意)
- 表示名:ListnerStatus(任意)
収集方法のプロパティ
- リソース・タイプ:ホスト - Linux
- 収集方法:OSコマンド
- 収集頻度:5〜
- コマンド:/bin/bash/
- 出力のデリミタ(オプション)
- 引数(オプション)
- 出力の接頭辞(オプション)
- コマンド出力が sm_result= 3454 | abc | defの場合、Prefix for output = sm_resultは、sm_resultで始まる行のみがメトリックの収集に使用
- スクリプトファイル(オプション): LisnerStatus.sh
- コマンドに直接記述も可能
ps -ef | grep LISTENER | grep -v grep | wc -l
メトリック/ディメンション
- 名前:LisnerStatus(任意)
- 表示名(オプション)
- ディメンションですか。:
- ディメンションを指定する際は指定
例: oci_computeagentメトリックの定義で指定されるリソース識別子(resourceId) - メトリックが、計算式を使用する他のメトリックの値の計算にのみ使用される場合、「はい」を選択します。
- ディメンションを指定する際は指定
- 単位:
- カテゴリ:
- 可用性、容量、ロード、使用率を指定
- 計算式:
- 他メトリックに対する演算に基づいて、メトリックの値を計算します。
作成したメトリックをテストするために、メトリック拡張を適用する「テスト」をクリックします。
テストが成功したら公開をクリックします。
メトリックは一度公開すると、編集ができないのでご注意ください。
「リソースの選択」をクリックします。
該当のリソースを選択し、「選択したリソースで有効化」をクリックします。
公開が終わると該当リソースのチャート欄に作成したメトリックが追加されます。
SQLによるメトリック拡張
SQLによるメトリック拡張は非コンテナDB、CDB、PDBで利用可能です。
例としてDatabaseに登録されているユーザー数を取得するメトリックを追加します。
リソース→メトリック拡張→「メトリック拡張の作成」をクリックします。
メトリック拡張のプロパティ、収集方法のプロパティ、メトリック/ディメンションの項目を以下のように設定します。
*必須項目は赤字
- 名前:ME_AllUsers(任意の名前)
- 表示名:AllUsers(任意の表示名)
- リソース・タイプ:非コンテナDB or コンテナDB or PDB
- 収集方法:SQL
- 収集頻度:5〜(任意)
- SQL問合せ:
SELECT COUNT(*) from ALL_USERS;
- IN パラメータ(オプション)
- OUT パラメータ(オプション)
- OUT パラメータ・タイプ(オプション)
メトリック/ディメンション
- 名前:AllUsers(任意の名前)
- 表示名(オプション)
- ディメンションですか。:なし
- 単位(オプション)
- カテゴリ(オプション)
上記の項目を設定したら、作成とテストをクリックします。
リソースの選択に適当なデータベースを選択して「テスト」をクリックします。
テストが成功したら公開をクリックします。
メトリックは一度公開すると、編集ができないのでご注意ください。
該当のリソースを選択し、「選択したリソースで有効化」をクリックします。
公開が終わると該当リソースのチャート欄に作成したメトリックが追加されます。
有効化が完了するとと該当リソースのチャート欄に作成したメトリックが追加されます。
アラーム設定について
Stack Monitoringでは Monitoringを使用して、メトリックがしきい値を超えたときにアラームを生成できます。
メトリック拡張で追加したメトリックに対してアラームを定義する場合はoracle_metric_extentions_appmgmtを使用することでアラームを定義することができます。
ダッシュボードについて
メトリック拡張で追加したメトリックをダッシュボードに追加することが可能です。