リモートからデータの照会

Query Key を使って、HTTPS リクエストに埋め込まれた NRQL を使えます。New Relic Insights のイベントデーターベースにリモートから問い合わせできます。

リモートクエリ

標準の HTTPS リクエストを使用して、リモートから New Relic Insights のデータにアクセスできます。データは JSON 形式で返されます。

リモートクエリの組み立て方は以下のとおりです。

  • Insights API の Query Key登録する。
  • cURL 文に埋め込まれたNRQL クエリを使って、HTTPS リクエストを作成する。
    (または、HTTsP GET リクエストを使えば、どの方法でもよいです。).
  • JSON レスポンスの受信と処理を行うアプリケーションが用意する。

これらの指示は、設定と New Relic Insights への通信についてカバーしています。Insights と通信するために、サーバーアプリケーションを計測する必要があります。

API キーの登録

Query Key を使用すると、リモートから Insights のイベントクエリを実行できます。APIキーの管理ページを表示するには、New Relic のメニューバーから Insights > Manage Data > API Keys を選択します。

Query Key を追加する方法は、以下のとおりです。

  1. Query Keys の見出しの横にあるプラスアイコン を選択します。
  2. キーについて簡単な説明を入力します。
  3. Save your notes[メモの保存]を押します。

1つの Query Key で複数のクエリを実行できます。セキュリティを考慮すると、異なるアプリケーションまたは異なるデータの宛先ごとに別の Query Key を持つことを推奨します。

screen-insights-edit-query-key
Manage Data > API Keys > Edit: Query Key の作成、編集を行う際は、編集ページには、キー、cURL 文の例、ターゲットURLが表示されます。

リクエストの作成

データは、Insights からシンプルな HTTPS リクエストを使用して JSON フォーマットで取得します。

Query Key は、テンプレートとして使用可能なサンプルの cURL クエリを自動生成します。

curl -H "Accept: application/json" -H "X-Query-Key: YOUR_KEY_HERE"
  https://insights-api.newrelic.com/v1/accounts/(your account id)/query?nrql=(query string)"

HTTP リクエストを生成する際にそれが適切にフォーマットされていることを確認してください。

  • X-Query-Key は、正しい Query Key を含んでいること。
  • Content-Type は、application/json であること。

結果の受信

New Relic Insights から受信した典型的なJSONデータは、次のようになります。

NRQL クエリ:

SELECT uniqueCount(userAgentVersion), count(userAgentName)
  FROM PageView SINCE 1 week ago

JSON 結果:

{
  "results": [
    {
      "uniqueCount": 92
    },
    {
      "count": 16443966
    }
  ],
  "metadata": {
    "contents": [
      {
        "function": "uniquecount",
        "attribute": "userAgentVersion",
        "simple": true,
        "openEnded": false
      },
      {
        "function": "count",
        "attribute": "userAgentName",
        "simple": true,
        "openEnded": false
      }
    ],
    "eventType": "PageView",
    "openEnded": true,
    "beginTime": "2014-02-07T21:30:32Z",
    "endTime": "2014-02-14T21:30:32Z",
    "beginTimeMillis": 1391808632536,
    "endTimeMillis": 1392413432536,
    "rawSince": "1 WEEKS AGO",
    "rawUntil": "`now`",
    "rawCompareWith": ""
  }
}

関連情報

関連する情報は以下のとおりです。