Fluentd에서 이미 로그 데이터를 모니터링하고 있는 경우 Fluentd 통합을 사용하여 뉴렐릭에서 로그 데이터를 전달하고 강화할 수 있습니다.
Fluentd 로그를 뉴렐릭으로 전달하면 로그 데이터를 수집, 처리, 탐색, 쿼리 및 알림하는 역량을 향상할 수 있습니다.
기본 프로세스
로그 관리 기능을 활성화하려면:
다음 사항이 있는지 확인합니다.
- 뉴렐릭
- Fluentd 1.0 이상
Fluentd 플러그인을 설치합니다.
Fluentd 플러그인을 구성합니다.
해당하는 경우 EU 엔드포인트를 구성합니다.
Fluentd 플러그인을 테스트합니다.
트래픽을 생성하고 몇 분 정도 기다린 다음, 계정에서 데이터를 확인합니다.
Fluentd 플러그인 설치
Fluentd 플러그인을 설치하려면:
Fluentd 플러그인 구성
팁
Fluentd를 처음 구성하는 경우 일반적인 사용 사례를 처리하는 사전 구축된 구성 파일 모음을 검토하는 것이 도움이 될 수 있습니다.
Fluentd 플러그인을 구성하려면:
fluent.conf
파일 또는td-agent.conf
에서 td-agent를 사용하는 경우, 다음 데이터 블록을 추가하고, 자리 표시자 텍스트를 로 대체합니다.#Tail one or more log files<source>@type tail<parse>@type none</parse>path /path/to/filetag example.service</source>#Add hostname and service_name to all events with "example.service" tag<filter example.service>@type record_transformer<record>service_name ${tag}hostname "#{Socket.gethostname}"</record></filter>#Forward all events to New Relic<match>@type newreliclicense_key YOUR_LICENSE_KEY</match>변경 사항이 적용되었는지 확인하려면 Fluentd 서비스를 다시 시작합니다.
이 문서가 설치하는데 도움이 되셨나요?
EU 계정용 Fluentd 플러그인 구성
기본적으로 Fluentd 플러그인은 미국의 엔드포인트 https://log-api.newrelic.com/log/v1
으로 로그를 전달합니다. 귀사의 뉴렐릭 조직이 EU 데이터 센터에 있는 경우 수동으로 base_uri
속성을 EU 엔드포인트로 설정해야 합니다. 예를 들어:
#Tail one or more log files<source> @type tail <parse> @type none </parse> path /path/to/file tag example.service</source>
#Add hostname and service_name to all events with "example.service" tag<filter example.service> @type record_transformer <record> service_name ${tag} hostname "#{Socket.gethostname}" </record></filter>
#Forward all events to New Relic EU Endpoint<match> @type newrelic license_key YOUR_LICENSE_KEY base_uri https://log-api.eu.newrelic.com/log/v1</match>
Fluentd 플러그인 테스트
Fluentd 플러그인이 로그 파일에서 입력을 수신하는지 테스트하려면 다음을 수행합니다.
다음 명령을 실행하여 테스트 로그 메시지를 로그 파일에 추가합니다.
bash$echo "test message" >> /PATH/TO/YOUR/LOG/FILEtest message
에 대한 로그 UI를 검색합니다.
로그 데이터 확인
모든 것이 올바르게 구성되고 데이터가 수집되는 경우 다음 두 위치에서 로그가 표시되어야 합니다.
SELECT * FROM Log
로그 관리 기능을 활성화한 후에도 데이터가 나타나지 않으면 표준 로그 문제 해결 절차를 따르십시오.
로그 Fluentd 버퍼 조정
기본적으로 플러그인은 5초마다 뉴렐릭에 로그를 보냅니다. 이 타이밍을 변경하려면 다음 예에 따라 구성에 <buffer>
블록을 추가합니다.
[...]
# Forward all events to New Relic EU Endpoint<match> @type newrelic license_key YOUR_LICENSE_KEY
<buffer time> timekey 60s </buffer></match>
보다 자세한 내용은 버퍼 구성에 대한 Fluentd 문서를 참조하십시오.
UTF-16LE를 UTF-8로 변환하기 위한 구성 방법
Microsoft SQL Server 오류 로그에 대한 이 예에서는 Fluentd를 사용하여 수집에 필요한 UTF-8 인코딩을 사용하여 UTF-16LE 인코딩 로그를 뉴렐릭에 보내는 방법을 살펴봅니다.이 예는 다른 인코딩에 적용할 수도 있습니다.
팁
또한 이러한 로그에 적절한 logtype
도 추가합니다.
#Tail one or more log files<source> @type tail <parse> @type none </parse> path "D:/sqlserver/error.log" tag example.service encoding UTF-8 from_encoding UTF-16LE</source>
#Add hostname and service_name to all events with "example.service" tag<filter example.service> @type record_transformer <record> service_name ${tag} hostname "#{Socket.gethostname}" logtype MSSQL </record></filter>
#Forward all events to New Relic<match> @type newrelic license_key YOUR_LICENSE_KEY</match>
Shift-JIS를 UTF-8로 변환하는 설정
Shift-JIS(SP932)로 인코딩된 일본어 로그 파일은 필요한 UTF-8 인코딩으로 변환되며, 로그 데이터를 뉴렐릭으로 가져오고 보내는 데 필요합니다.
<source>#Tail one or more log files @type tail path C:¥opt¥fluent¥cp932text.log # Full path of the log file you want to collect tag example.service from_encoding CP932 #logFile character encoding encoding UTF-8 #Character encoding when sending to New Relic <parse> @type none </parse></source>
#Forward all events to New Relic<match> @type newrelic license_key YOUR_LICENSE_KEY</match>
다음 단계는?
로그 UI를 사용하여 플랫폼 전반에 걸쳐 로깅 데이터를 탐색합니다.
- 문맥적 로그 기능으로 로그를 전달하여 애플리케이션과 플랫폼 성능 데이터에 대한 더 깊은 가시성을 얻을 수 있습니다.
- 알림을 설정합니다.
- 데이터를 쿼리하고 대시보드를 만듭니다.
로그 전달 비활성화
로그 전달 기능을 비활성화하려면 Fluentd 문서의 표준 절차를 따르십시오. 뉴렐릭에서는 다른 작업을 수행할 필요가 없습니다.