Linux 호스트 또는 VM에서 이름이 hello.py인 Python 애플리케이션을 새로 만듭니다. 예: nano hello.py.
다음 코드를 hello.py에 추가:
hello.py
fromflaskimportFlaskimportrandomapp=Flask(__name__)quotes=["Strive not to be a success, but rather to be of value. - Albert Einstein","Believe you can and you're halfway there. - Theodore Roosevelt","The future belongs to those who believe in the beauty of their dreams. - Eleanor Roosevelt"]@app.route('/')defindex():quote=random.choice(quotes)+"\n"returnquoteif__name__=='__main__':app.run(host='0.0.0.0',port=5050)
Datadog APM 설정
애플리케이션 코드나 배포 프로세스를 수정하지 않고도 Datadog APM을 설정하려면 단일 단계 APM 계측을 사용하거나 Datadog 추적 라이브러리를 사용하여 APM을 설정할 수 있습니다.
Replace <YOUR_DD_API_KEY> with your Datadog API key, <YOUR_DD_SITE> with your Datadog site, and <AGENT_ENV> with the environment your Agent is installed on (for example, development).
호스트 또는 VM에서 서비스를 재시작합니다.
Agent가 실행 중인지 확인:
sudo datadog-agent status
이 방법을 사용하면 자동으로 Datadog Agent가 설치되고, Datadog APM이 활성화되며, 런타임에 애플리케이션이 계측됩니다.
애플리케이션 실행
단일 단계 계측으로 Datadog APM을 설정하면 Datadog가 런타임에 애플리케이션을 자동으로 계측합니다.
트레이스를 선택하면 플레임(Flame) 그래프 등 해당 트레이스의 세부 정보가 표시됩니다. 이런 세부 정보는 성능 병목을 파악하는 데 도움이 됩니다.
Advanced APM 설정
지금까지는 Datadog이 단일 단계 계측을 사용해 hello.py 애플리케이션을 자동으로 계측하도록 맡겼습니다. 이 방식은 코드를 건드리거나 라이브러리를 수동으로 설치하지 않고 공통 라이브러리 및 언어 전체에서 필수 트레이스를 수집하려면 권장합니다.
하지만 사용자 지정 코드에서 트레이스를 수집해야 하거나 좀 더 세분화된 제어가 필요한 경우, 사용자 지정 계측을 추가할 수 있습니다.
이것을 나타내기 위해 Datadog Python SDK를 hello.py로 가져온 다음 사용자 지정 스팬과 스팬 태그를 생성하게 됩니다.
사용자 지정 계측을 추가하는 방법:
Datadog SDK 설치:
pip install ddtrace
강조 표시된 라인을 hello.py의 코드에 추가하여 사용자 지정 스팬 태그 get_quote 및 사용자 지정 스팬 태그 quote 생성:
fromflaskimportFlaskimportrandomfromddtraceimporttracerapp=Flask(__name__)quotes=["Strive not to be a success, but rather to be of value. - Albert Einstein","Believe you can and you're halfway there. - Theodore Roosevelt","The future belongs to those who believe in the beauty of their dreams. - Eleanor Roosevelt"]@app.route('/')defindex():withtracer.trace("get_quote")asspan:quote=random.choice(quotes)+"\n"span.set_tag("quote",quote)returnquoteif__name__=='__main__':app.run(host='0.0.0.0',port=5050)
플레임(Flame) 그래프에서 새 사용자 지정 get_quote 스팬을 찾아 마우스 커서를 올립니다.
사용자 지정 quote 스팬 태그가 Info 탭에 표시되는지 확인하세요.
다음 단계는?
추적을 설정했고 애플리케이션이 Datadog으로 데이터를 전송하면, 추가적인 APM 기능 탐색:
Software Catalog
Software Catalog에는 소유권 메타데이터, 성능 인사이트, 보안 분석 및 비용 할당을 한곳에 모아 서비스에 대한 통합 조회를 제공합니다. 소유권 정보, 런북 및 설명서 링크 등으로 서비스를 보강하려면 태그, 어노테이션 또는 service.datadog.yaml 파일을 사용하여 서비스 메타데이터를 구성하세요.
트레이스 수집 및 보존
수집 제어 및 보존 필터를 구성하여 비용을 제어하고 데이터 볼륨을 관리하세요. 수집 제어를 사용하면 Datadog Agent 또는 SDK 수준에서 샘플링 레이트를 사용자 지정할 수 있고, 보존 필터를 사용하면 검색 및 분석을 위해 어느 스팬을 인덱싱할지 결정할 수 있습니다.