目次
- 今回やりたいこと
- URL監視とはなにか
- 基本的なURL監視の設定方法
1. 今回やりたいこと
1-1. URL監視とはなにか
※本題からは少し逸れますが、筆者自身も含めNew Relic初心者の方向けに説明します。なお、今回はAWS環境を監視する前提で説明・設定を進めます
New RelicのURL監視とは、外形監視(Synthetic Monitoring)の一種で、主に死活監視(Webサイトが問題なく稼働しているか)を監視するものです
※外形監視とはネットワーク外部からシステムを監視する手法です
参考:外形監視とは?内部監視との違いや、安定運用のための方法を紹介
やっていることとしては、New Relicから対象のURLにpingをして、ステータス200が返ってくるか来ないかで監視をしています
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の設定は慣れていないと分かりにくくなりがち、かつインターネット上に情報がない!ということも多いので、この記事が皆様の参考になれば幸いです
以上です