1
1

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.

NewRelicのSynthetic Monitorを利用した外形監視を実装する

Last updated at Posted at 2023-02-03

この記事について

NewRelicのSynthetic Monitorを利用すれば、WEBシステムへの外形監視を簡単に実装することが可能です。
https://docs.newrelic.com/jp/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/

この記事では実際にSynthetic Monitorを利用してWEBサイトへの外形監視を行い、異常が発生した際にSlackに通知できるように実装します。

構成

今回外形監視の対象としてテスト対象サイトである「HOTEL PLANISPHERE」を利用します。
https://hotel.testplanisphere.dev/ja/

image.png

外形監視はHTTPリクエストを送ってレスポンスコードが200であれば正常と判断するシンプルなものとします。(NewRelic SyntheticではPing Monitorと呼ばれています)

実装

Synthetics Monitorの作成

NewRelicのウェブUIから「Synthetic Monitor」 => 「Create Monitor」を選択します。

image.png

image.png

Monitorの種類を指定します。ここで「Availability Ping」を選択します。
image.png

監視対象のURLなどを設定します。(ここではAdvanced optionsは設定しません)
image.png

外形監視の送信元ロケーションを指定します。
今回はあくまでテストなので、Tokyoのみとします。実際は3ロケーション以上指定することが推奨されています。

image.png

Success rateが100%になっており、Checks failedがカウントされていないため、正常に外形監視ができていそうです。
image.png

Condtionの作成

Synthetic Monitorを作成したため、外形監視自体は行えるようになりました。
次にこの外形監視を利用して、閾値を設けて、通知を行えるようにConditionを作成します。

「Alerts & AI」から「Alert condtions (Policies)」を選択します。
image.png

「New alert policy」をクリックする
image.png

任意の名前を入力して、「One issue per incident」を選択してから、「Set up notifications」を選択します。
image.png

「Slack」を選択します。
image.png

destinationは「Create new destination」を選択します。
image.png

「Authenticate in one click」を選択します。
image.png

Slackの認証サイトへリダイレクトされるため、「許可する」をクリックします。(利用しているSlackの環境によってこの辺の挙動は変わるので、ご注意ください)
image.png

認証に成功するとワークスペースが登録されるので、destinationに登録されたワークスペースを追加します。そして通知を飛ばしたいチャンネルを選択します。
image.png

「Send test notification」を選択して、Slackにテスト通知を行います。
「Test notification sent successfully」と表示されたら成功です。
image.png

Slackにて通知されているか確認しましょう。
image.png

「Activate workflow」を選択します。
image.png

「Create a conditon」を選択します。
image.png

「Synthetics」 -> 「Single failure」を選択します。
image.png

作成したSynthetic Monitorを選択します。
image.png

Condtion名を入力して、「Create condition」を選択します。
image.png

Condtionが作成されたことを確認します。
image.png

動作確認

HOTELPLANISPHERE(https://hotel.testplanisphere.dev)を停止することはできないので、Synthetic Monitorの設定を一時的に変更して、疑似的な障害を発生させます。

Synthetic Monitorから「Settings」 -> 「General」を選択します。
image.png

URLにダミーのパスを追加して、外形監視が失敗するようにします。
image.png

外形監視が失敗していることを確認します。
image.png

数分待って、Condtionを確認すると「open incident」と表示されています。
image.png

「open incident」を選択すると、インシデントの詳細を確認することが可能です。
image.png

Slackに通知がきていることを確認します。
image.png

最後に

外形監視の実装手順は以上になります。
簡単に実装できることを理解いただけたかと思います。

今回はPing Monitorというステータスコードが200であることを成功判断とする、最も簡単なSynthetic Monitorで実装を行いました。他にも複雑な外形監視を実装する機能がありますので、以下の記事も併せてご確認ください。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?