- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Datadog APM(애플리케이션 성능 모니터링)을 이용하면 애플리케이션을 더욱 상세히 가시화할 수 있어 성능 병목 현상을 파악하고, 오류를 트러블슈팅하고, 서비스를 최적화할 수 있습니다.
이 가이드에서는 APM을 시작해 Datadog로 첫 트레이스를 전송하는 방법을 설명합니다.
본 지침을 완료하려면 다음이 필요합니다.
Datadog에서 관찰할 애플리케이션을 생성하는 방법:
Linux 호스트나 VM에서 이름이 hello.py
인 새 Python 애플리케이션을 생성하세요(예: nano hello.py
).
hello.py
에 다음 코드를 추가하세요.
hello.py
from flask import Flask
import random
app = Flask(__name__)
quotes = [
"성공한 사람보다는 가치 있는 사람이 되라. - 알버트 아인슈타인",
"스스로 할 수 있다고 믿으면 절반은 성공이다". - 시어도어 루즈벨트",
"미래는 자신의 꿈의 아름다움을 믿는 사람의 것이다. - 엘레노어 루즈벨트"
]
@app.route('/')
def index():
quote = random.choice(quotes)+"\n"
return quote
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5050)
애플리케이션 코드나 배포 프로세스를 수정하지 않고 Datadog APM을 설정하려면 단일 단계 APM 계측을 사용하세요.
설치 명령을 실행하세요
DD_API_KEY=<YOUR_DD_API_KEY> DD_SITE="<YOUR_DD_SITE>" DD_APM_INSTRUMENTATION_ENABLED=host DD_ENV=<AGENT_ENV> bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
<YOUR_DD_API_KEY>
를 Datadog API 키로 변경하고, <YOUR_DD_SITE>
를 Datadog 사이트로 변경하며, <AGENT_ENV>
를 에이전트가 설치된 환경으로 변경하세요(예: development
).
셸 세션을 시작하세요.
내 호스트나 VM에 있는 서비스를 재시작하세요
에이전트가 실행 중인지 확인하세요
sudo datadog-agent status
이 방법을 사용하면 자동으로 Datadog 에이전트가 설치되고, Datadog APM이 활성화되며, 런타임에 애플리케이션이 계측됩니다.
단일 단계 계측으로 Datadog APM을 설정하면 Datadog가 런타임에 애플리케이션을 자동으로 계측합니다.
hello.py
을 실행하는 방법:
현재 디렉터리에 Python 가상 환경을 만드세요.
python3 -m venv ./venv
venv
가상 환경을 활성화하세요.
source ./venv/bin/activate
pip
과 flask
를 설치하세요.
sudo apt-get install python3-pip
pip install flask
서비스 이름을 설정하고 hello.py
를 실행하세요.
export DD_SERVICE=hello
python3 hello.py
트레이스를 Datadog에 전송하려면 애플리케이션을 테스트하세요.
새 명령 프롬프트에서 다음을 실행하세요.
curl http://0.0.0.0:5050/
무작위 인용이 반환되는지 확인하세요.
Believe you can and you're halfway there. - Theodore Roosevelt
curl
명령을 실행할 때마다 새 트레이스가 Datadog로 전송됩니다.
Datadog에서 APM > Services로 이동하세요. 이름이 hello
인 Python 서비스가 있습니다.
대기 시간, 처리량, 오류율과 같은 성능 메트릭을 볼 서비스를 선택하세요.
APM > Traces로 이동하세요. hello
서비스 트레이스가 있습니다.
트레이스를 선택하면 플레임 그래프를 포함한 상세 정보를 볼 수 있습니다. 플레임 그래프는 성능 병목 현상을 파악하는 데 도움이 됩니다.
지금까지는 단일 단계 계측을 사용해 Datadog에서 hello.py
애플리케이션을 자동으로 계측하는 방법을 알아봤습니다. 코드나 수동으로 라이브러리를 설치하지 않고 일반적인 라이브러리와 언어에서 중요 트레이스를 캡처하고 싶을 때 이 방법을 추천합니다.
그러나 커스텀 코드에서 트레이스를 수집해야 하거나 세부적인 제어가 필요할 경우 커스텀 계측을 추가할 수 있습니다.
예를 들어 Datadog Python 추적 라이브러리를 hello.py
로 가져와 커스텀 스팬과 스팬 태그를 생성할 수 있습니다.
커스텀 계측을 추가하는 방법:
Datadog 추적 라이브러리를 설치합니다.
pip install ddtrace
hello.py
에 강조 표시한 줄을 추가하여 커스텀 스팬 태그 get_quote
와 커스텀 스팬 태그 quote
를 생성하세요.
from flask import Flask
import random
from ddtrace import tracer
app = Flask(__name__)
quotes = [
"성공한 사람보다는 가치 있는 사람이 되라. - 알버트 아인슈타인",
"스스로 할 수 있다고 믿으면 절반은 성공이다". - 시어도어 루즈벨트",
"미래는 자신의 꿈의 아름다움을 믿는 사람의 것이다. - 엘레노어 루즈벨트"
]
@app.route('/')
def index():
with tracer.trace("get_quote") as span:
quote = random.choice(quotes)+"\n"
span.set_tag("quote", quote)
return quote
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5050)
이전 가상 환경에서 hello.py
를 실행하세요.
ddtrace-run python hello.py
별도의 명령 프롬프트에서 curl
명령을 몇 번 실행하세요.
curl http://0.0.0.0:5050/
Datadog에서 APM > Traces로 이동하세요.
hello 트레이스를 선택하세요.
플레임 그래프에서 새 커스텀 get_quote
스팬을 찾아 마우스 커서를 올리세요.
커스텀 quote
스팬 태그가 Info 탭에 표시됩니다.