New Relic LogsでCustom Attributeを追加する

こんにちは。 New Relic Advent Calendar 2019 - Qiita, 12/10の記事を始めます。

New Relic Logsは、Logを扱うサービスです。fluetndなどのログコレクターからログを突っ込みつつ、クエリしたり、アラートを設定できたりするやつです。

f:id:katzchang:20191210124422p:plain
ogs!

突っ込んだデータはInsightsでもクエリ可能なので、つまり、色々できそう。ということで、どこまで遊べそうかちょっと試してみます。

hostname, service_name

ドキュメントのとおりにfluentdで設定すると、とりあえずログが収集されはじめます。気づくと思いますが、ちょっと空欄のところがありますよね。

f:id:katzchang:20191210124933p:plain
HOSTNAME, SERVICE_NAMEがさみしい

とりあえず fluentd filterで足してみます

<filter **>
  @type record_transformer
  <record>
    hostname ${hostname}
    service_name "オーサムログ🚀"
  </record>
</filter>

fluentdを再起動して、ログをおくってみると…

f:id:katzchang:20191210130439p:plain
🚀

送られました!左側のHostnameフィルタなんかもいい感じに動きそうです。

更に項目を追加してみる

Insightsに入るということはつまり、カスタム属性を追加できるようなきがしますよね。やってみました。

how_awesome という項目を足して…

<filter **>
  @type record_transformer
  <record>
    hostname ${hostname}
    service_name "オーサムログ🚀"
    how_awesome "⭐⭐⭐⭐⭐"
  </record>
</filter>

fluetndを再起動、ログをおくってみると…

f:id:katzchang:20191210130725p:plain
⭐5つ!(3つしか表示されないが)

ご覧のとおり、Insightsからクエリ可能な感じになりました。Logsの画面上ではカスタム属性は表示されませんが、検索条件は補完されたりします。

f:id:katzchang:20191210130928p:plain
how_...

ということで、

今回のサンプルコードは↓のリポジトリにおいてあります。

github.com

ということで、New Relic Logsを簡単に動かしてみました。APMと組み合わせてつかえるLogs in Context もパブリックベータで公開中で、こちらも近々試してみようと思ってます。気になる方はご連絡ください!