新しいことを学ぶ時って大変だよね。New Relicを学ぶための問題を作ってみた。やってみて!!

:::note info
最新のアップデートの詳細はこちら
[New Relic アップデート(2025年4月)](https://newrelic.com/jp/blog/nerdlog/new-relic-update-202504 "New Relic アップデート(2025年4月)")
[New Relic アップデート一覧](https://newrelic.com/jp/blog/nerdlog/new-relic-update  "New Relic アップデート一覧")
:::

# はじめに
学生時代の友人と久々に飲みに行こうということに。色々な話に花が咲き、彼は非常に多くのキャリアを積んで、国家資格の問題も作成していることも1つの話題に。元々天才肌の人だったから、そんなことをしていても驚くことではなかったのだけど、そんな彼でも受験者の理解度を正しく評価する問題を作るのはすごく難しいと言っていた。彼から難しいという言葉を聞いたのは、その時が初めて。
自分は今まで理解度を測る側ではなく、(残念ながら)測られる側ばかりだったので、彼の難しいと悩む気持ちを十分には理解できていないのだが。。。受験者の視点からすると、良問を多くことなすことって自分の理解度を深くする大事なプロセスだよねということは理解できている。


# 先に結論みたいなこと
#### そうだ。 ~~京都へいこう~~ 良問をつくろう!! ####
問題を解くという一連の流れで大事なんじゃないかなと思っているのは、自分で試行錯誤すること。最初は時間が掛かっていても、数をこなす内に、前までかかっていた時間がどんどん短縮されて、気づくと簡単に苦戦していた問題もできるように。
ITの実業務で鬼神のごとくトラブルシューティングをする大先輩は、過去に死屍累々の大炎上プロジェクトをこなしたからとか。『いやいや、すげー先輩で尊敬しているけど、それ、再現性がまったくないっす。自分はどちらかというと、屍になっちゃう側なんですが・・・(涙)』
大炎上プロジェクトがやってくるのを待っている訳にもいかず、屍にもなりたくないので、現実的な仮想問題を考えて実際にやってみる(みんなにもやってもらう)のがいいんじゃないか！で、屍化を少しでも回避できれば、いいことづくめじゃないか!!

# さっそく問題!!
### こんな時どうする？ ###
:::note warn
外部に公開しているWebページが不定期に応答スピードが落ちるので、いつもより応答スピードが劣化したら手元のSLACKチャンネルにお知らせがほしいぞ!!
:::
## 用意してほしいもの ##
:::note info
無料のアカウントで試してみよう！
[New Relic フリープランで始めるオブザーバビリティ！](https://qiita.com/ktst79/items/5ee74b34e6adb8a7a6fa)
:::
### New Relicの環境 ###
- もし持っていない場合は、上記のQiita記事を参考にFreeの環境を取得しよう。
- 業務で既にNew Relicを使っているなら、その時に使っている業務用のメールアドレス以外のものでFreeの環境を取得しよう。
### 応答スピードの劣化をお知らせするSLACKのチャンネル ###
- もしSLACKの用意が難しいなら、メール通知で試しても問題なし!!

# 回答例
## おおよその流れ ##
### 1. Website Performance monitoring設定 ###
- 外部公開しているWebページに対して定期的に応答スピードを計測する設定をする
    ここで利用するNew Relicの機能は[Synthetic monitoring](https://qiita.com/K5K/items/4d8f773fc71dfd2a635c)([公式ドキュメント](https://docs.newrelic.com/jp/docs/synthetics/synthetic-monitoring/using-monitors/intro-synthetic-monitoring/))という外形監視機能だけど、New Relicになれていない人は、最初は[Website Performance monitoring](https://qiita.com/T_OMORI/items/34d5f68b6c8e387f8974)を使うと必要な設定は一括でできるのでおすすめ!!
### 2. Alert＆通知設定 ###
- 計測データを使って、いつもより明らかに劣化した場合のアラート通知設定を行う
    <strong>Website Performance monitoring</strong>で設定を行うとアラート通知の設定に関連する設定も作成されるからおすすめ!!
    でも、応答スピードに関する設定は作られないから、Alertsメニューにある機能を用いて通知設定を行うステップを記載しているので、是非後続の記事もみてね。
    設定はAlert Policies → Alert Conditions → Workflows(Destinationsも含む)の順で進めることで、一連の流れで設定を完了できるよ([公式ドキュメント](https://docs.newrelic.com/jp/docs/new-relic-solutions/build-nr-ui/contribute-nr-io/create-alerts/))

## 具体的な流れ ##
まずは[New Relicのポータル](https://one.newrelic.com)にアクセス
<img width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/324572b9-255d-4437-9027-d0da0742dce9.png"></img>


### 1. Website Performance monitoringの設定手順 ###
詳細な手順は、先にも挙げた[Qiita記事](https://qiita.com/T_OMORI/items/34d5f68b6c8e387f8974)がとても丁寧にまとめられているので記載に従ってやってみてね。
補足事項としては...
 - メニュー上に<strong>Website Performance Monitoring</strong>がない場合には、メニューのいちばん最後に並んである[<strong>...</strong>]を選択し、メニュー一覧から<strong>Website Performance Monitoring</strong>を選択してね。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/509e77ab-feb8-4613-9744-c47d6baf8588.png"></img>

### 2. アラートの設定手順 ###
#### 2-1. Policy設定 ####
最初にアラートの<strong>Policy</strong>から作成するよ。
メニューからAlerts → Alert Policies → New alert policyの順で進んでね。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/7b49d050-337b-45dd-8a6e-660b1a85b082.png">
具体的なPolicy作成手順は[公式ドキュメント](https://docs.newrelic.com/jp/docs/alerts/organize-alerts/create-edit-or-find-alert-policy/#alert-policy-name)の<strong>アラートポリシーの作成</strong>の章をみてもらうとわかるよ(細かなパラメータの意味が今は気になるかもしれないけど、まずはデフォルトの値のままでOK)
最後は、Create & closeボタンを押してPolicyの作成は完了
<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/a9d0503e-6314-4087-8d36-875c7fdc819b.png" >

#### 2-2. Condition設定 ####
次に<strong>Condition</strong>の作成だよ。
Alert Policiesの上にAlert Conditionsというメニューがあるから、そこを選んで、New alert conditionに進んでね。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/9e5f4e1b-78e5-40b1-9f4e-c7d9a4569905.png" >
<strong>=ここがポイント!!=</strong> New alert conditionボタンをクリックすると右側からUIがスライドして表示されるから、<strong>Use guided mode</strong>のタイルを選択してね(より詳細なアラート設定をしたい場合には、<strong>Write your own query</strong>の方を選ぶ必要があるけど、まずは<strong>Use guided mode</strong>で試してみて)
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/ae3449a1-6d8e-4517-8dd3-3f647ac74ca6.png">

次に環境に合わせて幾つかの選択肢がでてくるけど、Synthetics → Synthetic monitorsと選択して、Nextボタンに進んでね。
進むと、さっき設定したWebsite Performance monitoringが表示されるので、<strong>simple-browser-monitor</strong>を含んでいる項目にチェックを入れて進んでね。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/f7827aff-d9a5-4c01-8482-dea972f2f068.png">
(上記は、Website Performance monitoringでnewrelic.comを対象とした例での表示だよ)
チェックを入れると、下に新しい選択肢が表示されるから<strong>Median duration (s)</strong>というタイルを選択するよ
取得したデータをプロットしたチャートが表示されるから、Nextボタンで次に進むよ

次に進むとアラートの細かな設定項目(閾値とか)が表示されるので、そのままでNextに進むよ
<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/964063bb-4ec0-4d8e-97ce-0bca50d49a28.png">
補足情報としては、設問の『<strong>いつもより応答スピードが劣化したら</strong>』を実現するには、閾値の条件が<strong>Anomaly</strong>となっているのが大事なので、注意してね。
<img width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/37c940a6-a2d9-4bd3-8c7d-cb65a0fab89d.png">
設定する項目多いから今回のQiita記事では説明を割愛しちゃうけど、興味がある人はNew Relicが提供している無料の[オンライントレーニング](https://newrelic.com/jp/learn)を受講すると、実践的な情報を得ることができるよ(特にNRU300番台や400番台がおすすめ)

Condition設定の最後に、管理しやすい名前を設定するのと、さっき作成したPolicyをプルダウンメニューから選択して、Save conditionに進んで、次に現れるCloseで完了だよ
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/710f60f4-4b50-46ff-a211-27f651ad450a.png">

#### 2-3. Workflow設定 ####
次に<strong>Workflow</strong>の設定だよ
Alert PoliciesやAlert Conditionsと同じように<strong>Workflows</strong>があるから、そこを選んでAdd a workflowに進んでね。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/0675f5f1-4fca-4436-b324-2b07f2e05fb8.png">
Workflowの設定UIが表示されるから、管理しやすいWorkflow名を設定して、Filter dataのPolicyのプルダウンメニューから作成したPolicyにチェックを入れるよ

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/f7f5fad7-7f03-41bd-a951-73aa8eff0fff.png">
そして、Slackタイルを選択するよ(Slackを利用していない場合は、Emailタイルからメール通知先を設定して試してみて)
もし初めての登録の場合は、SlackのWorkspaceの登録が必要で、その際にはSlackの認証が必要になるよ(メールの場合には、メールアドレスの登録が必要だよ)

設定UI上でテスト通知を行うことができるので、過去のデータを元にサンプルの通知を行うということも試せるので、通知がちゃんと届くかの確認はわすれないでね

最後の最後に<strong>Activate workflow</strong>のボタンを押して設定を保存するのを忘れずに
<img width="65%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534647/525cc693-c2e8-4d52-b1fc-9b38547b0625.png">


あとは...あっては欲しくないけど、実際に応答スピードが遅くなって通知が飛んでくることを待つのみ

# さいごに...
New Relicを使ってやりたいことを実現するのに幾つかの方法があるので、すごく便利だけど、それが理由でどうすればいいのかに悩んじゃうんじゃないかな？
今後は、具体的なやりたいことに対して、こんなやり方もあるよという紹介も兼ねて、QA形式でQiita記事をかいていくので、新しいQiita記事も楽しみにしててね。


:::note info
[New Relic株式会社のQiita Organization](https://qiita.com/organizations/newrelic)では、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。
:::

[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535230/66d6a010-e4fe-4004-a09b-c01eaad5a614.png)](https://newrelic.com/jp/contact-sales)