RESTmon プローブを使用したテクノロジのモニタ

REST API を使用してテクノロジまたはデバイス データを監視できるようになりました。 UIM によって提供されるテンプレートを使用して、QoS および http/https REST エンドポイントでの集計ロジックの詳細を示すスキーマをアップロードできます。 メトリクスとアラームを定義し、監視対象デバイス用の CABI ダッシュボードを入力できます。 [設定]ページから、デフォルトのテンプレートをダウンロードでき、独自のスキーマを構築できます。または以下の標準装備のスキーマのいずれかを使用できます。
uimpga-ga
HID_RESTMON_PROBES
REST API を使用してテクノロジまたはデバイス データを監視できるようになりました。 UIM によって提供されるテンプレートを使用して、QoS および http/https REST エンドポイントでの集計ロジックの詳細を示すスキーマをアップロードできます。 メトリクスとアラームを定義し、監視対象デバイス用の CABI ダッシュボードを入力できます。
[設定]
ページから、デフォルトのテンプレートをダウンロードでき、独自のスキーマを構築できます。または以下の標準装備のスキーマのいずれかを使用できます。
目次
リビジョン履歴
このセクションでは、このプローブのリビジョン履歴について説明します。
: サポート ケースは一部のお客様に表示されない場合があります。
バージョン
説明
状態
日付
1.38
更新情報:
  • MarkLogic および Logstash モニタリング用のスキーマが追加されました。
GA
2019 年 4 月
1.20
プローブの最初のリリースです。
GA
2018 年 10 月
前提条件
  • CA サポート サイトから RESTMon 1.38 プローブをダウンロードおよびインストールします。
  • ご使用の環境に CA UIM 9.0.2 以降がインストールされていることを確認します。
  • オペレータ コンソールが環境内で利用可能であることを確認します。
  • MCS テンプレートを使用できます。
  • Java 8 がロボットにインストールされています。
REST クライアントの設定
モニタする REST クライアントごとに JSON ファイルを設定およびアップロードします。
手順 1: UMP へのログインとスキーマのダウンロード
  1. UMP にログインし、
    [アクション]-[オペレータ コンソール]
    に移動します。
  2. 設定
    ]-[
    RESTMon
    ]をクリックします。
  3. スキーマ テンプレートを JSON 形式でダウンロードします。
