O monitoramento sintético oferece suporte a uma variedade de mecanismos de autenticação. Dependendo do tipo de monitor escolhido, isso inclui Basic, Digest, NTLM e NTLMv2.
Autenticação suportada por tipo de monitor
O suporte para vários tiposmonitor pode depender da configuração do seu site.
Dica
Para NTLM e NTLMv2, o monitoramento sintético usa um browser Chrome em um ambiente Linux, portanto, sua configuração deve ser compatível com esse ambiente do lado do cliente. Também deve permitir credenciais codificadas por URI.
Forneça credenciais de autenticação
Monitor fornecem credenciais de autenticação codificando-as no URL solicitado, como http(s)://username:password@site.com
. Para fazer isso, use a função JavaScript encodeURIComponent('string')
em seu script. Por exemplo:
var username = encodeURIComponent("username");var password = encodeURIComponent("password");var url = "https://" + username + ":" + password + "@site.com";
Para codificar valores para um ping ou monitor de browser simples, siga estas instruções.
A URL completa http(s)://username:password@site.com
será registrada como texto simples nos dados de verificação do Sintético correspondente. O URL ficará visível ao visualizar os resultados deste monitor.
Exemplos de código
Aqui estão exemplos de código para alguns tipos monitor :
Browser com script
$browser.get("https://username:password@site.com").then(function () { $browser.takeScreenshot();});
$browser.get("https://username@domain.com:password@site.com").then(function () { $browser.takeScreenshot();});
Teste de API
$http.get("https://username:password@site.com", function (err, resp, body) { console.log(err, resp, body);});
Solucionar problemas de autenticação NTLM
Você pode verificar se o New Relic será capaz de autenticar adequadamente em seu endpoint NTLM usando curl ou com um monitor de API com script. Você deve usar um host ou local com acesso ao seu endpoint.
curl
Para fazer isso, execute o seguinte comando, com a URL substituída pelo endpoint que você deseja testar:
$curl -v --ntlm http://example.com
Na saída desse comando, você verá o seguinte cabeçalho response
informando que o servidor está oferecendo NTLM sobre HTTP como um mecanismo de autenticação válido:
WWW-Authenticate: NTLM
Monitorde API com script
Crie um novo monitor de teste de API e atribua-o a um local com acesso ao seu endpoint. Substitua a URL e valide o script a seguir, que imprimirá todos os cabeçalhos de resposta no log do script:
$http.get("https://www.newrelic.com", { followRedirect: false, }, // Callback function (err, response, body) { console.log(response.headers); });
Confirme se o cabeçalho de resposta WWW-Authenticate inclui NTLM.
Redirecionamentos
As falhas de autenticação NTLM podem ser causadas por chamadas $browser.get
que resultam em um redirecionamento. Verifique o código de resposta da sua solicitação na visualização Linha do tempo nos resultados do monitor. Se a solicitação estiver sendo redirecionada, talvez seja necessário usar o local de redirecionamento como URL na chamada $browser.get
inicial.