1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

New RelicのApdexを利用アカウント単位で算出できるようにした

Last updated at Posted at 2020-09-24

はじめに

私が所属しているチームではNew Relic APMを利用しており、SLAレポートでユーザ満足度を測るようにしております。
ただし、各アカウントのサービス利用状況によってサービスの利用体験に差異がありそうなのは明白だったので、アカウント毎にApdexを算出できるようにしたいと考えておりました。

今回はNew Relic APMに対してカスタム属性としてアカウント情報を付与し、NRQLを用いてアカウント単位でApdexをダッシュボード化した話をお話します。

New Relic APMのカスタム属性

New Relicではカスタム属性を付与することで通常収集される情報に加え任意の情報を付与することが出来ます。

私達のチームではrailsを使用しております。今回は ApplicationControllerbefore_action でカスタム属性としてアカウントIDとユーザIDなどのアカウント情報を付与するようにしました。

こうすることで各リクエストに対してアカウント情報を付与した形でNew Relic APMに返すことが出来ました。

class ApplicationController < ActionController::Base

~~

  before_action :add_custom_attributes

~~

  def add_custom_attributes
    ::NewRelic::Agent.add_custom_attributes({
      user_id: current_user&.id,
      account_id: current_user&.account&.id,
    })
  end

~~

New Relic APMよりカスタム属性を確認

以下のようにNew Relic APMのトランザクション情報を見るとカスタム属性として追加したアカウント情報が付与されていることが確認できます。

スクリーンショット 2020-08-21 18.30.20.png

NRQLよりカスタム属性を確認

以下のようにNew Relic APMで取得した情報をNQRLで抽出し、そのなかにカスタム属性として追加したアカウント情報が付与されていることが確認できます。

スクリーンショット 2020-09-25 3.36.00.png

アカウント毎にApdexを算出

以下のようなNRQLを組むことでアカウント単位にApdexが表示されることを確認しました。

スクリーンショット 2020-09-25 3.35.23.png

New Relicのアラート通知にアカウント情報を付与

我々のチームではNew Relic APMから取れるメトリクスに対してSlackでアラート通知など行っております。
Slack通知に対してアカウント情報を付与することでどのアカウントに対してどういう影響があったのかをパット見ですぐわかるようにしております。

スクリーンショット 2020-09-25 3.59.06.png

まとめ

今回はNew Relic APMに対してアカウント情報を付与し、アカウントごとのApdexをNRQLで可視化するところを紹介しました。
我々のチームではNew RelicのAPI機能を使って外部データソースにデータ転送し、各アカウントごとの満足度などを可視化するダッシュボードの要素の1つとして利用しています。この話は機会があればまた今度。

短いですが、今回は以上となります。それでは!

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?