New Relic InsightsクエリAPIは、 NRQLクエリをするためのREST APIです。
ヒント
このAPIは、今ではNew Relicデータをクエリする優先方法ではありません。NerdGraphを使用してクエリしてください。
要件および推奨
このAPIは、今ではNew Relicデータをクエリする優先方法ではありません。最善の結果を得るには、NerdGraphを使用してデータをクエリする必要があります。
このAPIの使用は、ロール関連ユーザー権限で制限できます。
New Relicにカスタムデータを追加するには、当社のデータ取り込みAPIを使用します。
アカウントがEUデータセンターでデータをホストする場合は、適切なEUリージョンアカウント向けAPIエンドポイントを使用していることを確認してください。
1. APIキーの登録
InsightsのクエリAPIを使用するには、クエリキーが必要です。クエリキーは複数所有することができ、いずれかのクエリキーを使用してInsights APIクエリを発行することができます。Insightsや異なるデータ送信先を紹介するシステムが複数存在する場合、New Relicは複数のクエリキーを使用したデータセキュリティの向上を推奨します。
安全上の理由から、APIキーを使用したクエリキーの変更や読み出しはできません。クエリキーの変更または読み取りには、New Relic UIを使用してください。
ヒント
このAPIは、今ではNew Relicデータをクエリする優先方法ではありません。NerdGraphを使用してクエリしてください。
新しいクエリキーを作成する場合は、以下の手順に従います。
- insights.newrelic.com > データ管理 > APIキーに移動します。
- クエリキー見出しの隣にある+アイコンを選択します。
- キーの簡単な説明を入力します。
- [Save your notes(注を保存)] を選択します。
2. APIクエリリクエストの作成
クエリキーを作成または編集する場合は、テンプレートとして使用できるcurlクエリ例が表示されます。次のクエリルールに従わない限り、サンプルクエリは機能しません。
- NRQLのクエリ文字列はURLエンコードされていなければなりません。
- クエリ文字列は4000バイト未満でなければなりません。
- URLには有効なアカウントIDを含める必要があります。
X-Query-Key
には有効なクエリキーを含める必要があります。Content-Type
はapplication/json
である必要があります。
Linux
curl例を次に示します。
curl -H "Accept: application/json" -H "X-Query-Key: YOUR_QUERY_KEY" "https://insights-api.newrelic.com/v1/accounts/YOUR_ACCOUNT_ID/query?nrql=YOUR_URL_ENCODED_QUERY"
Microsoft Windows
Powershellを使用して、APIでイベントをクエリできます。
Invoke-WebRequest -Uri https://insights-api.newrelic.com/v1/accounts/YOUR_ACCOUNT_ID/query?nrql=YOUR_URL_ENCODED_QUERY -Headers @{"X-Query-Key"="YOUR_QUERY_KEY"} -ContentType "application/json" -Method GET
3. JSON応答の処理
クエリAPIはJSON形式で結果を返します。リクエストごとの結果制限は2,000件です。
JSONデータの構造はリクエストで使用するNRQLによって決まり、SELECT
文、句、関数の組み合わせに応じて適切な応答を返します。JSONを処理するコードを書く際は、クエリのテストを実行して結果のJSONを確認してください。
例
InsightsクエリAPIはJSONデータを返します。以下に、クエリ、そのクエリリクエストの形式、および結果データの例を示します。
レート制限のガイドライン
クエリのレート制限があります。特に、これらの一般ガイドラインに従う場合は、これらの制限に遭遇することはありません。
- 同時に実行される複雑なクエリ(例:
FACET
句やTIMESERIES
句を含むクエリ、または100万件を超えるイベントのクエリ)でのリクエスト数を制限します。 - 特に複雑なクエリを含む場合は、長期間にわたって並行して実行するリクエストの数を最大5件に制限します。
New Relicによって1分あたりのクエリ数に対してレート制限がアカウントに適用されている場合、クエリAPIは429エラーを返します。New Relicによって検証されたレコードに対してレート制限がアカウントに適用されている場合、クエリAPIは503エラーを返し、チャートにタイムアウトエラーメッセージが表示されることがあります。