Skip to main content

Python Django uWSGI

Prerequisites

Python 3.6+

Installation

  1. Install dependencies:

    pip install elastic-apm
  2. Add elasticapm.contrib.django in settings.py:

    INSTALLED_APPS = [
    'elasticapm.contrib.django',
    ]
  3. Configure the agent.

    ELASTIC_APM = {
    'SERVICE_NAME': '<app_name>',
    # send traces to CubeAPM
    'SERVER_URL': 'http://<ip_address_of_cubeapm_server>:3130',
    # optional settings
    'ENVIRONMENT': 'myenv',
    'SERVICE_VERSION': '1.2.3',
    'GLOBAL_LABELS': 'mykey1=myvalue1,mykey2=myvalue2',
    }

Sample Application

A working example is available at https://github.com/cubeapm/sample_app_python_django_uwsgi/tree/elastic.

Troubleshooting

The following can be used for debugging:

# Print Elastic agent logs on screen
ELASTIC_APM_LOG_FILE=stdout
# Set Elastic agent log level to debug if needed to see detailed logs.
# Refer to Sample Application for additional requirements.
ELASTIC_APM_LOG_LEVEL=debug