Apache HTTP Server 계측 (Instrumenting Apache HTTP Server)
Datadog은 Apache HTTP Server와 IHS HTTP Server의 기능을 APM 트레이싱으로 강화하는 HTTPd 모듈을 제공해요.
출처: 문서
본문
호환성
IHS HTTP Server는 본질적으로 Apache HTTP Server의 래퍼이므로 이 모듈은 수정 없이 IHS에서도 사용할 수 있어요.
설치
참고: x86_64 아키텍처의 Apache HTTP Server 2.4.x만 지원돼요.
이 모듈은 HTTPd가 동적으로 로드하는 공유 라이브러리로 제공돼요. 지원되는 각 플랫폼과 아키텍처에는 httpd-datadog의 저장소에서 호스팅되는 자체 아티팩트가 있어요.
모듈을 설치하려면:
-
다음 스크립트를 실행해 최신 버전의 모듈을 다운로드해요:
cd /tmp && \ # curl과 기본 텍스트 처리를 사용해 최신 릴리스 정보 가져오기 RELEASE_DATA=$(curl -s https://api.github.com/repos/DataDog/httpd-datadog/releases/latest) && \ # grep과 sed를 사용해 zip 파일의 다운로드 URL 추출 DOWNLOAD_URL=$(echo "$RELEASE_DATA" | grep '"browser_download_url".*mod_datadog_artifact.zip' | sed 's/.*"browser_download_url": *"\([^"]*\)".*/\1/') && \ # 다운로드 및 설치 curl -Lf -o mod_datadog_artifact.zip "$DOWNLOAD_URL" && \ unzip -j mod_datadog_artifact.zip -d /usr/lib/apache2/modules/ && \ rm mod_datadog_artifact.zip
이 스크립트는 최신 릴리스 아티팩트 zip 파일을 다운로드하고 mod_datadog.so 공유 라이브러리를 Apache 모듈 디렉터리로 직접 추출한 다음 임시 파일을 정리해요.
-
다른 설치 방법을 사용했거나 파일을 수동으로 배치해야 한다면
mod_datadog.so파일이 HTTPd가 모듈을 검색하는 디렉터리(일반적으로/usr/local/apache2/modules또는/usr/lib/apache2/modules/)에 있는지 확인해요. -
구성 파일에 다음 줄을 추가해 모듈을 로드해요:
LoadModule datadog_module modules/mod_datadog.so -
모듈을 활성화하려면 HTTPd를 다시 시작하거나 리로드하세요.
구성
기본적으로 모든 요청이 추적되어 Datadog Agent로 전송돼요.
모듈의 기본 동작을 변경하려면 Datadog 모듈의 API 문서에 설명된 Datadog* 지시어를 사용해요.
예를 들어 다음 구성은 서비스 이름을 my-service로, 샘플링 비율을 10%로 설정해요:
LoadModule datadog_module modules/mod_datadog.so
DatadogServiceName my-app
DatadogSamplingRate 0.1