3
0

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 1 year has passed since last update.

New RelicのSyntheticsモニタリングをモニタリングしてみた

Last updated at Posted at 2023-02-28

概要


New Relicのモニタリング機能の1つであるSyntheticsモニタリングの動作をモニタリングしてみました。
Syntheticsに常にエラーを返すURLを監視させ、インシデント・イシューが作成される様子、イシューからNotificationが送信される様子を観察しています。

目的

  • 安定した監視を行い、最適なチューニングをするためモニタリング設定、アラート条件、それにより生成されるインシデント・イシュー、Notificationの様子自体を学び把握すること。
  • New Relic自体のSLAも100%ではありません。Statusページの情報以外に、きめ細かく実際の状況を把握・記録しておきたいという意図もあります。

システム構成


image.png

解説

  1. New Relicで、「必ずHTTPステータス500を返すURL」を1分間隔で監視し、1分に1回程度アラートを発生させる。アラートの通知にはworkflowsとdestinations方式を使用しています。
  2. アラート発生をトリガーにAWS Lambdaを実行し、Invocationメトリクスを監視する。この際、AWS Lambdaでアラートを強制的にResolveする(アラートの自動Resolveまで待機させない)
  3. Cloud Watch Alarmで7分間1度もInvocationがない場合は「監視異常」と判定し、Slackに通知。「監視異常」状態が解除されたタイミングで復旧を通知。※数値は適宜チューニングしてます

補足

  • AWS Lambda上でのアラート解除には、New Relicから提供されているNerdGraph APIを使用しています。

    • NerdGraph APIはNew RelicデータにNRQLクエリを実行できるGraphQL形式のAPI。REST APIも提供されているが、NerdGraph APIが推奨されており、REST APIは後々NerdGraph APIへ統合される予定だそうです。
    • NerdGraphエクスプローラーというAPIが実行できるGUIが提供されているので組み込む前にテストできて便利でした。
    • 今回使用したAPIはこちら 👉 aiIssuesResolveIssue
    • NRQLクエリの制限内でAPIを呼び出します。
      • アカウントごと、1分あたり3,000クエリが上限
  • アラートの解除をするにあたって、New Relic のアラート機能の概念、用語ついてはこちらを参照しました。

動作確認

今回設定したSyntheticsモニタリングの動作を手動でOFFにしてSlackに通知がくるか確認しました。

  1. Syntheticsモニタリングの設定画面より「Monitor enabled」のチェックを外す
    Screen Shot 2023-02-27 at 18.09.31.png

  2. 7分以上経過後、Slackに通知来ました。
    Screen Shot 2023-02-27 at 18.29.31.png

学んだこと

  • New Relic提供のAPIについての知識
  • CloudWatch Alarm周りの知識
  • New Relicのアラートポリシー、アラート、イシュー、インシデントの関係
  • NRQLの使い方

稼働させてみて


New Relicで 2/17 15:09 - 18:45 JST の間でworkflows経由のアラート通知の遅延が発生しました。
https://status.newrelic.com/

このタイミングで本システムを稼働させていたので、Slackに15:20に異常通知、18:49に復旧通知が来ており、障害発生〜復旧を検知することができていました。

Screen Shot 2023-02-27 at 18.59.46.png

さまざまな監視サービスを利用するにあたって、障害が起きた場合はいち早く検知することが必要になります。
今回はNew Relicで試してみましたが、他の監視サービスでも同じようなことをやってみたいです。

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?