1. Docker
docker-compose.yml과 Dockerfile 세팅은 Django 연동할 때와 동일하기에 참고 바람.
2. FastAPI
(1) 라이브러리 설치
먼저 해당 패키지를 다운받아야 한다.
pip install elastic-apm
or
poetry add elastic-apm
(2) FastAPI 설정
from elasticapm.contrib.starlette import make_apm_client, ElasticAPM
# Elastic APM
# https://medium.com/squad-engineering/how-to-optimize-elastic-apm-6f7f6d58bed5
apm_config = {
"SERVICE_NAME": "FastAPI",
"SERVER_URL": "http://apm-server:8200",
"ENVIRONMENT": "dev",
"GLOBAL_LABELS": "platform=Platform, application=Application",
"TRANSACTION_MAX_SPANS": 250,
"STACK_TRACE_LIMIT": 250,
"TRANSACTION_SAMPLE_RATE": 0.5,
"APTURE_HEADERS": "true"
}
apm = make_apm_client(apm_config)
app.add_middleware(ElasticAPM, client=apm)
위와 같이 apm 설정을 해주고, FastAPI 미들웨어를 추가한다.
설정을 하고 RUN중인 Elastic Kibana 서버로 들어가서 왼쪽 사이드바에서 APM 항목을 들어가면 된다.
'데이터베이스 > ELK' 카테고리의 다른 글
[ELK] Elasticsearch DSL 기본 문법 (1) | 2022.12.20 |
---|---|
프로젝트에서 엘라스틱서치에 적재된 로그 문제점 및 개선 사항 (0) | 2022.12.18 |
Elastic APM을 이용한 Django 모니터링 연동 (0) | 2022.11.10 |
Elastic APM (0) | 2022.11.03 |
[ElasticSearch] ILM 기능으로 인덱스 주기 관리 (0) | 2022.08.23 |