シンセティック・モニタリングは、様々な認証メカニズムをサポートしています。選択したモニターの種類に応じて、Basic、Digest、NTLM、NTLMv2が含まれます。
モニタータイプ別の対応認証
様々な のモニタータイプ のサポートは、お客様のサイト構成によって異なります。
ヒント
NTLM と NTLMv2 については、合成モニタリングでは Linux 環境で Chrome ブラウザを使用しているため、設定がこのクライアントサイドの環境に対応している必要がある。また、URIエンコードされたクレデンシャルを許可する必要がある。
認証情報の提供
モニターは、 http(s)://username:password@site.com
のように、要求されたURLに認証資格をエンコードして提供します。これを行うには、 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 を提供していることを示している。
WWW-Authenticate: NTLM
スクリプトによるAPIモニター
新しいAPIテストモニターを作成し、エンドポイントにアクセスできる場所に割り当てます。URLを置換し、以下のスクリプトを検証します。このスクリプトは、すべてのレスポンス・ヘッダーをスクリプト・ログに出力します。
$http.get('https://www.newrelic.com',{ followRedirect: false},// Callbackfunction (err, response, body) { console.log(response.headers); });
WWW-Authenticate レスポンスヘッダに NTLM が含まれていることを確認する。
リダイレクト
NTLM認証の失敗は、 $browser.get
の呼び出しでリダイレクトが発生することが原因である可能性があります。モニター結果のタイムライン表示で、リクエストのレスポンスコードを確認してください。リクエストがリダイレクトされている場合、最初の $browser.get
の呼び出しで、代わりにリダイレクト先の場所をURLとして使用する必要があるかもしれません。