• 로그인

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

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

문제 신고

인프라 에이전트 로깅 동작

New Relic의 인프라 에이전트는 자체 데이터와 통합 로그를 수집하여 단일 소스에 통합합니다. 기본적으로 로그는 standard-output 에 나타나며 로그 파일 에 추가됩니다. 표준 출력에서 로그를 비활성화하려면 에이전트의 구성 옵션을 참조하십시오 .

로깅 심각도 수준

인프라는 표준 Syslog 심각도 수준 의 하위 집합을 사용합니다.

  • ERROR: 오류 조건 충족
  • WARN: 경고 조건 충족
  • INFO: 정보 메시지
  • DEBUG: 디버그 수준 메시지 포함(문제 해결 시 유용)

중요

DEBUG 레벨은 상세 모드 가 활성화된 경우에만 표시됩니다.

로그 포맷

인프라 에이전트 v1.4.9 이상의 경우 로그 메시지는 컨텍스트 값으로 인라인됩니다. 이것은 더 나은 그룹화 및 필터링을 제공합니다. 예를 들어:

containerized agent found in container
     containerID: VALUE

기본적으로 인프라 로그는 텍스트 형식으로 지정됩니다.

  • 전경 모드에서 로그 출력은 타임스탬프 없이 색상이 지정됩니다.

    DEBUG Sending deltas divided in blocks component=PatchSender mentityKey=ohaimaci mnumberOfBlocks=1
  • 백그라운드 모드에서 로그는 타임스탬프가 찍힌 출력으로, 서비스로 실행하거나 로그를 파일에 덤프할 때 사용됩니다.

    time="2019-07-12T09:54:15+02:00" level=info msg="Agent service manager shutdown completed successfully." component=AgentService service=newrelic-infra

또는 로그를 JSON 파일로 형식화할 수 있습니다.

{"context":{},"level":"info","msg":"upstart_interval_sec: 0","timestamp":"2019-07-11T18:24:03+02:00"} 
{"context":{},"level":"info","msg":"plugin_dir: ","timestamp":"2019-07-11T18:24:03+02:00"}

로그 형식을 변경하려면 에이전트 구성 설정 을 참조하십시오.

로그 회전

인프라 에이전트는 기본 로그 회전 또는 압축 메커니즘을 제공하지 않습니다. 대신, 일반적으로 대부분의 Linux 배포판에 기본적으로 설치되는 Linux logrotate 도구 와 같은 통합 로그 회전 도구를 사용하는 것이 좋습니다.

Logrotate /etc/logrotate.conf 의 항목으로 구성하거나 /etc/logrotate.d 디렉토리의 파일로 구성할 수 있습니다.

logrotate 은 일반적으로 cron 작업으로 자동 실행되므로 cron에 다음과 유사한 logrotate 항목(예: /etc/cron.daily/logrotate )이 있는지 확인합니다.

#!/bin/sh
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

스마트 자세한 정보 표시 모드

인프라 에이전트 버전 1.9.0 이상의 경우 로그에 대해 스마트 상세 정보 표시 모드를 활성화할 수 있습니다.

스마트 상세 정보 표시 모드는 오류 메시지가 감지될 때까지 디버그 메시지가 기록되는 것을 방지합니다. 오류가 감지되면 오류가 발생하기 전에 디버그 메시지가 로그 파일에 기록됩니다. 가장 최근에 구성된 디버그 메시지 수만 기록됩니다. 예를 들어, 구성된 제한이 10인 경우 오류가 감지되면 오류가 감지되기 전의 가장 최근 디버그 메시지 10개가 기록됩니다.

스마트 상세 정보 표시 모드 및 디버그 메시지 제한을 활성화하는 방법에 대한 자세한 내용은 인프라 구성 설정 을 참조하십시오.

인프라 에이전트 v1.4.9 이전에 로깅

다음은 v1.4.9 이전과 이후의 인프라 에이전트 버전에 대한 기능 비교입니다.

에이전트 v1.4.9 이상

v1.4.9 이전

전경 모드가 기록되었습니다.

에이전트가 완전히 구성될 때까지 로깅 서비스가 데이터를 쓸 수 없었기 때문에 에이전트가 포그라운드 모드에서 일부 항목을 로깅할 수 없습니다.

텍스트 및 JSON 형식으로 로그인합니다.

텍스트로만 로그인합니다.

인라인 텍스트로 표시되는 로그.

컨텍스트가 제거된 단일 행에 정적 리터럴로 표시되는 로그입니다.

통합 로그 관리

통합은 JSON 페이로드를 STDOUT에 기록하고 일반 텍스트(향후에는 JSON 구조화)를 STDERR에 기록합니다.

인프라 에이전트는 통합 STDERR 라인을 처리하고 이 출력을 에이전트 하나(일반적으로 서비스 로그)로 전달합니다.

에이전트는 다음과 같이 각 STDERR 라인을 처리합니다.

  • 에이전트가 상세 모드에서 실행될 때 : 'msg' 필드 내에 통합 라인 컨텍스트를 배치하는 DEBUG 에이전트 로그 항목으로 전체 STDERR 라인을 전달합니다.
  • 그렇지 않으면 예상 형식(아래 참조)에 대해 줄을 구문 분석하고 에이전트 ERROR 수준으로만 기록합니다. 항목은 '치명적' 또는 '오류' 심각도 수준과의 통합으로 생성됩니다. 이 경우 필드는 구조화된 방식으로 추출되고 전달됩니다(따라서 에이전트 필드에 대해 JSON 출력이 활성화된 경우 쿼리 가능하게 됩니다.

통합 STDERR 예상 형식

줄은 동일한 문자로 구분된 키-값 쌍의 목록이어야 합니다. 키는 모든 문자를 포함할 수 있지만 값은 세 가지 형식을 가질 수 있습니다.

  1. string: <quote>이스케이프된 따옴표를 포함한 모든 문자 \"<quote>
  2. 지도: &{모든 문자}
  3. 단어: 공백을 제외한 모든 문자

내부적으로 에이전트는 이 정규식을 사용하여 필드를 추출했습니다.

([^\s]*?)=(".*?[^\\]"|&{.*?}|[^\s]*)

예를 들어 이 줄은 다음과 같습니다.

time="2015-03-26T01:27:38-04:00" level=error msg="Foo bar baz" foo=bar

다음 필드가 있는 구조화된 상담원 로그 줄을 생성합니다.

- "time": "2015-03-26T01:27:38-04:00"
- "level": "error"
- "msg": "Foo bar baz"
- "foo": "bar"
Copyright © 2022 New Relic Inc.

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