手順 2: モニタリング テクノロジの詳細設定
以下のセクションを定義して、スキーマをカスタマイズします。
名前
定義する各スキーマには、関連した名前を指定する必要があります。 JSON スキーマは、ダウンロードした後に名前
localservice
elasticsearch
といったテクノロジの名前に置き換えます。
"elasticsearch": {
calculated_methods
calculated_methods セクションでは、JSON によって返された QoS 値を適切な単位に変換する方法を定義します。 たとえば、キロバイト(KB)値をギガバイト(GB)に変換する場合は、以下の例を参照してください。
"calculated_methods": {
"convertKBtoGB": "/ 1048576;"
},
メトリクスの定義での calculated_methods の使用
たとえば、以下の例で JSON が 27992641617920 バイトの値を返し、計算 $convertKBtoGB が「/1048576」と定義される場合、これを qos_value と組み合わせると、コード「27992641617920/1048576」が JavaScript エンジンに送信されます。これにより、最終的な値である 26695863.36GB が返され、QoS 値(GB)として送信されます。
"calculated_methods": [
{
"convertBytestoGB": "/ 1073741824"
}
],
"metrics": [
{
"calculation": "$value $convertBytestoGB",
"xml_ns": "",
"attributes": {
"uim": {
"defaultpublishing": "true",
"qos_name": "QOS_ES_NS_IND_STORE_SIZE",
"qos_desc": "Store Size",
"qos_abbr": "GB",
"metric_type": "4.13.4.2.1.1:80",
"qos_unit": "GB",
"qos_value": "$.[*].input_per_sec",
"source": "$['nodes'][*]['host']",
"target": "$['nodes'][*]['host']"
},
"value": "$['nodes'][*]['indices']['store']['size_in_bytes']",
"url": "nodestats",
"group": "Node Stats Indices"
},
]
urls
url セクションでは、メトリクスおよびノードの情報を収集するために使用される REST エンドポイントのリストを定義します。
このセクションでは、以下のパラメータを定義します。
属性
説明
xml_ns
(オプション)参照先の url から取得されたノード情報の解析に使用する XML 名前空間
src
(オプション)この url で必要とされるインスタンス情報が含まれる兄弟レベルの url 用 ID。 var フィールドと一緒に使用されます。
var
(オプション) src 値と共に使用される JPath または XPath ディレクティブを定義して src エンドポイントによって返された情報を解析し、[url]フィールドの $var トークンに代入します。 たとえば、src の url でホスト/ノード/ボリュームのリストを返すインスタンスでは、各インスタンスの値を対象として個別に詳細な情報を取得します。
id
url 情報の一意の名前。
url
メトリクスとノードの情報を提供する REST エンドポイント。
モニタする URL ごとにエントリを作成し、
url
パラメータの値を定義します。
すべての URL が有効で、ブラウザからアクセスした場合に結果が返されることを確認します。
[URL]セクションのサンプル
"urls": [
{
"xml_ns": "",
"src": "",
"var": "",
"id": "clusterhealthindices",
"url": "/_cluster/health?level=indices"
},
{
"src": "",
"xml_ns": "",
"var": "",
"id": "nodestats",
"url": "/_nodes/stats"
},
{
"src": "",
"xml_ns": "",
"var": "",
"id": "clusterstats",
"url": "/_cluster/stats"
},
{
"src": "",
"xml_ns": "",
"var": "",
"id": "indexstats",
"url": "/_all/_stats"
}
],
定義
[定義]セクションでは、認証および接続関連の詳細を定義します。
このセクションでは、以下のパラメータを定義します。
セクション
属性
デフォルト値
説明
resource_category
QOS_APPLICATION
(オプション)メトリクスのパブリッシュに使用されるユーザ定義のカテゴリ。
defaults
port
80/443
指定されたタイプに応じてエンドポイントで使用するデフォルト ポート(http/秒)。
間隔
60
REST エンドポイントがポーリングされる頻度(秒)。
httptimeout
30000
REST エンドポイントからの応答を待機する時間(ミリ秒)。
auth
なし
使用するデフォルトの認証メカニズム。 サポートされている認証メカニズムは、basic、digest、ntlm、token、bearer、urltoken、Outh2 です。
xml_ns
(オプション)参照先の URL から取得されたノード情報の解析に使用する XML 名前空間。
名前
<スキーマ名>
プロファイルのインスタンスに使用するデフォルトの名前(通常はスキーマ名)。
スキーマのルート ノード名がスキーマの[定義]セクション内の name 属性と同じである($.name = $.{name}.definition.name)。
タイプ
http
REST 接続のタイプ。 有効なオプションは、http および https です。
(オプション) addedProfileFields
プロファイルの作成時に(デフォルト値の有無にかかわらず)カスタム フィールドを表示する場合は、このセクションで属性を定義します。 たとえば、Authority (デフォルト値を含む)、Scope (デフォルト値を含む)、Client ID、Client Secret、Client Secret ID、および Project ID の各フィールドを定義する必要がある場合は、以下のように属性を定義できます。
"addedProfileFields": [{
"name": "authority",
"value": "https://accounts.google.com/o/oauth2/auth",
"type": "text",
"label": "Authority"
},
{
"name": "scope",
"value": "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/cloud-platform.read-only https://www.googleapis.com/auth/cloudplatformprojects https://www.googleapis.com/auth/cloudplatformprojects.readonly",
"type": "text",
"label": "Scope"
},
{
"name": "client_id",
"value": "",
"type": "text",
"label": "Client ID"
},
{
"name": "client_secret",
"value": "",
"type": "password",
"label": "Client Secret"
},
{
"name": "client_secret_id",
"value": "",
"type": "text",
"label": "Client Sercret ID"
},
{
"name": "project_id",
"value": "",
"type": "text",
"label": "Project ID"
}],
[モニタリング]
タブからプロファイルを作成する場合は、これらのフィールドが UI に表示されます。
[定義]セクションのサンプル
"definition": {
"node": "",
"resource_category": null,
"defaults": {
"port": 9200,
"interval": 60,
"httptimeout": 30000
},
"auth": "basic",
"xml_ns": "",
"name": "elasticsearch",
"type": "http"
},
メトリクス
このセクションでは、収集するメトリクスを定義します。
このセクションでは、以下のパラメータを定義します。
セクション
属性
デフォルト値
説明
xml_ns
(オプション)参照先の url から取得されたノード情報の解析に使用する XML 名前空間
calculation
(オプション)メトリクスを生成する RAW 値に適用する計算。 このパラメータでは、calculated_method を参照できます。
attributes > uim
メトリクス値をパブリッシュするときに使用される UIM 固有のフィールド。
qos_name
QoS 名(QOS_HTTP_STATUS など)。 パブリッシュする独自の QoS 名を定義できます。
qos_desc
qos_name 属性で定義された QoS に関する説明(HTTP レスポンス ステータスなど)。
qos_abbr
GUI で使用される省略形の QoS 名(「State」など)。 詳細については、「省略形」を参照してください。
metric_type
メトリクス タイプ(2 など)。 UIM のメトリクス インスタンスを生成するときに CI タイプで使用され、2.2.2:2 のようなタイプ値を生成します。 利用可能なデフォルトの CI タイプは 9.1.1 です。 CI タイプおよびメトリクスの詳細については、「インベントリ、メトリクス、およびバルク設定の宣言」および GUI で利用可能な SUPPORTED_CI_METRIC_TYPES.XLSX ファイルを参照してください。 カスタム CI タイプを追加するには、CA サポートにお問い合わせください。
qos_unit
QoS の測定単位(「State」など)。 サポートされる QoS 単位の詳細については、GUI で利用可能なスプレッドシートを参照してください。
source
メトリクス値の収集元となるデバイス。
target
メトリクス値の収集対象となるデバイス。
defaultpublishing
true
(オプション) UIM MCS テンプレートの作成に使用されます。
conversion
スキーマが返す文字列値を、データベースに保存する前に数値に変換します。 たとえば、次のように変換値を定義できます。部分障害: 0、正常: 1、低下: 2、失敗: 3、デフォルト: -999。 この場合、スキーマで文字列「正常」を返すと数値 1 に変換され、データベースに保存されます。これは、メトリクスが収集されたときのシステムの稼働状況を示します。
value
メトリクスの REST エンドポイント応答データ解析に使用される JPath または XPath。
url
REST エンドポイントの [url]セクションでエントリを参照する ID。
group
(オプション)ユーザ定義のグループ タグ。
[メトリクス]セクションのサンプル
"metrics": [
{
"calculation": "",
"xml_ns": "",
"attributes": {
"uim": {
"qos_name": "QOS_HTTP_STATUS",
"qos_desc": "HTTP response status",
"qos_abbr": "State",
"metric_type": "2.2.2.2:2",
"qos_unit": "State",
"source": "%hostname",
"target": "%urlid",
"defaultpublishing": "true"
},
"value": "%httpstatus",
"url": "%urlid",
"group": "Connections"
},
calculated_metrics
このセクションでは、収集するメトリクスを生成する RAW データをから派生した KPI を定義します。
属性
説明
values
名前の配列/派生 KPI を定義する値のエントリ。
名前
値をパブリッシュする場合に使用されるメトリクスの一意の名前。
value
メトリクスの REST エンドポイント応答データ解析に使用される JPath または XPath。 このパラメータは、KPI の値を導出する計算フィールド式に使用されます。
calculated_metrics セクションのサンプル
"calculated_metrics": [
{
"calculation": "$fetch_total / ($fetch_time_in_millis/1000)",
"xml_ns": "",
"values": [
{
"name": "$fetch_total",
"value": "$['nodes'][*]['indices']['search']['fetch_total']"
},
{
"name": "$fetch_time_in_millis",
"value": "$['nodes'][*]['indices']['search']['fetch_time_in_millis']"
}
],
"attributes": {
"uim": {
"defaultpublishing": "true",
"qos_name": "QOS_ES_NS_IND_SEARCH_AVERAGE_FETCH_TIME",
"qos_desc": "Search Average Fetch Time",
"qos_abbr": "s",
"metric_type": "4.13.4.2.1.1:53",
"qos_unit": "s",
"source": "%hostname",
"target": "$['nodes'][*]['host']"
},
}
},
"url": "nodestats",
"group": "Node Stats Indices"
}
手順 3: カスタマイズされたスキーマの参照およびアップロード
テクノロジ タイプが同じである複数のスキーマをアップロードできます。 スキーマ ファイル名は、次のファイル名形式に従う必要があります。
<スキーマ名>_schema.json
手順 4: スキーマの検証
スキーマを検証して展開する前に、テンプレート名を定義するためにプローブで使用される
フレンドリ名
を定義します。
[次へ]
をクリックします。
スキーマは、以下の条件で検証されます。
  • 有効な構文を使用した有効な JSON ファイルである。
  • ファイルに UIM メトリクスのない APM スキーマが含まれている。
  • スキーマのルート ノードが小文字、数字、ハイフン、アンダースコアのみを含めることができるプローブ名でもある。
  • スキーマのルート ノード名がスキーマの[定義]セクション内の name 属性と同じである($.name = $.{name}.definition.name)。
条件のいずれかが満たされていないと、アップロードが失敗します。 ログを表示してエラーをデバッグできます。
手順 5: [モニタリング]タブでの設定の検証
対応するテクノロジが UMP の
[モニタリング]
タブに表示されていることを確認します。
  1. UMP にログインし、
    [グループ]
    -
    [オペレーティング システム]
    -
    [ロボット]
    に移動します。ここには、カスタム プローブが展開されています。
  2. [モニタリング]
    タブをクリックし、カスタム プローブを表示します。
    たとえば、デフォルト スキーマを使用して、elasticsearch サーバをモニタするためのカスタム プローブを作成できます。
    restmon_setup_profile.png
プロファイルの作成と Restmon プローブを使用したテクノロジのモニタ
REST API を使用したテクノロジのモニタリングを開始するには、UMP
[モニタリング]
タブからプロファイルを作成し、必要なメトリクスを有効または無効にして、必要なデータを収集します。
以下の手順に従います。
  1. テナント管理者として、UMP にログインし、
    [グループ]
    -
    [オペレーティング システム]
    -
    [ロボット]
    に移動して、
    [モニタリング]
    タブをクリックします。
  2. カスタム プローブのノードを選択および展開してプロファイルを作成します。
    generic_profile_creation.png
  3. さらにサブプロファイルに移動し、必要なメトリクスをアクティブ化または非アクティブ化します。
    restmon_setup_profile.png
    しきい値アラームを有効にするには、MCS 構成ファイルで
    policy_mode_enabled
    パラメータの値を
    false
    に設定します。 アラームしきい値の設定の詳細については、「MCS でのアラームしきい値の設定」を参照してください。 あるいは、アラーム ポリシーを作成し、[オペレータ コンソール]からしきい値を設定することもできます。
  4. [インベントリ]
    に移動し、プロファイルの作成中に定義したホスト名を検索します。次に、
    [メトリクス]
    タブ
    をクリックしてメトリクス コレクションとアラームを表示し、
    [アラーム]
    タブをクリックします。
    メトリクスの表示
    generic_metrics_view.png
    アラーム ビュー
    generic_alarms_view.png
トラブルシューティング
現象:
スキーマのフレンドリ名を定義するときに、以下のエラーが発生する可能性があります。
error_friendly_name.png
解決策:
このようなエラーが発生する場合は、別のフレンドリ名を定義してスキーマを展開します。
現象:
JSON スキーマをアップロードすると、検証に失敗して以下のエラーが発生します。
[<schema_name>.json] is/are missing UIM metric definitions syntax. ([<schema_name>.json] に UIM メトリクス定義構文がありません)。
解決策:
このエラーは通常、UIM メトリクス定義セクションが JSON ファイルにないか、
operator
および
severity
属性に不正な値が含まれている場合に発生します。
このエラーを解決するには、スキーマ ファイルを編集し、以下のアクションのいずれかを実行します。
  • スキーマの[
    メトリクス
    ]セクションで、
    operator
    および
    severity
    属性に値を 1 つのみ定義します。 これらの属性では、配列の値はサポートされません。
    または
  • スキーマの[
    メトリクス
    ]セクションから属性
    thresholdenabled
    operator
    severity
    custom_message
    custom_clear_message
    を削除します。
現象:
RESTMon プローブを設定するときにエラーが発生します。
解決策
$UIM_installation_dir/Nimsoft/probes/services/wasp にある以下のログ ファイルを分析します。
  • operatorconsole.log
  • wasp.log
さらに、以下のエンドポイント用のブラウザから
.har
ファイルを作成して、エラーの詳細を特定するための http パケットの要求をキャプチャすることもできます。
  • http://$HOSTNAME/operatorconsole_portlet/api/v1/restmon/validateSchema?fileNames=${commaSeparatedFileName}&checkIfExist=true/false&friendlyName=${friendlyName}
  • http://$HOSTNAME/operatorconsole_portlet/api/v1/restmon/uploadSchema
  • http://$HOSTNAME/operatorconsole_portlet/api/v1/restmon/downloadSchema/{resourceName}
現象:
MCS テンプレートを使用してモニタリング プロファイルを作成するときにエラーが発生します。
解決策
$UIM_installation_dir/Nimsoft/probes/services/mon_config_service/ にある
mon_config_service.log
ファイルを分析します。
現象
プローブで、スキーマ ファイル内のメトリクスの定義に関する QoS データが収集されません。
解決策
以下のことを確認します。
  • QOS_HTTP_STATUS が返すステータスが 200 かどうか。 200 以外の場合は、ログを確認してトラブルシューティングを行います。
  • REST クライアントを使用して、エンドポイントが到達可能であり、予期される応答を返すことを確認します。
  • RAW 値から派生したメトリクス値をパブリッシュするために QoS 定義で calculated_method 属性が必要かどうか。