俺的New Relicアウトプットまとめ 2023

本記事は [New Relic Advent Calendar 2023](https://qiita.com/advent-calendar/2023/newrelic) 3日目のエントリーです:christmas_tree::santa::gift:

私が2023年に行ったNew Relicに関連するアウトプットは
LT3本 + 技術書1冊
でした。

本記事では、それらの内容を再度ざっくりと紹介させていただこうと思います！
まずはLT3本の振り返りからいってみましょう!

## New Relic Lookoutはいいぞ！
1本目は 2023/03/15 に開催された[NRUG (New Relic User Group) Vol.6 New Relic LT大会！](https://nrug.connpass.com/event/273885/) で発表させていただいた内容です。

みなさんNew RelicのLookoutというビューの存在をご存知でしょうか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38574/4df4136f-7092-fb44-4566-443890a05669.png)
こういうやつです。

初見では何だこれ？ となりますよね。

簡単に言うとこのビューはNRQLで取得した値に

- 種別：円の数（FACET）
- 影響/スループット：大きさ（COUNT）
- 変化：色（VALUE）

のような意味を持たせて、視覚的に表現しています。

おすすめの使い所は次の２つです。

#### １．デジタル資産全体をざっくりと可視化したいとき

![New_Relic_Lookoutはいいぞ！_-_Speaker_Deck.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38574/b7b63116-4599-be75-b10d-949936685276.png)


#### 2．値の増減をぱっと見で判断したいとき

![New_Relic_Lookoutはいいぞ！_-_Speaker_Deck.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38574/9dfc035b-c513-c3ab-f968-90fcd40aeddc.png)

そんなときに役立つビューといえます！

※逆に正確な情報を知りたいときにはListビュー等で確認しましょう。

詳細が気になる方は次のスライドをご確認ください。

https://speakerdeck.com/kazumax55/new-relic-lookouthaiizo

## LOWYAビジネスダッシュボード：DevとBizの共通認識が切り拓く未来
2本目は、 2023/09/13 に開催された [FutureStack Tokyo 2023](https://www.event-info.com/futurestack_tokyo/) テクニカルシアターで発表させていただいた内容です。

**SLOが開発チーム独自の関心事と認識されてしまう**
という課題にお困りの方はいませんか？

たとえば極端な例ですが、ビジネスサイドに可用性のSLOについて合意を得るときに

うちのサービスでは何％を目標にしますか？
100％の可用性は実現不可能です
可用性99.5%なら年間43.8時間、月間3.65時間
可用性99.9%なら年間8.76時間、月間43.8分
までのサービス停止を許容するという事です！さあ選んで！

など急に言われても判断材料が少なすぎて決断できませんよね:sweat_smile:

また、同じ停止時間でも、平日深夜早朝と週末ゴールデンタイムなどのように発生した時間帯によってビジネスに与える機会損失も大きく異なるので、サービス停止時間だけで判断しろと言われても困ってしまうわけです。

![Cursor_と_LOWYAビジネスダッシュボード：DevとBizの共通認識が切り拓く未来_key.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38574/7d9cf95b-8d3a-8eb1-d9e9-2d69fdc3a39d.png)

そんな課題に対処するため、私達はNew Relicを活用してSLOとビジネスKPIの関連性を示し、エンジニアと事業部門の共通理解を促進するためのビジネスダッシュボードを開発しました。

![Cursor_と_LOWYAビジネスダッシュボード：DevとBizの共通認識が切り拓く未来_key.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38574/d820c3b7-ef4e-3d55-3eb4-a72e8d4a1346.png)

要するに、受注成立時にNew Relicにカスタムメトリクスとして売上などのデータを送り、システムのパフォーマンスと関連付けて確認できるようダッシュボードとして見やすくまとめたものですね。

私達はこのビジネスダッシュボードを用いて **システムの性能指標と売上の関係性を可視化** して、2つの有益な利点を得ることができました。

#### 1. SLOの同意や精度向上に役立てる
サービスの停止時間やレスポンスタイムなどの指標は、そのままでは価値としてビジネスサイドにとって理解しにくいものでした。ですが、具体的な機会損失を可視化してお金に換算することで、ビジネスサイドの理解を得る動きの促進に繋げられました。

#### 2. 性能向上/劣化が与える実際のビジネスインパクトを可視化する
性能の変化がもたらす収益増加や機会損失が実際に可視化されることで、性能向上や負債返済に開発リソースを割くべきかどうかという課題に対して、具体的な根拠を持った経営判断が可能になりました。

私達はこのビジネスダッシュボードを皮切りにして、事業運営に携わる全てのチームにシステムの性能やSLOに関心を持ってもらうための取り組みを推進し始めました。

そんなわけで皆さんも、
**ビジネスダッシュボードでDevとBizの共通理解を深め、明るい未来を切り開いて行きましょう！**

詳細が気になる方は次のスライドをご確認ください。

https://speakerdeck.com/kazumax55/lowyahisinesutatusiyuhoto-devtobiznogong-tong-ren-shi-kaqie-rituo-kuwei-lai

## カンタン実践！New Relic SLMを使ったCUJ観点でのSLI/SLO設定
最後の3本目は[FutureStack Tokyo 2023](https://www.event-info.com/futurestack_tokyo/)内で開催された [NRUG 2周年特別版](https://nrug.connpass.com/event/290339/)の中で、NRUG SRE支部運営セッションとして発表させていただいたものです。

内容は、SLI/SLO, CUJそれぞれの超ざっくりとした概要を解説した後、New Relic SLMを使ったCUJ観点でのSLI/SLO設定を実践形式で紹介したものとなっています。

まずSLI/SLO, CUJって何？という方は先に次のスライドをご確認ください。

https://speakerdeck.com/kazumax55/sloshe-ding

↑の解説は超ざっくりしたものになっているので、詳細はSLO本を読むとよいでしょう。

https://www.oreilly.co.jp/books/9784814400348/

肝心のSLMを使った設定の実践部分はスライド内に埋め込んだ動画で紹介していた為、Speaker Deckのスライドを読んだだけではわからないかと思いますのでちょっと補足します。

SLMを利用したSLI/SLOの設定については、次のスライドがとてもわかり易いです。

https://speakerdeck.com/newrelic2023/what-is-service-level-management?slide=24

SLI計測の基となる、APMやBrowser、Syntheticsなどが事前に設定済みであれば、次の画像のように
いくつかの項目を選ぶだけで驚くほど簡単にSLOが設定できてしまいます。

![サービスレベル管理とは？〜計測すべき指標と活用について_What_is_Service_Level_Management_-_Speaker_Deck.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38574/cc3234c3-b474-31fa-2cbb-db345488fa5e.png)

ただし、SLMのデフォルト設定には2つの改善点があります。

![カンタン実践！New_Relic_SLMを使ったCUJ観点でのSLI_SLO設定_-_Speaker_Deck.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38574/dda78ff9-014b-b58f-bdc2-c99c28b2a356.png)

これは、CUJの観点を取り入れることで解決可能です。

設定方法としては、SLMから設定済みのSLOを編集し、NRQLで特定のCUJに絞り込む条件を加えればOKです。

次のNRQLは、SLMからAPMのLatencyを対象にして作ったデフォルト設定のSLOを、編集画面からクリップボードにコピーしたものです。

```sql:例：Query for good responsesのNRQL
SELECT count(*) as 'Good'
FROM Transaction
WHERE
    entityGuid = '******' AND
    transactionType = 'Web' AND
    duration < 1.09
TIMESERIES 2 HOUR
SINCE 15 DAYS AGO
```

このNRQLは **Transaction全体が計測対象になってしまっている点** と、 **自動計算された値がちょっと厳しめ** という問題があるので、まずはNew RelicのData explorerやQuery builderでEntity(この場合はTransaction)の中⾝を確認して、CUJの動作に関連する条件を調べます。

次に、WHERE句に **特定のCUJに絞り込む条件** と、自動計算された値を **CUJの観点でユーザーが許容可能なサービスレベルとして考えた値** に修正します。

仮に `CUJ=カテゴリ検索のレイテンシーが3秒以内` という条件で見直したNRQLの例がこちらになります。

```sql:例：CUJの観点を取り入れたQuery for good responses
SELECT count(*) as 'Good'
FROM Transaction
WHERE
    entityGuid = '******' AND
    transactionType = 'Web' AND
    query_field IN ('category', 'categories') AND
    duration < 3
TIMESERIES 2 HOUR
SINCE 15 DAYS AGO
```
`query_field` の条件を新たに追加し、 `durationの値を1.09から3` に変更しています。

こうすることで、SLOをCUJ（そのシステムが守るべきクリティカルなユーザー体験）に焦点を当てた条件に更新できました。

とても簡単ですね！

New Relic SLMを使ったCUJ観点でのSLI/SLO設定に関するもっと詳しい具体例や、アラート設定、定期的な見直し方法等は、次に紹介する書籍の中でも詳細に触れていますので、ご興味ある方はぜひ手にとって見ていただければと思います。

#### :books:最後に書籍:books: 

## 俺たちのSREとNew Relic -書籍編-

2023/05/21に[技術書典14](https://techbookfest.org/event/tbf14) にて、私達 NRUG SRE支部運営メンバーが執筆した書籍を発売させていただきました！

本書籍は、NRUG SRE支部の運営メンバーが日々SREのプラクティスを実践する中で、現場の課題に対処するためのNew Relicの有効な活用法や解決策について、現場の視点で納得感のある解説となるように努め執筆した内容となっています。

### 著者の声
##### 我らが北浦 支部長

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">第2章から第5章までを担当しました。<br>現場の課題という目線からNew Relicを使ってどう上手に解決していくか、なるだけ読者の方に知見を転用いただけるように努めました！<br>ご興味ある方は是非、技術書典現地にも遊びに来てください🙌 <a href="https://t.co/X89TdBjuwK">https://t.co/X89TdBjuwK</a></p>&mdash; Tomoya Kitaura (@kitta0108) <a href="https://twitter.com/kitta0108/status/1656240037493903361?ref_src=twsrc%5Etfw">May 10, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

##### 俺たちのインフルエンサー Tocyuki氏

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/%E6%8A%80%E8%A1%93%E6%9B%B8%E5%85%B814?src=hash&amp;ref_src=twsrc%5Etfw">#技術書典14</a> にてNRUG SRE支部を一緒に運営している <a href="https://twitter.com/kitta0108?ref_src=twsrc%5Etfw">@kitta0108</a> と <a href="https://twitter.com/kazumax55?ref_src=twsrc%5Etfw">@kazumax55</a> と「俺たちのSREとNew Relic -書籍編-」という本を出版することになりました！自分は「第6章 Observability as Code」を担当しています！5/21(日)池袋サンシャインシティ 展示ホールDの技術書典14 き 13ブースで僕と握手！ <a href="https://t.co/M5uEBQEOGR">pic.twitter.com/M5uEBQEOGR</a></p>&mdash; 𝕋𝕠𝕔𝕪𝕦𝕜𝕚 𝕏 (@Tocyuki) <a href="https://twitter.com/Tocyuki/status/1656224789709856768?ref_src=twsrc%5Etfw">May 10, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

##### そしてワイ

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">私は「第1章 SLI/SLO」を担当しました！New Relicを活用したすぐに役立つ運用ノウハウが詰まった一冊となっていますので、ご興味ある方はぜひ手に取ってみてください！ 5/21(日) <a href="https://twitter.com/hashtag/%E6%8A%80%E8%A1%93%E6%9B%B8%E5%85%B814?src=hash&amp;ref_src=twsrc%5Etfw">#技術書典14</a> き 13 ブースでもお待ちしています！ <a href="https://t.co/8iMqvqQoSG">https://t.co/8iMqvqQoSG</a></p>&mdash; kazumax (@kazumax55) <a href="https://twitter.com/kazumax55/status/1656822697056407552?ref_src=twsrc%5Etfw">May 12, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

##### 読者様の嬉しいお言葉

著者一同とてもとても励みになりました:sob:

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ちょっと待ってくれ…この本に僕がやらないといけない事が全部書かれてる…<br>裏死海文書じゃん <a href="https://t.co/cLshY18L89">pic.twitter.com/cLshY18L89</a></p>&mdash; Masa (@maaaato) <a href="https://twitter.com/maaaato/status/1660274374606479361?ref_src=twsrc%5Etfw">May 21, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/%E6%8A%80%E8%A1%93%E6%9B%B8%E5%85%B814?src=hash&amp;ref_src=twsrc%5Etfw">#技術書典14</a><br><br>俺達のSREとNew Relic、読了<br><br>CUJ、初めて聞くワード<br><br>SLI/SLOに関する説明とそれらの決め方について実践的なことが書いてありとても参考になりました！<br><br>もう何周か繰り返し読んでおきたいくらいの内容なので毎日読む。<br><br>そして、どこかでアウトプット <a href="https://t.co/d8pKt3R7VN">pic.twitter.com/d8pKt3R7VN</a></p>&mdash; Kento.Yamada (@ymd65536) <a href="https://twitter.com/ymd65536/status/1660995621409660928?ref_src=twsrc%5Etfw">May 23, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">案件で使う機運が高いので読み直してます。この書籍、控えめに言って最高過ぎませんか？ <a href="https://t.co/irt2LcIAPC">pic.twitter.com/irt2LcIAPC</a></p>&mdash; Mitsuo (@Chanmitsu_sys) <a href="https://twitter.com/Chanmitsu_sys/status/1714445716758901214?ref_src=twsrc%5Etfw">October 18, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

以上、この書籍がこれからも多くの皆様のお役に立てたら嬉しい限りです！

##### PDF版はコチラからご購入いただけます♪
https://techbookfest.org/product/mH7sfRsGupWnvD8iECpAdz?productVariantID=br2EypiwcJGM0EvW2e4PKV

以上、私が2023年に行ったNew Relicに関連するアウトプットをまとめてみました。
どれか一つでもお役に立てるものがあれば幸いです。

### 最後にちょっとだけ宣伝
New Relicユーザー主体で勉強会等のイベントを不定期で開催している
**NRUG(New Relic User Group)：通称ぬるぐ** というユーザーグループの存在をご存知でしょうか？

https://nrug.connpass.com/

https://nrug-sre.connpass.com/

https://nrug-me.connpass.com/

気になる方は是非、上記connpassや[NRUG Slack](https://join.slack.com/t/nrug/shared_invite/zt-y0de03za-0vCEQdEoGjKXoOrdrHlRzA)へご登録いただき、最新情報をチェックしていただければと思います！

直近の予定は次のとおりです

**12/21(木) New Relic User Group Vol.8 New Relic本 出版記念アドカレLT大会**

https://nrug.connpass.com/event/301947/

**2024年1月某日 NRUG SRE支部 Vol.4**

それでは皆様、New Relicを使い倒してより良いo11yライフをお過ごしください:wave: