Python Agent 설치
exemONE Python Agent 설치 방법 및 설정 상세 가이드
1. 모듈 설명
exemONE Python Agent(exem-python-agent)는 Python 기반 애플리케이션(Django, Flask, FastAPI 등)에 agent 형태로 구동하여 트랜잭션, SQL, Call Tree, Exception 등의 데이터를 수집하고 Receiver로 전송하는 모니터링 에이전트입니다.
2. 지원 환경
2-1. Python 버전
| 항목 | 지원 버전 |
|---|---|
Python | 3.7 이상 |
2-2. 지원 프레임워크
| 프레임워크 | 비고 |
|---|---|
| Django | |
| Flask | |
| FastAPI | |
| Kafka | kafka_python, confluent_kafka |
2-3. 지원 데이터베이스 (SQL 추적)
| DB 종류 | 지원 라이브러리 |
|---|---|
| SQLite | sqlite3, pysqlite3 |
| MySQL | pymysql, MySQLdb |
| Oracle | cx_Oracle |
| PostgreSQL | psycopg2 |
| Redis | redis, redis-om |
| MongoDB | pymongo, motor |
3. 통신 포트

| 출발지 | 도착지 | Type | Port | 내용 |
|---|---|---|---|---|
| 모니터링 대상 장비 (Python App) | exemONE 수집 서버 (Receiver) | TCP | 9010 | 범용 TCP 요청 및 응답 |
exem-python-agent는 ver 3.0.7부터 TCP를 이용하여 Receiver와 통신합니다. 모니터링 대상 서버에서 수집 서버 방향으로 9010 포트가 반드시 개방되어 있어야 합니다. (Java Agent와 동일한 TCP 9010 포트 사용)
4. 옵션 설정
4-1. MTD_ELAPSE_TIME 옵션
콜트리 수집 시 특정 실행 시간 미만의 메서드를 수집에서 제외하는 필터링 옵션입니다.
사전 조건
- Python Agent가 설치 및 정상 구동 상태여야 합니다.
설정 방법
경로: Setting > Application > Config 메뉴
| 옵션 | 설명 | 단위 | 예시 |
|---|---|---|---|
MTD_ELAPSE_TIME | 설정 값 미만의 메서드 실행 시간은 수집하지 않음 | ms (밀리초) | MTD_ELAPSE_TIME = 2 |
동작 원리
- 설정 값 미만의 메서드 실행 시간(콜트리 화면에서 확인)의 경우 데이터가 수집되지 않음
- 예외: 에러(Exception) 발생 시 옵션과 상관없이 데이터가 수집됨

예시: MTD_ELAPSE_TIME = 2 (2ms) 설정 시, 2ms 미만 메서드는 미수집

적용 확인
MTD_ELAPSE_TIME = 1(ms)로 설정 시, 1ms 이상의 모든 메서드 실행 데이터가 정상 수집됨

5. 주의사항
- Python 3.7 이상 필수: Python 3.7 미만 버전은 지원하지 않습니다.
- 방화벽 포트 개방: 모니터링 대상 서버 → 수집 서버(Receiver) 간 TCP 9010 포트가 개방되어 있어야 합니다.
- 지원 프레임워크 확인: Django, Flask, FastAPI, Kafka만 지원됩니다. 다른 Python 웹 프레임워크 사용 시 제품기술팀에 문의하세요.
- DB 라이브러리 확인: SQL 추적을 위해서는 지원되는 DB 라이브러리(pymysql, cx_Oracle, psycopg2 등)를 사용해야 합니다.
- MTD_ELAPSE_TIME 설정 시 주의: 값을 너무 높게 설정하면 중요한 메서드 호출이 수집되지 않을 수 있으므로 적절한 값으로 설정하세요. Exception은 설정과 무관하게 항상 수집됩니다.
- 설치 패키지 준비: 설치 파일은 제품기술팀에 문의하여 준비합니다.
참고 문서:
Python