0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NewRelicでログデータをcurlで投入する

Posted at

はじめに

NewRelicでログ監視のアラートポリシーを作る際に、ポリシーの妥当性を確認するためログデータを生成したくなった。

ドキュメントを見たが正直わかりづらいので手順をメモしておく。
https://docs.newrelic.com/jp/docs/logs/log-api/introduction-log-api/

インジェスト用の license_key を用意する

まず躓いたのがここ。
ネットの記事などからKey typeUserで作成していたが、正しくはIngest - Licenseのキーを使用する。
(ドキュメントにはちゃんとライセンスとは書いてあった)

POST用のjsonデータを用意する

ここはかなり柔軟性があるらしく、割と適当でもOK。
今回は次のようなファイルを用意した。

{
  "entity.name": "sample.entity",
  "level": "ERROR",
  "message": "alert policy test data.",
  "newrelic.source": "logs.APM"
}

なお実際に投入された際のデータは下記の通り。timestampは自動で入るので入れなくてOK。

{
  "entity.name": "sample.entity",
  "level": "ERROR",
  "message": "alert policy test data.",
  "newrelic.logPattern": "nr.DID_NOT_MATCH",
  "newrelic.source": "api.logs",
  "timestamp": 1738315035641
}

curlで投入する

冒頭のLicenseキーを用意

$ export INGEST_LICENSE=XXXXXXXXXXXXXXXXXXXXXXXXXXXX   

https://log-api.newrelic.com/log/v1 へ作成したjsonをPOSTする。(この際の宛先URLはリージョンによるらしい)

$ curl -X POST https://log-api.newrelic.com/log/v1 \ 
-H 'Content-Type: application/json' \ 
-H "Api-Key: $INGEST_LICENSE" -d @payload.json 

次のようにrequestIdが返されれば成功。{}の場合は失敗しているので要確認。

{"requestId":"5b6f7dff-0001-bc09-2ee5-0194bba673f9"}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?