New Relic의 인프라 에이전트 는 호스트 통합을 생성하기 위한 SDK를 제공합니다. 이 문서에서는 통합 로그 생성을 위한 요구 사항 및 모범 사례를 설명합니다.
로깅 요구 사항
생성할 로그 메시지의 종류와 문제 디버깅에 유용한 정보의 종류를 결정하는 것은 사용자의 몫입니다. 단 하나의 요구 사항이 있습니다. 통합 실행 파일은 표준 오류(stderr)에 로그를 기록해야 합니다.
인프라 에이전트는 표준 오류에 기록된 라인을 캡처하여 인프라 에이전트 자체가 작성한 로깅 스트림 에 병합합니다.
타사 로깅 솔루션에 의존하지 않도록 Go 통합 구축 라이브러리는 공통 로그 수준의 간단한 로그 패키지 를 제공합니다.
권장 사항 및 모범 사례
통합 로그 생성을 위한 권장 사례는 다음과 같습니다.
- 기본적으로 통합은 "자동"이어야 합니다. 표준 출력으로 내보낸 데이터를 제외하고는 생성된 로깅 또는 진단 메시지가 거의 없어야 합니다.
- 인프라 에이전트의
verbose
설정과 유사한 자세한 로깅 모드를 포함하는 것이 좋습니다. 자세한 로깅을 활성화 및 비활성화하는 명령줄 스위치를 포함합니다(예:-verbose
). - 통합이 실행되는 동안 통합을 디버그하려면 실행할 명령줄의 일부로 정의 파일에 verbose 스위치를 포함하십시오. 이렇게 하면 자세한 로그가 인프라 에이전트의 자체 로그 파일로 전송됩니다.
- 일반적인 디버깅 목적을 위해 표준 출력 JSON 데이터를 사람이 읽을 수 있는 "예쁜 인쇄" 형식(예:
--pretty
)으로 작성하는 플래그를 사용합니다. "예쁜 인쇄" 형식으로 작성된 출력은 디버깅 목적으로만 사용되며 인프라 에이전트와 호환되지 않습니다. - 자체적으로 실행할 수 있도록 통합을 생성해야 합니다. 통합이 에이전트와 통신하는지 확실하지 않은 경우 명령줄에서 통합을 실행하고 예상한 올바른 출력 또는 로그 메시지를 생성하는지 확인할 수 있습니다.
Go 언어 로깅 패키지에 대한 정보는 로깅 패키지 를 참조하십시오.