해당 기능은 DBM 사용시 활용가능한 기능입니다.
참고 URL : https://docs.datadoghq.com/ko/database_monitoring/guide/parameterized_queries/
데이터베이스 모니터링 통합 기능은 데이터베이스 전체의 집계된 쿼리 메트릭, 실행 중인 쿼리, 쿼리 실행 계획을 수집합니다.
기본적으로 쿼리 SQL 텍스트와 실행 계획은 쿼리 매개변수에 노출될 수 있는 민감한 데이터를 보호하기 위해
에이전트에서 난독화 및 정규화 과정을 거쳐 Datadog으로 전송됩니다.
하지만 실제 매개변수 값을 포함한 쿼리문을 노출하면 관찰 가능성과 디버깅 기능이 향상됩니다.
데이터베이스 모니터링은 현재 PostgreSQL 및 SQL Server 통합에서만 매개변수 값을 포함한 쿼리 캡처를 지원합니다.
쿼리 매개변수에 접근할 수 있으면 다음과 같은 이점이 있습니다.
- 성능 분석 : 실행 계획을 특정 매개변수 값에 매핑하여 특정 실행 계획이 선택된 이유를 파악합니다.
- 근본 원인 파악 : 성능 저하를 유발하는 매개변수 값 또는 쿼리 패턴을 식별합니다.
- 핫스팟 감지 : 문제가 있는 매개변수를 찾아냅니다(예: 느린 쿼리의 90%는 다음 원인으로 발생 org_id:12345).
- 쿼리 최적화 : 실제 매개변수를 사용하여 실제 실행 계획을 조사하여 실행 통계를 얻고 최적화 기회를 파악합니다.
- 인덱스 튜닝 : 인덱스를 세밀하게 조정하고, 쿼리를 다시 작성하거나, 실제 매개변수 값을 기반으로 쿼리 힌트를 조정할 수 있습니다.
이 기능을 활성화 하시기전에 아래 내용을 꼭 확인 후 활성화 진행하시기 바랍니다 .
매개변수화된 값을 포함하는 쿼리 문과 실행 계획에는 민감한 정보(예: 쿼리 매개변수에 포함된 암호) 또는 개인 식별 정보가 포함될 수 있습니다. 이 옵션을 활성화하면 Datadog에서 쿼리 샘플이나 실행 계획에 나타나는 원시 쿼리 문과 실행 계획을 수집하고 처리할 수 있습니다. 이 옵션은 기본적으로 비활성화되어 있습니다.
설정
* 최소 agent 7.64.0+ 에서 지원됩니다.
conf.yamlSQL 쿼리 텍스트와 매개변수 값을 포함한 실행 계획을 캡처하려면 데이터베이스 유형에 따라 해당 통합 파일을 업데이트하십시오 .
- PostgreSQL의 경우: 수정postgres.d/conf.yaml
- SQL Server의 경우: 편집sqlserver.d/conf.yaml
collect_raw_query_statement:
enabled: trueSQL Server에서 prepared statement의 매개변수 값을 캡처하려면 확장 이벤트(Extended Events)를 통해 쿼리 완료 캡처를 활성화해야 합니다. 데이터베이스 설정을 완료하려면 SQL Server 인스턴스 및 통합을 구성하여 쿼리 완료를 캡처하는 방법을 참조하십시오.
collect_xe:
query_completions:
enabled: true
query_errors:
enabled: true
준비된 문 지원은 현재 SQL Server에서만 사용할 수 있습니다. 자세한 내용은 Prepared Statement 매개변수 값이 제한되는 이유를 참조하세요 .
DBMS 유형별 쿼리 매개 변값 캡쳐에 대한 지원 여부는 상단의 참고 URL에서 확인하시기 바랍니다.
온라인상담
문의하기