• 로그인지금 시작하기

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

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

문제 신고

PHP: 컨텍스트에서 로그 구성

PHP APM 에이전트를 사용하면 컨텍스트에서 로그를 가져올 수 있으므로 다른 New Relic 데이터 컨텍스트에서 앱 로그를 볼 수 있습니다. 이 기능에 대한 일반 정보 는 컨텍스트의 APM 로그를 참조하십시오.

컨텍스트 옵션의 자동 로그

지원되는 프레임워크를 사용하는 경우 앱의 로그 및 링크 메타데이터를 New Relic에 자동으로 보내도록 APM 에이전트를 구성할 수 있습니다. 컨텍스트에서 자동 로그에 대해 지원되는 프레임워크는 다음과 같습니다.

  • 모노로그(버전 2 또는 3)

이것은 가장 간단한 접근 방식이며, 로그 전달자 설정에 대한 액세스 권한이나 관심이 없는 개발자 또는 앱 컨텍스트에서 로그 및 기타 연결 메타데이터의 힘을 확인하려는 계정에 탁월한 선택입니다. 많은 오버 헤드.

이 옵션을 사용하면 로그에 span.id , trace.id , hostname , entity.guidentity.name 가 포함됩니다. 이러한 속성은 로그를 스팬, 추적 및 기타 원격 분석에 자동으로 연결하므로 문제를 더 쉽게 해결할 수 있습니다.

중요

에이전트 릴리스 10.3.0부터 로깅 메트릭 및 에이전트 로그 전달 기능이 기본적으로 활성화됩니다.

로그 전달 기능이 있는 에이전트 버전( PHP 에이전트 10.1.0 이상 )을 설치하고 전달을 활성화하도록 구성을 업데이트하기만 하면 됩니다(에이전트 릴리스 10.3.0 이상에서는 전달이 기본적으로 활성화됨).

구성 파일( newrelic.ini ):

newrelic.application_logging.enabled = true
newrelic.application_logging.metrics.enabled = true
newrelic.application_logging.forwarding.enabled = true

PHP 에이전트 구성 문서는 에이전트를 구성하는 방법을 자세히 설명하지만 여기에서는 PHP 로그 구성의 가장 중요한 측면 중 일부를 검토하고 링크합니다.

핵심 로깅 기능이 활성 상태인지 여부를 제어하는 단일 옵션이 있습니다.

