• /
  • ログイン
  • 無料アカウント

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(更新)コールで異なります。

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

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_thresholdwarning_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文字列

条件タイプ:infra_metric

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

filter文字列

条件タイプ:all

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

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

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

id整数値

条件タイプ:all

URL内の条件ID。

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

integration_provider文字列

条件タイプ:infra_metric

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

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

name文字列

条件タイプ:all

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

"[test] process running"

policy_id整数値

条件タイプ:all

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

process_where_clause文字列

条件タイプ:infra_process_running

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

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

runbook_url文字列

条件タイプ:all

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

select_value文字列

条件タイプ:infra_metric

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

type列挙体

条件タイプ:all

以下のInfrastructureアラート条件のいずれかになります:"infra_process_running""infra_metric"、または"infra_host_not_reporting"

violation_close_timer (整数)

条件タイプ:all

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

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

  • すべての条件:24時間

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

where_clause文字列

条件タイプ:all

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

"(`hostname` LIKE '\''%cassandra%'\'')",
問題を作成する
Copyright © 2022 New Relic Inc.