• ログイン今すぐ開始

InfrastructureアラートのREST API呼び出し

Infrastructure REST APIを使用して、アラート条件の追加、更新、削除、一覧表示を行います。Infrastructure UIを使用して、個別のアラート条件を管理することもできます。

InfrastructureアラートのREST API呼び出しは、APIエクスプローラーでは利用できません。

APIを使用する理由

一貫性

  • InfrastructureモニタリングUIで同じ条件を毎回設定せずに、すべてのクラスタに同じ一連の条件を定義します。
  • 複数の条件をUIで個別に更新することなく、迅速に管理します。

柔軟性

  • 任意のホストグループに対して条件を作成できます。
  • オフラインになったホストに対する条件をいつでも無効化、あるいは削除できます。
  • 排他的なフィルタリング(たとえば、environment NOT LIKE x)を使用して条件を作成します。詳細については、排他的なフィルタリングに関するこの記事を参照してください。
  • AWS Cloud Integrationsについては、まだAWSから送信されていない属性を選択する。
  • where_clauseを使用してセカンダリまたはターシャリメトリックに制限を指定することによって、複合アラート条件を作成します。
  • NRQLアラート条件の500ファセット制限を上回る。

信頼性

  • 最後に条件が更新されたタイミングで監査できます。

要件

Infrastructure REST APIを使用するには、次の情報が必要です。

ヒント

お使いのアカウントがEUデータセンターでデータをホストする場合は、適切なEUリージョンアカウント向けAPIエンドポイントを使用していることを確認してください。

Infrastructure API呼び出しの使用

ここでは、Infrastructureアラート条件用の基本的なcURLコマンドとその応答についていくつか説明します。条件のタイプに応じて、コールで提供されたDATA情報は、POST(追加)とPUT(更新)コールで異なります。

dataブロックで使用される各属性の定義は、定義セクションに記載されています。

GET Infrastructure条件

Infrastructure条件のリストのGETまたは特定のInfrastructure条件のGETを行うことができます。以下は、Infrastructure条件をリストするためのヒントです。

  • ページ付けには、limit(ページあたりのレコード数)とoffset(スキップするレコード数)パラメーターを使用します。デフォルトで、ページあたりのレコード数は50件、offsetは0(レコードをスキップしない)から始まります。
  • 結果を特定のポリシーに絞り込むには、policy_idを使用します。

ヒント

GETレスポンスをPUTまたはPOSTの入力用テンプレートとして使用する場合は、必ずcreated_at_epoch_millisupdated_at_epoch_millisおよびid情報を削除してください。

Infrastructure条件のリストのGET

curl -v -X GET --header "Api-Key: $API_KEY" "https://infra-api.newrelic.com/v2/alerts/conditions?policy_id=111111"

50件の上限を超えたInfrastructure条件10件分のリストを取得するには:

curl -v -X GET --header "Api-Key: $API_KEY" "https://infra-api.newrelic.com/v2/alerts/conditions?policy_id=111111&offset=50&list=10"

特定のInfrastructure条件のGET

単一のInfrastructure条件についての情報を取得する場合:

curl -v -X GET --header "Api-Key: $API_KEY" "https://infra-api.newrelic.com/v2/alerts/conditions/condition-id"

Infrastructure条件を作成(POST)する

重要

新しい条件を追加(POST)する際は、"id":を含めないでください。条件の作成時に生成されます。

Infrastructure条件を追加する際は、次の基本的なcURLコマンドを使用します。

curl -X POST 'https://infra-api.newrelic.com/v2/alerts/conditions' -H 'Api-Key:$API_KEY' -i -H 'Content-Type: application/json' -d '{"data":{DATA object details}}'

追加しているInfrastructure条件のタイプについては、DATAオブジェクト(-d \セクション)に詳細情報を含めてください。

Infrastructure条件を更新(PUT)する

Infrastructure条件を更新する際は、変更が必要なフィールドを含めるだけで十分です。APIは、欠落しているフィールドの既存の値を保持します。

重要

条件typeを変更したい場合は、PUTを使用しないでください。その代わりに、既存の条件を削除してから、新しい条件typeすべてのフィールドで新しい条件を追加(POST)してください。

Infrastructure条件を更新する際は、次の基本的なcURLコマンドを使用します。更新対象の条件を指定するには、"id":を含めるようにしてください。

更新しているInfrastructure条件のタイプについては、DATAオブジェクト(-d \セクション)に詳細情報を含めてください。

Infrastructure条件を削除(DELETE)する

Infrastructure条件を削除する際は、以下の基本的なcURLコマンドを使用します。

