본문으로 건너뛰기

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 버전

항목지원 버전
Python3.7 이상

2-2. 지원 프레임워크

프레임워크비고
Django
Flask
FastAPI
Kafkakafka_python, confluent_kafka

2-3. 지원 데이터베이스 (SQL 추적)

DB 종류지원 라이브러리
SQLitesqlite3, pysqlite3
MySQLpymysql, MySQLdb
Oraclecx_Oracle
PostgreSQLpsycopg2
Redisredis, redis-om
MongoDBpymongo, motor

3. 통신 포트

출발지도착지TypePort내용
모니터링 대상 장비 (Python App)exemONE 수집 서버 (Receiver)TCP9010범용 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. 주의사항

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

참고 문서: