• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

종합 모니터링 모범 사례 가이드

종합 모니터링을 사용하면 최종 사용자에게 영향을 미치기 전에 앱을 모니터링 및 테스트하고 문제를 해결할 수 있습니다. 다음은 이 기능을 최대한 활용할 수 있는 5가지 팁입니다.

신세틱스 모니터를 선택하세요

합성 모니터는 웹 사이트의 성능을 측정하고 로드 시간, 가동 시간 및 평균 다운로드 크기에 대한 집계 수치를 캡처하는 가상 브라우저입니다. 또한 다운타임 사고 및 각 페이지 리소스에 대한 자세한 통계에 액세스할 수 있습니다.

모니터링하려는 대상과 수행 방법에 따라 선택할 수 있는 7가지 유형의 합성 모니터 가 있습니다. 예를 들어, 단계 모니터 는 코드를 작성하지 않고 기본적으로 스크립트 브라우저로 작동하는 것을 생성하는 좋은 방법입니다. 합성 모니터의 자동화된 관리를 찾고 있다면 NerdGraph API 를 사용하여 API 호출을 통해 합성 모니터를 생성, 업데이트 및 삭제할 수 있습니다.

합성 모니터 추가

  1. 모니터를 추가하려면 one.newrelic.com > All capabilities > Synthetic Monitoring 으로 이동하세요.

    EU 기반 계정이 있는 경우 one.eu.newrelic.com 로 이동하세요.

  2. Create monitor 을(를) 클릭합니다.

  3. 모니터 유형을 선택한 다음 모든 필수 필드를 채우십시오.

  4. 태그를 추가하거나 기간을 변경하거나 다른 런타임 버전 을 선택할 수 있습니다. ping 및 단순 브라우저 모니터의 경우 유효성 검사 문자열을 추가할 수 있습니다. 고급 옵션을 사용하여 다음 유형의 응답 유효성 검사에 대한 하위 문자열 모니터링을 활성화할 수 있습니다.

    • Verify SSL (for ping and simple browser).

      이 옵션은 SSL 인증서 체인의 유효성을 확인합니다. 다음 구문을 실행하여 복제할 수 있습니다.

    bash
    $
    openssl s_client -servername {YOUR_HOSTNAME} -connect {YOUR_HOSTNAME}:443 -CApath /etc/ssl/certs > /dev/null
  • Bypass HEAD request (for ping monitors).

    이 옵션은 기본 HEAD 요청을 건너뛰고 대신 ping 확인과 함께 GET 동사를 사용합니다. HEAD 요청이 실패하면 GET 요청이 항상 발생합니다.

  • Redirect is Failure (for ping).

    Redirect is Failure 가) 활성화되었을 때 리디렉션 결과가 발생하면 신세틱스 모니터는 리디렉션을 따르고 결과 URL을 확인하는 대신 이를 실패로 분류합니다.

  1. 모니터를 실행할 위치를 선택하십시오. 가양성을 피하기 위해 최소 3개의 위치를 선택하는 것이 좋습니다. 다시 말해, 적어도 하나의 위치가 성공적인 결과를 반환하면 끝점이 작동 중이어야 하고 경고 트리거를 피할 수 있습니다.

  2. 모니터 유형에 따라

    Save monitor

    ,

    Validate

    또는

    Write script

    중 하나가 됩니다.

  3. 요약 페이지 에서 받은 결과를 확인하세요.

신세틱스 모니터 요약 페이지 보기

요약 페이지에는 신세틱스 모니터 상태에 대한 정보가 표시됩니다. 공지를 촉발한 활성 인시던트가 생성된 경우 중요 알림 링크를 클릭하여 새 창을 엽니다.

애플리케이션 성능 개요를 확인하세요.

