本記事は New Relic Advent Calendar 2022 2日目のエントリーです
New Relicを使った運用を長く続けていると、過去のデータを振り返りたくなる事はありませんか?
実は事前にちょっとした手間をかけておかないと、 時既に遅し な事があるんです。
今回はそんな時に泣かないで済むようなTipsをご紹介します。
EventをMetricに変換し保存期間を13ヶ月に延長する
New Relicには、俗に MELT1 と呼ばれる4種類のテレメトリーデータタイプが存在しており、それぞれの保存期間はデータ特性に合わせる形で異なっています。
性能分析やトラブルシューティングでよく参照するAPMやBrowser等のデータは、詳細な情報を記録するために用いられる Event2 として記録されるため、データ保存期間は基本的に短め3に設定されています。
このEventを、Metricに変換し集計データとして保存しなおすことで、長期的な傾向分析に用いられるデータとして参照できるようにします。
EventをMetricに変換するには、2つの方法があります。
- E2M(Events to Metrics)を使ってNRQL経由で設定する方法
- Metric Aggregatorを使ってGUI経由で設定する方法
今回はこの2つの方法のうち、より簡単な Metric Aggregator を使った変換方法をご紹介します。
Metric Aggregator is 何?
Metric Aggregatorは、E2Mのルール作成を支援する New Relic One アプリケーション(Apps)です。
AppsからMetric Aggregatorを有効化し、集計Ruleを定義することで誰でも簡単にEventをMetric変換することが可能となります。
手順は以下の2点です。
1.Metric Aggregatorを有効化する
Apps > Go to New Relic I/O > Metric Aggregator をクリックします。
Add This app をクリックします。
有効化するアカウントIDのチェックボックスを選択し、Update n Accountsをクリックします。
Appsの画面に戻りMetric Aggregatorをクリックします。
Enableをクリックします。
これで有効化は完了です。
※Appsは管理者が全ユーザに対して一括で有効化するものではなく、ユーザ自身が設定する必要があります(無料なので気にせずやってしまいましょう
2.Metric AggregatorにRuleを追加する
Metric AggregatorにMetric変換ルールを追加する手順です。
まず Create Ruleをクリックします。
Rule作成画面が表示されるので、条件を入力していきます。
- Define your rule : ルールを定義します。
- Select an account
- プルダウンから対象のNew Relicアカウントを選択します。
- Select an event to base your metric off of
- Metric変換対象のEvent2を選択します。
- Select your query function : どの関数で集計するかを選択します。
- Summary (min、max、sum、count、または averageの場合)
- Distribution (percentile または histogram)
- Unique Count (count)
- Select the attribute for your metric
- どの値をMetricにするかを選択します。
- Narrow the scope
- 値の範囲を指定します(NRQLのWHERE句相当)。
- Select additional attributes to facet on the metric
- グルーピング(FACET)する条件を選択します。
- Select an account
- Name and describe your new rule :新しいルールに名前をつけます。
- Metric name : 新しいmetricに名前をつけます(特にこだわりがなければ
Use suggested name
をクリック)。 - Rule alias : Ruleにエイリアスをつけます(特にこだわりがなければ
Use suggested name
をクリック)。 - Rule description : このRuleの説明文を入力します。
- Metric name : 新しいmetricに名前をつけます(特にこだわりがなければ
- Create Rule
- 入力項目はないので内容が問題なければ
Create Rule
をクリックします。
- 入力項目はないので内容が問題なければ
Metric Aggregatorの画面に先程追加したルールが表示されていれば成功です
簡単ですね!
確認
追加したルールIDをクリックすると、右側にExample queryが表示されます。
これをQuery builderに貼り付けてみましょう
出ましたね!
以下はサンプルです。
こんな感じで、長期的にデータを振り返ることができるようになりました!
番外編:Metric AggregatorのRule削除/更新
現状、Metric AggregatorのUI上で一度作ったRuleは、STATUSのON/OFFは可能ですが、更新や削除はできない仕様となっています。
なので、同一のMetricで設定内容を変更したい場合、NerdGraph API explorerという機能を使いGraphQLのクエリを叩いて既存ルールを削除し、新規Ruleとして再度追加する必要があります。
公式ドキュメントに削除用のサンプルクエリがありますので参考にして削除を実施しましょう。
まとめ
いかがでしたでしょうか?
例えば1週間等の短いスパンで定期的にデータを確認していると、
- 緩やかなパフォーマンスの劣化
- 週の切れ目のタイミングでデプロイされた処理の影響
のような事象に気付けないことがあります。
そんな時に備え、重要な指標をいつでも長期的な分析が可能な状態にしておいて、
たまに長いスパンでデータをみる習慣を付けておくと、今まで気づけなかった変化に対応できることがあるかもしれません。
ちなみに、APM系の主要データはNew Relic側でMetric化してくれているので、その他のEventから長期的に残したい値がないか一度ご確認いただくのをおすすめします(CoreWebVitals系とか?)
以上、ちょっとしたTipsですがこの記事が少しでも皆様のお役に立てば幸いです。
ちょっとだけ宣伝
New Relicユーザー主体で勉強会等のイベントを不定期で開催している
NRUG(New Relic User Group):通称ぬるぐ というユーザーグループの存在をご存知でしょうか?
気になる方は是非、上記connpassやNRUG Slackへご登録いただき、最新情報をチェックしていただければと思います!
直近の予定はこんな感じです
12/14(水) NRUG Vol.5 Day1 1周年だよ!全員集合!! https://nrug.connpass.com/event/265357/
12/15(木) NRUG Vol.5 Day2 交流会 https://nrug.connpass.com/event/266747/
?/? NRUG SRE支部 Vol.3 来年春頃までにはやりたいw
それでは皆様、New Relicを使い倒してより良いo11yライフをお過ごしください
参考
日本語字幕で見るのがオススメ
-
MELT=Metric/Event/Log/Traceの頭文字をとった略称。詳細はNew Relicのドキュメントをご確認ください→New Relicデータタイプ:メトリクス、イベント、ログ、トレース(MELT) ↩
-
Eventの詳細はNew Relicのドキュメントをご確認ください→Default events reported by New Relic products ↩ ↩2
-
データ保管期間は契約内容によって異なります。実際の保持期間は
Administration > Data management > Data retention
から確認可能です。 ↩