シンセティック・モニタリングは、様々な認証メカニズムをサポートしています。選択したモニターの種類に応じて、Basic、Digest、NTLM、NTLMv2が含まれます。
モニタータイプ別の対応認証
様々な のモニタータイプ のサポートは、お客様のサイト構成によって異なります。
ヒント
NTLM と NTLMv2 については、合成モニタリングでは Linux 環境で Chrome ブラウザを使用しているため、設定がこのクライアントサイドの環境に対応している必要がある。また、URIエンコードされたクレデンシャルを許可する必要がある。
認証情報の提供
モニターは、要求された URL ( http(s)://username:password@site.com
など) でエンコードすることにより、認証資格情報を提供します。これを行うには、スクリプトでencodeURIComponent('string')
JavaScript 関数を使用します。例えば:
var username = encodeURIComponent("username");var password = encodeURIComponent("password");var url = "https://" + username + ":" + password + "@site.com";
pingやシンプルなブラウザモニタの値をエンコードするには、 以下の手順に従ってください 。
完全な URL http(s)://username:password@site.com
は、対応する合成のチェック データにプレーン テキストとして記録されます。このモニターの結果を表示すると、URL が表示されます。
コード例
ここでは、いくつかのモニタータイプのコード例を紹介します。
スクリプト化ブラウザ
$browser.get("https://username:password@site.com").then(function () { $browser.takeScreenshot();});
$browser.get("https://username@domain.com:password@site.com").then(function () { $browser.takeScreenshot();});
APIテスト
$http.get("https://username:password@site.com", function (err, resp, body) { console.log(err, resp, body);});
NTLM認証に関する問題のトラブルシューティング
New Relic が NTLM エンドポイントに対して適切に認証できるかどうかは、 curl またはスクリプトによる API モニターで確認することができます。エンドポイントにアクセスできるホストまたはロケーションを使用する必要があります。
カール
これを行うには、以下のコマンドを実行します。URLはテストしたいエンドポイントに置き換えてください。
$curl -v --ntlm http://example.com
このコマンドの出力には、サーバーが有効な認証メカニズムとして NTLM over HTTP を提供していることを示す次のresponse
ヘッダーが表示されます。
WWW-Authenticate: NTLM
スクリプトによるAPIモニター
新しいAPIテストモニターを作成し、エンドポイントにアクセスできる場所に割り当てます。URLを置換し、以下のスクリプトを検証します。このスクリプトは、すべてのレスポンス・ヘッダーをスクリプト・ログに出力します。
$http.get("https://www.newrelic.com", { followRedirect: false, }, // Callback function (err, response, body) { console.log(response.headers); });
WWW-Authenticate レスポンスヘッダに NTLM が含まれていることを確認する。
リダイレクト
NTLM 認証の失敗は、リダイレクトにつながる$browser.get
呼び出しが原因である可能性があります。モニター結果のタイムライン ビューで、要求の応答コードを確認します。リクエストがリダイレクトされている場合は、代わりに最初の$browser.get
呼び出しでリダイレクト先を URL として使用する必要がある場合があります。