웹 서비스가 제대로 작동하고, 예상대로 작동하고, 오류가 없는지 확인하려면 애플리케이션 성능 결과에 지속적으로 액세스해야 합니다. 신규 모니터링은 선택한 각 위치에 대해 웹에서 자동화된 테스트를 수행하여 이러한 유형의 보증을 제공합니다. 귀하의 신세틱스 모니터는 다운타임을 기록하고 각 페이지 리소스에 대해 집계된 숫자, 결과 및 자세한 통계를 수집합니다.

실패한 모니터를 빠르게 식별하려면 신세틱스 모니터 페이지의 색인을 사용하여 인시던트가 열려 있는 모니터, 24시간 동안의 성공률, 실패한 위치 수, 모니터 기간 및 모니터 유형을 확인할 수 있습니다. 모니터를 클릭하면 특정 모니터가 실패한 위치, 실패한 이유(예: 마지막 오류 메시지, 오류 응답 코드, 도메인별 기간 등)를 평가할 수 있는 정보를 찾을 수 있는 요약 페이지 로 이동하게 됩니다. 더. 이 정보를 통해 귀하는 시간이 지남에 따라 귀하의 인사이트 성능에 대해 더욱 깊이 있게 이해하게 될 것입니다.

엔터티 목록에서 모니터 보기

개별 모니터 결과 보기

전 세계 다양한 지역에서 웹 앱에 액세스할 때 웹 앱의 성능을 볼 수 있습니다. 결과 페이지에는 개발부터 생산까지 모든 것이 사용자 경험에 어떤 영향을 미치는지 보여줍니다. 나열된 항목을 정렬하여 문제 영역이나 비정상적인 결과를 더 잘 식별할 수 있습니다. 위치별로 필터링하여 여러 위치의 모니터 성능을 비교해 보세요. 이것을하기 위해:

  1. one.newrelic.com > All capabilities > Synthetic Monitoring 으)로 이동합니다.

  2. Monitor 클릭한 다음 Results 클릭합니다.

    모니터링되는 각 위치에 대해 가장 느린 페이지 로드에 대한 최신 보기를 볼 수 있습니다.

각 리소스의 로드 시간 영향 이해

신세틱스 리소스 페이지에서 사이트의 다양한 구성 요소가 전체 로드에 어떤 영향을 미치는지 확인할 수 있습니다. 이러한 구성요소는 CSS, JavaScript, 이미지, HTML 등이 될 수 있습니다. 비상에서 수집된 세부 지표를 분석하고, 타사 리소스가 소비한 시간에 대한 성능 정보를 찾고, 각 리소스에 대한 HTTP 응답 코드를 식별할 수 있습니다. 이것을하기 위해:

  1. one.newrelic.com

    으로 이동한 다음

    Synthetic Monitoring

    클릭하세요.

  2. Monitors

    드롭다운 메뉴에서 모니터를 선택합니다.

  3. Monitor

    클릭한 다음

    Resources

    클릭합니다.

스크립트 브라우저 또는 스크립트 API 테스트 구성 및 개발

펼쳐져 있는 브라우저 모니터를 사용하면 셀레니엄 JavaScript 웹드라이버로 쉽게 감시 흐름을 구축할 수 있습니다. 예를 들어, 특정 페이지로 이동하여 페이지에서 요소를 찾고, 예상 텍스트가 있는지 확인하고, 스크린샷을 찍을 수 있습니다. 이렇게 하려면 다음을 수행합니다.

  1. one.newrelic.com > All capabilities > Synthetic Monitoring

    으)로 이동합니다.

  2. Create monitor

    버튼을 클릭하세요.

  3. Scripted browser

    모니터 유형을 선택합니다.

  4. 이름을 입력하고, 런타임을 선택하고, 모니터 기간을 선택하십시오.

  5. 모니터를 실행할 위치를 선택하세요. 예를 들어 뭄바이, 서울, 콜럼버스, 몬트리올 등이 있습니다.

  6. 이제 스크립트를 작성할 준비가 되었습니다. newrelic.com 의 성능을 테스트하고 특정 요소가 로드되었는지 확인하는 이 예제 스크립트를 참조하세요.

