DATADOG APM - LOG 트레이스 연결
DATADOG 메뉴얼도 그렇고 티켓 끊어서 물어 봐도 그렇고 하라는대로 다 했는데 APM 과 LOG 가 연동이 되지 않아서 나중에 손보자 하고 내버려둔지 꽤 오래 지나서 다시 연동을 위해 개발쪽을 확인해보니 트레이서 인젝션 설정이 애초에 안되있었고.. TraceId 와 SpanId 가 찍히고 있는데도 연동은 또 안되서 이번엔 또 무엇인가.. 분명 다 찎히는데 왜 !!!라고 하는중 파서에 문제가 있었다는걸 부사수가 발견 하여 수정한김에 올려보는 글 사실 DATADOG (이하 DD)의 가장 큰 불만중 하나는 매뉴얼이 불친절하다 인데 사실 또 다른데 매뉴얼이라고 그렇게 엄청나게 친절한건 아니라서 뭐, (보안쪽 코드 시큐리티의 취약점 스캔 목록 제거좀 하게 해줘요 제발 ㅠㅠ) 일단 환경은 .NET Core 사용중이고 윈도우 EC2로 IIS 를 통해 서비스하고 있다. 당연하게도 DD 에이전트는 당연히 설치 되어 있어야 하고 .NET 트레이서 설치뢰 APM 이 동작하고 있어야 한다. 자동인젝션을 위해서 DD 에서 지원해주는 로그 모듈이 있는데 Serilog (v1.4+) log4net NLog Microsoft.Extensions.Logging (added in v1.28.6) 이렇게 4가지를 지원하며 그외 로그 모듈의 경우는 수동으로 트레이스 ID 를 넣어 줄수 있다. 회사의 경우 Serilog 와 NLog 를 사용하고 있는데 Serilog 를 사용하는 프로덕트를 우선 작업 했다.(개발자 협조가 더 빨랐다) 로그에 트레이스ID 를 인젝션하기위해 DD_LOGS_INJECTION=true 환경변수가 설정되어있어야 한다. 처음 데이타독을 세팅하기 시작 했을때 변수로 설정되어 있어야 한다 라고만 설명이 되어있어서 도데체 어디의 어떤 변수에 넣으라는 말인가 너무 한참을 빙빙 돌았었는데 결국 스냥 시스템 환경 변수였다. (허무) https://docs.datadoghq.com/ko/tracing/other_t...