ユーザー属性の収集 (Java)

New Relic APM の Javaエージェント を使っている場合、設定ファイルを編集することで、Insights 内のユーザー情報を自動的に収集できるようになります。つまり、カスタム属性を追加することなく、ユーザー情報に対して NRQL クエリを実行できるのです。Java 以外の APM エージェントの場合は、カスタム属性を手動で追加する必要があります。

互換性と要件

この機能は、New Relic の Java エージェント 3.10.0 以降で利用できます。

Java のユーザー属性は、ハイセキュリティー・モードとは互換性がありません。

Collect user attributes

Java エージェント 3.10.0 以上を使っている場合に、ユーザー属性も収集する手順は以下の通りです。

  1. newrelic.yml を開きます。通常、newrelic.jar と同じディレクトリにあります。
  2. class_transformer 節にある com.newrelic.instrumentation.servlet-userenabledtrue にします。

    class_transformer:
    # This instrumentation reports the name of the user principal returned from 
    # HttpServletRequest.getUserPrincipal() when servlets and filters are invoked.
    com.newrelic.instrumentation.servlet-user:
      enabled: true
  3. ウェブサーバーを再起動します。

数分で、新しい user 属性に対して問い合わせできます。例として、全ユーザーのユニークな数を取得するクエリは以下の通りです。

SELECT uniqueCount(user) FROM Transaction SINCE 1 day ago