/**
* Script Name: Best Practices Example - Chrome 100+
* Author: New Relic
* Version: 1.0
* Purpose: A simple New Relic Synthetics scripted browser monitor to navigate to a page, find an element, and assert on expected text.
*/
// -------------------- DEPENDENCIES
const assert = require("assert")
// -------------------- CONFIGURATION
const PAGE_URL = "https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/scripting-monitors/synthetic-scripted-browser-reference-monitor-versions-chrome-100/"
const TEXT_TO_CHECK = "Synthetic scripted browser reference (Chrome 100 and higher)"
// Set timeouts for page load and element finding
await $webDriver.manage().setTimeouts({
pageLoad: 30000, // 30 seconds for page load timeout
implicit: 5000, // 5 seconds for element finding timeout
})
// -------------------- START OF SCRIPT
console.log("Starting simplified synthetics script")
// Navigate to the page
console.log("Navigating to: " + PAGE_URL)
await $webDriver.get(PAGE_URL)
// Find the element with the specified text
const By = $selenium.By
const textElement = By.className("css-v50zng")
console.log("Checking for presence of element with text: " + TEXT_TO_CHECK)
const element = await $webDriver.findElement(textElement)
const text = await element.getText()
// Assert the text is present
console.log("Found text: " + text)
assert.equal(text, TEXT_TO_CHECK, "Expected text not found on the page")
// Take a screenshot
console.log("Taking screenshot")
await $webDriver.takeScreenshot()
console.log("Script completed successfully")

스크립트형 API 모니터를 사용하면 Node.js와 got 모듈을 이용해 감시 흐름을 쉽게 구축할 수 있습니다. 예를 들어 API로 인증하고 응답 코드를 어설션할 수 있습니다.

  1. one.newrelic.com > All capabilities > Synthetic Monitoring

    으)로 이동합니다.

  2. Create monitor

    버튼을 클릭하세요.

  3. Scripted API

    모니터 유형을 선택합니다.

  4. 이름을 입력하고, 런타임을 선택하고, 모니터 기간을 선택하십시오.

  5. 모니터를 실행할 위치를 선택하세요. 예를 들어 뭄바이, 서울, 콜럼버스, 몬트리올 등이 있습니다.

  6. 이제 스크립트를 작성할 준비가 되었습니다. API를 요청하고 응답을 처리하는 이 예제 스크립트를 참조하세요.

/**
* Script Name: Best Practices Example - Node 16.10.0
* Author: New Relic
* Version: 1.0
* Purpose: A simple New Relic Synthetics scripted API monitor to make a GET request and assert on statusCode.
*/
const assert = require("assert")
// Get secure credentials
const applicationId = $secure.APP_ID
const apiKey = $secure.API_KEY
// The URL for the API endpoint to get information about a specific application
const URL = `https://api.newrelic.com/v2/applications/${applicationId}.json`
// Define headers, including the API key for authentication
const headers = {
"X-Api-Key": apiKey,
}
// Make a GET request
$http.get({ url: URL, headers: headers }, function (error, response, body) {
// If error handling is needed, check if an error occurred during the request
// if (error) {
// console.error("An error occurred:", error);
// Handle the error as needed, or rethrow to fail the monitor
// throw error;
// }
// Assert the response status code is 200
assert.equal(response.statusCode, 200, "Expected HTTP status code 200")
// Log the status code to the console
console.log("Request Status Code:", response.statusCode)
// If further processing of the response body is needed, it can be done here
// For example, parsing JSON response (if response is in JSON format)
// const jsonData =
// typeof body === "string"
// ? JSON.parse(body)
// : body
// Log the parsed JSON to the console
// console.log("Parsed JSON data:", jsonData)
// Check the application's health status
// const healthStatus = jsonData.application.health_status
// assert.equal(healthStatus, "green", "Expected the application's health status to be 'green'")
// If the assertion passes, the script will continue; otherwise, it will fail the monitor
})
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.