目次

  1. 今回やりたいこと
  2. URL監視とはなにか
  3. 基本的なURL監視の設定方法

 

1. 今回やりたいこと

1-1. URL監視とはなにか

※本題からは少し逸れますが、筆者自身も含めNew Relic初心者の方向けに説明します。なお、今回はAWS環境を監視する前提で説明・設定を進めます

New RelicのURL監視とは、外形監視(Synthetic Monitoring)の一種で、主に死活監視(Webサイトが問題なく稼働しているか)を監視するものです
※外形監視とはネットワーク外部からシステムを監視する手法です
参考:外形監視とは?内部監視との違いや、安定運用のための方法を紹介

やっていることとしては、New Relicから対象のURLにpingをして、ステータス200が返ってくるか来ないかで監視をしています

参考:Syntheticsモニターのタイプ

1-2. 基本的なURL監視の設定方法

では、Basic認証付きのWebサイトに対する監視を設定する前に、通常のサイトに対してURL監視を設定する方法を見てみます

前提

URL監視をする際に、前提として監視したいWebサイトに対して、New Relicが使用するIPアドレスのアクセス許可を設定する必要があります
これがないとURL監視を設定してもpingが通らないため、403エラーを吐き続けてしまいます
どのIPアドレスを追加するかは、後述するモニター設定でどこのロケーション(地域)を利用するかによりますが、基本的に以下のリンクに記載されているIPアドレスのうち、”Tokyo, JP”のIPアドレスをアクセス許可すればよいです

https://s3.amazonaws.com/nr-synthetics-assets/nat-ip-dnsname/production/ip-ranges.json

このIPアドレスはSyntheticsモニター パブリックミニオンIP > EUおよび米国のアカウント > IP範囲リスト から確認できます

New Relicコンソール上の操作

Synthetic Monitoring > Monitors > Create monitorをクリックします

Availability Pingを選択します

Monitorの名前と、監視したいサイトのURLを入力します(テストなので他はいじらない)

モニターを実行するロケーションを選びます。今回は東京でモニターを実行するので、ロケーションはTokyo, JPを選びます

これでモニター作成は完了です
うまく設定できていればこのようにメトリクスが取れ、エラーがない状態(100% Success rate)になります

アクセス許可やモニター設定がうまく行かないと、画像のようにエラーが出るので、ステータスコード等を参考にしながら設定を見直しましょう

ここまでが基本のURL監視です

1-3. 今回やりたいこと

今回は、上記の基本設定に加えて、Basic認証が設定されたサイトも監視できるように設定をしていきます
というのも、そのようなサイトに対しては、セキュリティグループ等でNew RelicのIPアドレスからアクセスを許可していても、Basic認証の認証情報をNew Relic側に渡しておかないとサイトへのアクセスができないため、エラーが出てしまうためです

実際に設定してみる

方法その1

一つの方法としては、URL欄に下記を組み合わせたURLを設定する方法です

https://' + Basic認証ID + ':' + Basic認証password + '@監視対象URLドメイン

例えば、下記の情報でURL監視を設定するときは、
監視対象URL:https://www.hogehoge.com
Basic認証ID:admin
Basic認証PW:test-password

下記のURLを入力します

https://admin:test-password@www.hogehoge.com

参考:認証情報の提供

基本的にNew Relic=監視サービスは不特定多数の外部者に見せるものではないので、URLに書き込んでしまっても特に問題ないと思います
また、設定も簡単ですし、認証情報が変わったときに修正もしやすいです

とはいえ、認証情報をベタ書きしてしまうのはちょっと…という場面もあるかと思います
その場合、次の方法を使ってみてください

方法その2

もう一つの方法としては、Custom headersを使用する方法です
この項目はAdvanced settingsの折りたたみを展開すると出てきます

設定する項目としては

Name:Authorization
Value:Basic "Basic認証ID:Basic認証PW をbase64エンコードした文字列"

です(Basicのあとに半角スペースを忘れずに入れてください)

方法1. と同じ認証情報で設定してみるとこのようになります

セキュリティ的に万全というわけではないですが、URLにベタ書きしてしまうよりは(見栄え的にも)良いのではないでしょうか

参考:Scripted BrowserでBasic認証を必要とする場合のTips

まとめ

  • URLに直接認証情報を入れ込む
  • Custom headersにエンコードされた認証情報を設定する

上記2つの方法のどちらかを使えば、Basic認証が設定されているWebサイトに対してもURL監視を設定することが可能です

New Relicの設定は慣れていないと分かりにくくなりがち、かつインターネット上に情報がない!ということも多いので、この記事が皆様の参考になれば幸いです

以上です