New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

jennifer-python

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jennifer-python

JENNIFER, JenniferSoft APM, python agent.

  • 5.6.4.0
  • PyPI
  • Socket score

Maintainers
1

JENNIFER5 Python

JENNIFER 5, JenniferSoft APM Python agent

jennifer-python이란?

jennifer-python은 Python 환경에서 운영 중인 시스템을 실시간 모니터링(Monitoring) 할 수 있는 APM 프로그램입니다. Python 환경에서의 모든 트랜잭션과 인프라 전반에 대한 정확하고 심층적인 상세 정보를 통해 운영 중인 시스템을 최소한의 부하로 모니터링해 보세요.

제니퍼 Python agent 설치 방법

JENNIFER Python 에이전트는 공개된 PyPI(pip)를 통해서 설치한다.

  1. 지원 범위

    1. OS: Linux 배포판과 macOS를 지원한다

    2. Python: CPython 3.3 이상 (CPython 2.7+의 경우 jennifer-python 5.6.3.11 버전까지만 지원)

    3. Web framework 지원 범위

      1. Flask >= v0.11_
      2. django >= v1.5_
      3. fastapi >= v0.78.0_
    4. DB driver

      1. MySQL or MariaDB

        1. mysqlclient >= 2.0.3_
        2. pymysql >= 1.0.2_
      2. sqlite3

        1. sqlite3_
      3. PostgreSQL

        1. psycopg2 >= 2.8_
        2. psycopg2-binary >= 2.8_
      4. Oracle

        1. cx-Oracle >= 8.0.0_
        2. oracledb >= 2.4.0_
      5. mongodb

        1. pymongo >= 3.10.1_
      6. redis

        1. redis >= 4.0.2_
      7. pyodbc

        1. pyodbc >= 4.0.39_
  2. pip를 이용한 설치 방법

    1. pip를 통해서 jennifer-python을 설치한다.

      .. code:: sh

      $ pip install jennifer-python

      $ cat jennifer.ini [JENNIFER]

       server_address = 127.0.0.1
       server_port = 5000
       domain_id = 1000
       inst_id = -1
      
       # log_dir = /tmp
       # service_dump_dir = /tmp
      
    2. 설정 방법

      위의 명령어를 수행하면 jennifer-admin\ 이라는 도구가 함께 설치된다. 그리고 이 명령어를 통해 jennifer-python 모듈이 제니퍼 데이터 서버로 연결을 하기 위해 필요한 정보를 담은 설정 파일을 만들 수 있다.

      .. code:: sh

      $ jennifer-admin generate-config

      해당 명령어를 실행하면 jennifer.ini\ 파일이 생성된다. 생성된 파일의 각 필드는 다음의 의미를 갖는다.

      +-----------------------------------+----------------------------------------+ | Field | Description | +===================================+========================================+ | server_address | data server의 IP | +-----------------------------------+----------------------------------------+ | server_port | data server의 port | +-----------------------------------+----------------------------------------+ | domain_id | 도메인 ID, 테스트를 신청하면 | | | 제니퍼에서 제공한다. | +-----------------------------------+----------------------------------------+ | inst_id | 인스턴스의 아이디 | +-----------------------------------+----------------------------------------+

    3. inst_id\ 의 설정 방법

      인스턴스 ID는 Data server가 agent를 식별하기 uint16 범위의 숫자 값이다. 만약 이 값을 -1로 설정하면 Data server 측에서 자동으로 생성한 고유 ID를 할당한다.

    4. 실행

      위 과정에서 생성한 설정 파일을 가지고 이제 JENNIFER를 실행할 수 있다.

      .. code:: sh

      $ JENNIFER_CONFIG_FILE=<설정 파일 경로> jennifer-admin run <python 실행 코드> $ JENNIFER_CONFIG_FILE=<설정 파일 경로> jennifer-admin runasync <python 실행 코드>

      <설정 파일 경로>\ 는 위에서 생성한 설정 파일의 경로를 의미한다. <python 실행 코드>\ 는 기존에 파이썬 웹 애플리케이션 서버를 실행하던 커맨드(예: python manage.py runserver, uwsgi -i uwsgi.ini, …)를 의미한다.

      예를 들어, jennifer.ini 파일이 /home/user/jennifer 디렉터리에 위치하고, 기존에 파이썬 응용 프로그램을 "uwsgi -i uwsgi.ini"로 실행했다면 다음과 같이 실행한다.

      .. code:: sh

      $ JENNIFER_CONFIG_FILE=/home/user/jennifer/jennifer.ini jennifer-admin run uwsgi -i uwsgi.ini

      반면, uvicorn과 같은 비동기 기반의 호스팅 환경이라면 "runasync" 옵션을 이용해 다음과 같이 실행한다.

      .. code:: sh

      $ JENNIFER_CONFIG_FILE=/home/user/jennifer/jennifer.ini jennifer-admin runasync uvicorn --loop asyncio main:app

  3. pip 설치 없이 에이전트에 적용하는 방법

    5.6.3.0 버전 이후부터 pip를 이용한 설치 과정을 거치지 않고도 에이전트를 적용하는 방법을 제공한다. (설치하지 않은 경우에는 위에서 설명한 jennifer-admin 명령어를 사용할 수 없다.)

    1. pypi에서 WHL 파일을 다운로드해 압축을 해제한다.

      .. code:: sh

      $ pwd /tmp $ unzip jennifer_python-5.6.3.0-py3-none-any.whl

    2. 위와 같이 압축을 해제하면 /tmp/jennifer 디렉터리가 생성된다. 해당 설치 경로를 기준으로 다음과 같이 PYTHONPATH 환경 변수를 추가하면,

      .. code:: sh

      $ export PYTHONPATH=/tmp/jennifer/admin $ export JENNIFER_CONFIG_FILE=/home/user/jennifer/jennifer.ini

    3. 이후 wsgi/asgi 응용 프로그램을 실행하면 제니퍼 에이전트가 적용된다.

      .. code:: sh

      동기(wsgi) 웹 앱인 경우

      $ uwsgi -i uwsgi.ini

      .. code:: sh

      비동기(asgi) 웹 앱인 경우

      $ export JENNIFER_IS_ASYNC=true $ uvicorn --loop asyncio main:app

  4. 유의 사항

    일부 웹 애플리케이션 서버의 경우 jennifer-python의 적절한 데이터 수집을 위해 아래와 같은 옵션을 추가해야 한다.

    +-----------------------------------+-----------------------------------+ | 호스팅 서버 | 옵션 | +===================================+===================================+ | uwsgi | --enable-threads | +-----------------------------------+-----------------------------------+

License

© Copyright 2024 JenniferSoft, All right reserved.

.. _Flask >= v0.11: http://flask.pocoo.org/ .. _django >= v1.5: https://www.djangoproject.com/ .. _fastapi >= v0.78.0: https://www.djangoproject.com/ .. _mysqlclient >= 2.0.3: https://github.com/PyMySQL/mysqlclient-python .. _pymysql >= 1.0.2: https://github.com/PyMySQL/PyMySQL .. _sqlite3: https://docs.python.org/2/library/sqlite3.html .. _psycopg2 >= 2.8: https://www.psycopg.org/docs/ .. _psycopg2-binary >= 2.8: https://www.psycopg.org/docs/ .. _cx-Oracle >= 8.0.0: https://oracle.github.io/python-cx_Oracle/ .. _oracledb >= 2.4.0: https://oracle.github.io/python-oracledb/ .. _pymongo >= 3.10.1: https://pymongo.readthedocs.io/en/stable/ .. _redis >= 4.0.2: https://docs.redis.com/latest/rs/references/client_references/client_python/ .. _pyodbc >= 4.0.39: https://learn.microsoft.com/en-us/sql/connect/python/pyodbc/python-sql-driver-pyodbc

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc