Drop filterとは
New Relicでは、各種エージェントから送信されたデータを実際にデータベースに登録する前に不要なデータを削除するDrop filterという機能があります。これにより、間違って送信されてしまったデータがデータベースに登録されてしまうことを防いだり、意図せず大量のデータが送信されてしまいData ingest量がスパイクすることを防止することができます。各種データを送信するエージェントやクライアント側でもフィルター設定を行うことはできますが、New Relic側でもルールを設定しておくことにより、万が一クライアント側のフィルタールールで漏れてきてしまったデータであっても確実にDropすることが可能になります(いわゆる多重防御の観点)。

ログのDropは画面からも設定可能
このDrop filterはログも対象にすることができます。また、ログのDrop設定については、New RelicのLogs画面からも行うことができます。ログのフィルター条件を設定して一度Query logs
をクリックし、対象のログを表示させた状態からCreate drop filter
を選択することで、このログを取り込み対象外にすることができます。
ただし、この画面からだとログ検索の条件指定方法でルールを作成する必要があります。

ログの検索方法はLuceneベースになります。詳細はドキュメントを参照してください。
NRQLを使ってログのDrop filterを作成する
そこでNerdgraphを使ってルールを登録します。Nerdgraphでルール作成する際は、NRQLでの指定ができますので、普段から使い慣れた条件指定方法でルールを作成することができます。なお、Nerdgraphを実行するにはNerdgraph Explorerが便利です。

ここにクエリを入力して実行を行うだけで、Nerdgraph経由でルールを作成することができます。Nerdgraphを使ってルールを作成するクエリの詳細はこちらに記載されていますが、以下のサンプルを参考にしてみてください。直感的に理解できる内容かと思います。
ここでポイントになるのはnrql
とsource
の部分です。画面から設定する際はLuceneベースでの条件指定方法しかできませんでしたが、ここではNRQLを設定することができます。また、このルールがログ用のルールであることを定義するためにsource: "Logging"
を設定する必要があります。
画面上でルールを確認する
Nerdgraphでのルール登録に成功すると、New Relic LogsのDrop filtersから登録したルールを確認することができます。あとは実際にこのルールに該当するログをテスト転送してみて、ちゃんとデータがDropされていることを確認しましょう。

まとめ
ログのDrop filterは画面からも設定できる反面、Luceneベースの検索条件でルールを指定しなければならないため、慣れないこともあるかと思います。その際はNerdgraphを使ってルールを作成し、使い慣れたNRQLでルールを定義してみてはいかがでしょうか?
이 블로그에 표현된 견해는 저자의 견해이며 반드시 New Relic의 견해를 반영하는 것은 아닙니다. 저자가 제공하는 모든 솔루션은 환경에 따라 다르며 New Relic에서 제공하는 상용 솔루션이나 지원의 일부가 아닙니다. 이 블로그 게시물과 관련된 질문 및 지원이 필요한 경우 Explorers Hub(discuss.newrelic.com)에서만 참여하십시오. 이 블로그에는 타사 사이트의 콘텐츠에 대한 링크가 포함될 수 있습니다. 이러한 링크를 제공함으로써 New Relic은 해당 사이트에서 사용할 수 있는 정보, 보기 또는 제품을 채택, 보증, 승인 또는 보증하지 않습니다.