[newrelic.application_logging.enabled](/docs/apm/agents/php-agent/configuration/php-agent-configuration/#cfg-application_logging_forwarding-enabled)

지원되는 로깅 프레임워크를 사용하는 경우 에이전트는 애플리케이션에서 생성하는 로그 메시지의 심각도 수를 측정하는 메트릭을 보낼 수 있습니다. newrelic.config.application_logging.metrics.enabled 구성을 사용하여 이 기능을 활성화할 수 있습니다.

지원되는 로깅 프레임워크를 사용 중이고 에이전트를 사용하여 애플리케이션 로그를 New Relic으로 보내려는 경우 newrelic.config.application_logging.forwarding 접두사가 붙은 INI 설정 설정을 통해 이를 제어할 수 있습니다. 사용 가능한 옵션은 다음과 같습니다.

중요

기존 로그 전달 솔루션이 있고 컨텍스트에서 자동 로그를 사용하도록 에이전트를 업데이트하는 경우 수동 로그 전달기를 비활성화해야 합니다 . 그렇지 않으면 앱에서 두 배의 로그 데이터를 전송합니다. 계정에 따라 이중 청구가 발생할 수 있습니다. 자세한 내용 은 특정 로그 전달자를 비활성화하는 방법을 알아보세요 .

While you wait for your data to come in...

Did this doc help you install?

데이터 보호

로그에는 HIPAA 또는 기타 규정 준수 프로토콜로 보호되는 민감한 정보가 포함될 수 있습니다. 기본적으로 신용 카드 또는 사회 보장 번호와 같은 항목에 대해 표시되는 번호 패턴을 난독화하지만 추가 정보를 해시하거나 마스킹해야 할 수도 있습니다.

자세한 내용은 난독화 표현식 및 규칙 에 대한 설명서를 참조하세요. New Relic UI를 사용하거나 GraphQL API인 NerdGraph를 사용하여 로그 데이터를 해시하거나 마스킹할 수 있습니다.

데이터 탐색

로깅 데이터를 최대한 활용하려면:

문제 해결 팁

일반적으로 컨텍스트에서 APM 로그를 활성화한 후 1분 이내에 로그가 나타나기 시작합니다. 앱의 분류 > 로그 섹션을 확인하십시오. 또한 오류와 관련된 로그 패턴 이 표시되기 시작합니다.

오류 또는 추적에 대한 로그가 표시되지 않으면 앱에 대한 로그가 없을 수 있습니다. UI 페이지를 새로고침하거나 선택한 기간 을 변경하세요.

자동 로깅 비활성화

컨텍스트의 APM 로그는 활성화된 경우 APM 에이전트 로그 데이터를 자동으로 전달합니다. 에이전트 릴리스 10.3.0부터 이 기능은 PHP 에이전트에 대해 기본적으로 활성화되어 있습니다. 이는 보안, 규정 준수, 청구 또는 시스템 성능에 부정적인 영향을 미칠 수 있습니다. 자세한 내용을 확인하거나 기본 설정을 조정해야 하는 경우 절차에 따라 자동 로깅을 비활성화 합니다.

컨텍스트 옵션의 수동 로그인

언어 에이전트가 로그를 전달하고 장식할 수 있기 전에는 수동 솔루션을 사용하여 연결 메타데이터를 보낼 수 있었습니다.

이 옵션은 계속 지원되지만 더 이상 권장되지 않습니다. 또한 이 방법을 사용하려면 컨텍스트에서 로그를 활성화하기 전에 로그 전달자를 설치해야 합니다. 로그 전달자가 없는 경우 New Relic UI는 인프라 에이전트 를 사용하라는 메시지를 표시합니다.

기존 로그 전달 솔루션을 사용하기로 결정하고 나중에 컨텍스트에서 자동 로그를 사용하도록 에이전트를 업데이트하기로 결정한 경우 수동 로그 전달기를 비활성화해야 합니다 . 그렇지 않으면 앱에서 이중 로그 라인을 전송합니다. 계정에 따라 이중 청구가 발생할 수 있습니다. 자세한 내용은 절차에 따라 특정 로그 전달자 를 비활성화하십시오.

중요

이 옵션은 에이전트 내 전달과 함께 사용하면 안 됩니다. 에이전트 내 전달이 활성화된 상태에서 외부 로그 전달자 를 사용하여 New Relic에 로그를 전송하면 로그가 New Relic에 최대 두 번 전송됩니다. 계정에 따라 이중 청구가 발생할 수 있습니다.

에이전트의 구성을 업데이트하여 로그 전달을 비활성화한 다음 에이전트를 다시 시작하십시오.

구성 파일( newrelic.ini ):

newrelic.application_logging.forwarding.enabled = false

수동 프로세스를 사용하여 PHP 컨텍스트에서 로그를 설정해야 하는 경우 먼저 PHP 앱을 설정하세요.

  1. New Relic 에서 이미 로그인을 설정 했는지 확인하십시오. 여기에는 애플리케이션 로그를 수집하고 New Relic으로 전달되는 메타데이터를 확장하는 지원되는 로그 전달자 구성이 포함됩니다.
  2. 최신 PHP 에이전트 버전을 설치 하거나 업데이트 하고 분산 추적을 활성화합니다 . 컨텍스트의 로그에 PHP 에이전트 버전 9.13.0.270 이상 을 사용하십시오.
  3. Monolog 버전 1 또는 2를 설치하거나 내장된 Monolog Handler for New Relic을 사용하지 않는 경우 호환되는 로그 전달 플러그인 을 사용하십시오.
  4. Monolog 확장을 사용하는 경우 PHP용 컨텍스트에서 로그를 구성합니다.
  1. 로그 어펜더를 올바르게 구성했는지 확인하려면 애플리케이션을 실행한 다음 쿼리 연산자 has:span.id has:trace.id 를 사용하여 New Relic에서 로그 데이터 를 확인하십시오.

모든 것이 올바르게 구성되고 데이터가 강화된 메타데이터와 함께 New Relic으로 전달되는 경우 이제 로그가 JSON으로 내보내지고 trace.idspan.id 필드가 포함되어야 합니다. UI에 로그 데이터가 표시되지 않으면 문제 해결 절차 를 따르세요.

애플리케이션의 로그에 trace.idspan.id 같은 필드가 포함되어 있지 않으면 Monolog 로그 보강 프로그램 구성에 문제가 있을 수 있습니다. 이러한 상황에서:

  • 앱용 PHP 에이전트가 설치되었고 분산 추적을 사용하도록 구성되었는지 확인하십시오.
  • 애플리케이션이 로그 레코드를 보낼 때 syslog() 이 아니라 Monolog 로거 개체를 사용하고 있는지 확인하십시오.
  • 다른 Monolog 핸들러가 로그 레코드가 버블링 되는 것을 막고 있지 않은지 확인하십시오.
Copyright © 2022 New Relic Inc.

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