Integrations

IoT Agent 네트워크 이슈 발생 시 스토리지에 메트릭 저장

왈왈멍멍 2022. 11. 25. 12:15

데이터독의 기본적인 로그 전송 매커니즘은 로그 포인터를 로컬 메모리에 저장해서 네트워크 이슈가 발생되더라도 기본적으로 어느정도 보장된다. 

 

그러나 메트릭의 경우 Agent 메모리 큐 사이즈를 넘어가면 메트릭을 잃게 된다.

 

특히 IoT 디바이스의 경우 종종 네트워크 이슈가 발생되고 메트릭이 손실되는 경우가 발생된다.

 

그럴 경우 Data buffering 옵션을 통해 네트워크 지연 시 발생된 메트릭을 스토리지에 저장했다가 다시 Datadog으로 전달할 수 있다. Core Agent만 적용 가능하기 때문에 Process/APM 메트릭은 불가하다.

 

Agent 7.27 버전부터 사용 가능하다.

 

Releases · DataDog/datadog-agent

Datadog Agent . Contribute to DataDog/datadog-agent development by creating an account on GitHub.

github.com

 

forwarder_retry_queue_payloads_max_size 환경변수가 기본적으로 0이기 때문에 원하는 사이즈로 변경하면 된다.

 

실제 네트워크를 차단할 경우 아래와 같이 데이터독 콘솔에서는 메트릭을 확인할 수가 없다.

 

그럼 호스트의 디폴트 Path인 /opt/datadog-agent/run/transactions_to_retry에 아래와 같이 압축된 메트릭들이 쌓이게 된다.

 

실제로 다시 네트워크가 정상화 되면 아래와 같이 메트릭이 다시 수집된다.

 

데이터독으로 전송된 메트릭들은 스토리지에서 삭제된다.