curl -v -X DELETE --header "Api-Key: $API_KEY" "https://infra-api.newrelic.com/v2/alerts/conditions/condition_id"

条件のタイプ

定義

cURLコマンドをフォーマットする際には、必要に応じて以下の値を使用します。これらはAPI呼び出し内の表示順ではなく、アルファベット順に表示されます。

フィールド

定義

comparison列挙体

条件タイプ: infra_metricinfra_process_running

閾値の定義に使用する値(例:"["above", "below", "equal"])。

critical_threshold および warning_threshold

条件タイプ:all

このオブジェクトは、違反をオープンする前に閾値を識別します。

  • critical_thresholdは必須です。

  • warning_thresholdはオプションで、infra_metric条件でのみ使用できます。

    このオブジェクトのキーは、条件タイプによって異なります。

    条件タイプ: infra_metricフォーマット:

    "critical_threshold":{
    "value":<number>,
    "duration_minutes":<integer>,
    "time_function":"any" or "all"
    },

    条件タイプ: infra_process_runningフォーマット:

    "critical_threshold":{
    "value":<integer>,
    "duration_minutes":<integer>,
    },

    条件タイプ: infra_host_not_reportingフォーマット:

    "critical_threshold":{
    "duration_minutes":<integer>,
    },

enabledブール値

条件タイプ:all

条件のオンまたはオフ(trueまたはfalse)の状態を示します。

event_type [string])

条件タイプ: infra_metric

メトリックのイベント(例:システムメトリクス、プロセスメトリクス、ストレージメトリクス、ネットワークメトリクス)。Infrastructureインテグレーションにデータを自動入力します(例:StorageSampleまたはSystemSample)。

filter [string])

条件タイプ:all

条件がUIで作成された場合は、where_clauseの代わりにfilterが表示されます。たとえば:

{and: [{is: {ec2InstanceType: "m3.medium"}}]}

推奨:新しい条件を作成する際は、where_clauseを使用してください。

id整数

条件タイプ:all

URL内の条件ID。

  • GET:この値はGETレスポンスに出力されます。
  • PUT:この値をDATAセクションに含めてください。
  • POST:これはDATAセクションに含めないようにしてください。
  • この値は、-X DELETEコールに含めてください。

integration_provider [string])

条件タイプ: infra_metric

インテグレーションに関するアラートについては、event_typeの代わりにintegration_providerを使用します。有効な値を参照するには:ご利用のクラウドサービスのNew Relicドキュメンテーションから、データを見つけて使用するセクションを確認してください。

例:AWS RDS監視インテグレーションのドキュメンテーションからは、DatastoreSampleイベントタイプをintegration_provider値と共に使用できることが分かります。この場合、DBインスタンスではRdsDbInstance、またAurora DBクラスタではRdsDbClusterとなります。

name [string])

条件タイプ:all

Infrastructureのアラート条件の名前。たとえば:

"[test] process running"

policy_id整数

条件タイプ:all

条件に関連するアラートポリシーのアカウントIDに対するユニークID(例:1234567890)。これはポリシーのグローバルIDではありません。

process_where_clause [string])

条件タイプ: infra_process_running

プロセスに適用したすべてのフィルタ、特にアラート条件を実行中のプロセス。このパラメーターは、こうした種類のアラート条件において必須です。例:

"commandName = '\''java'\''"

runbook_url [string])

条件タイプ: all

通知に表示されるランブック URL。

select_value [string])

条件タイプ: infra_metric

ターゲットとするメトリックを識別する属性名(例:"cpuPercent""diskFreePercent""memoryResidentSizeBytes", or "memoryFreeBytes/memoryTotalBytes*100")。Infrastructureインテグレーションにデータを自動入力します(例:diskFreePercent)。

type列挙体

条件タイプ:all

Infrastructureアラート条件のタイプ:"infra_process_running""infra_metric"または"infra_host_not_reporting"

violation_close_timer整数

条件タイプ:all

時間で表された、違反時間制限設定。可能な値は0124812244872。これにより、違反が自動的に終了する前にどのくらいの時間が経過するかが決まります。

新たな条件については、値が示されていない場合、次のデフォルト値を使用します:

  • すべての条件: 24 hours

    既存の条件を更新する際、値が示されていない場合、既存の値を上書きしますが、すでに開かれている違反には影響はありません。

where_clause [string])

条件タイプ:all

該当する場合、使用されているすべてのInfrastructureホストフィルターを識別します。たとえば:

"(`hostname` LIKE '\''%cassandra%'\'')",
Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.