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

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

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

문제 신고

처리된 오류를 New Relic에 보내기

자체 코드에서 처리 중인 오류 데이터를 뉴렐릭으로 보내려면 오류 핸들러 내에서 Ruby 에이전트 API NewRelic::Agent.notice_error 호출을 사용하세요.

뉴렐릭에 알림 Ruby

이 API 호출은 예외와 선택적 옵션 해시를 사용합니다. 다음 형식을 사용하십시오.

NewRelic::Agent.notice_error(exception, options = { })Object

이 함수는 주어진 오류를 기록하고 오류의 구성 기반 무시 및 정의된 경우 전역 #ignore_error_filter 메서드를 포함하여 일반 오류 필터링 프로세스를 통해 전달합니다.

exception 은(는) 기록할 예외 또는 오류 메시지입니다. 필요한 경우 options = { } 을 포함할 수도 있습니다. 다음 매개변수는 특별 처리되며 귀하가 제공하는 기타 매개변수는 사용자 정의 매개변수로 처리됩니다.

options = { }

Comments

:expected

오류 추적만 기록합니다 . 이것은 오류율이나 Apdex 상태에 영향을 미치지 않습니다. UI의 예상 오류에 대한 정보는 예상 오류 보기 를 참조하십시오.

Ruby 에이전트 버전 4.3.x 에서 더 이상 사용되지 않는 :trace_only 옵션을 대체합니다.

:custom_params

사용자 정의 매개변수.

:uri

요청 경로에서 요청 매개변수 또는 쿼리 문자열을 뺀 값입니다.

일반적으로 필요하지 않습니다. 트랜잭션 외부에서 notice_error 를 호출하는 경우에만 이를 포함합니다.

:metric

트랜잭션과 연결된 메트릭 이름입니다.

일반적으로 필요하지 않습니다. 트랜잭션 외부에서 notice_error 를 호출하는 경우에만 이를 포함합니다.

:request_params (더 이상 사용되지 않음)

이전 Ruby 에이전트 버전에서는 :request_params 옵션 전달이 허용되었지만 지금은 무시됩니다. 요청을 기록해야 하는 경우, 프로세서 내부에서 이 메서드를 호출하거나 :custom_params 에 정보를 전달하세요.

오류 핑거프린팅: 발견된 각 오류에 오류 그룹을 동적으로 적용합니다.

오류 발생이 잘못 그룹화되어 있습니까? 콜백 기능을 통해 나만의 에러 지문을 설정하세요.

Proc 기반 콜백을 에이전트에 제공하여 발견된 각 오류에 원하는 오류 그룹을 동적으로 적용할 수 있습니다. Ruby 에이전트 API NewRelic::Agent.set_error_group_callback 를 사용하여 에이전트에 콜백을 제공하십시오.

이 API 호출은 콜백 메서드( Proc유형이어야 함)를 유일한 인수로 사용합니다. 인수가 필요합니다. API 호출은 New Relic Ruby 에이전트 실행당 한 번만 수행하면 되므로 호출을 Rails 이니셜라이저 또는 유사 항목에 배치할 수 있습니다. API에 대한 후속 호출이 이루어지면 콜백 메서드가 제공된 최신 메서드로 업데이트됩니다. 다음은 콜백이 정의되고 NewRelic::Agent.set_error_group_callback API 메서드에 전달되는 예입니다.

proc = proc { |hash| "Access" if hash[:'http.statusCode'] == 401 }
NewRelic::Agent.set_error_group_callback(proc)

표시된 예에서 해시를 유일한 인수로 수락한 다음 해시에 값이 401인 HTTP 상태 코드 키가 포함된 경우 원하는 오류 그룹 이름에 대해 문자열 "Access"를 반환하는 콜백 proc이 생성됩니다.

콜백 proc은 정확히 하나의 입력 인수인 해시를 받을 것으로 예상됩니다. 해시에는 다음이 포함됩니다.

Key

Value

:error

Ruby 오류 클래스 인스턴스. 제안 #class, #message#backtrace

:customAttributes

현재 거래에 대한 모든 사용자 정의 속성

:'request.uri'

사용 가능한 경우 현재 요청 세트 URI

:'http.statusCode'

사용 가능한 경우 HTTP 상태 코드(200, 404 등)

:'http.method'

사용 가능한 경우 HTTP 메서드(GET, PUT 등)

:'error.expected'

오류가 예상되었는지(true) 또는 아닌지(false) 여부

:'options'

전달된 옵션 해시 NewRelic::Agent.notice_error

콜백 절차는 원하는 오류 그룹 이름을 결정할 수 있는 경우 이를 나타내는 문자열을 반환할 것으로 예상됩니다. proc이 nil 또는 빈 문자열('')을 반환하면 오류가 서버 측 그룹화 논리를 수신합니다.

사용자 추적: 각 칩셋 및 오류에 사용자 ID 연결

이제 오류 그룹의 영향을 받는 사용자 수를 볼 수 있습니다.

트랜잭션 및 오류는 New Relic Ruby 에이전트에 알려진 경우 사용자 ID와 연관될 수 있습니다. Ruby 에이전트 API NewRelic::Agent.set_user_id 를 사용하여 에이전트에 사용자 ID를 제공하십시오.

이 API 호출에는 최종 사용자의 고유 식별자를 나타내는 문자열의 단일 인수가 필요합니다. 이 문자열은 UUID, 데이터베이스 ID 또는 이와 유사한 것일 수 있습니다. 트랜잭션과 연결할 사용자 ID를 New Relic Ruby 에이전트에 알리기 위해 트랜잭션당 최소 한 번 API 호출을 수행해야 합니다. 그런 다음 에이전트가 트랜잭션 수명 동안 오류를 발견하면 오류에는 사용자 ID 값을 보유하는 enduser.id 에이전트 속성이 포함됩니다.

API는 새 사용자 ID가 범위에 들어올 때마다 호출되도록 되어 있으므로 이상적으로는 사용자 세션 생성을 인식하는 미들웨어를 통해 호출됩니다. New Relic Ruby 에이전트가 사용자 ID를 알게 되면 현재 트랜잭션과 현재 트랜잭션 수명 동안 발견된 모든 오류에 대해 enduser.id 에이전트 속성을 제공합니다.

버전 추적: 메타데이터를 사용하여 오류가 발생한 버전 확인

에러스 인박스(errors inbox)는 오류를 생성하는 소프트웨어 버전을 자동으로 추적합니다. 모든 버전 데이터는 CodeStream 에도 표시됩니다.

오류가 발생하는 소프트웨어 버전을 식별하는 데 도움이 되도록 다음 환경 변수 중 하나를 설정하십시오.

  • NEW_RELIC_METADATA_SERVICE_VERSION 구현하다, 배포하다라는 코드 버전을 포함하는 오류 이벤트 데이터에 tags.service.version 속성을 추가합니다. 종종 1.2.3 과 같은 의미론적 버전이지만 항상 그런 것은 아닙니다.
  • NEW_RELIC_METADATA_RELEASE_TAG 릴리스 태그(예: v0.1.209 또는 release-209)가 포함된 이벤트 데이터에 tags.releaseTag 속성을 추가합니다.
  • NEW_RELIC_METADATA_COMMIT 커밋 샤를 포함하는 이벤트 데이터에 tags.commit 속성을 추가합니다. 전체 샤를 사용하거나 처음 7자만 사용할 수 있습니다(예: 734713b).
Copyright © 2024 New Relic Inc.

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