Tag: signoz

  • FastAPI Application Performance Monitoring with SigNoz

    What is SigNoz?

    SigNoz stands as an open-source alternative to Datadog or New Relic. It serves as a comprehensive solution for all your observability requirements, encompassing Application Performance Monitoring (APM), logs, metrics, exceptions, alerts, and dashboards, all enhanced by a robust query builder.

    Here is a quick guide to get up and running with FastAPI instrumentation with SigNoz really fast.

    Getting SigNoz

    I prefer using docker compose

    git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/
    docker compose -f docker/clickhouse-setup/docker-compose.yaml up -d

    Testing SigNoz Installation

    http://localhost:3301

    If all went well, you should see a webpage asking you to create an account (yeah, that is correct)

    Getting test FastAPI App

    Here is a sample FastAPI app with basic instrumentation. I will use the same for this example.

    git clone https://github.com/SigNoz/sample-fastAPI-app.git
    cd sample-fastAPI-app
    docker build -t sample-fastapi-app .
    docker run -d --name fastapi-container \ 
    --net clickhouse-setup_default  \ 
    --link clickhouse-setup_otel-collector_1 \
    -e OTEL_METRICS_EXPORTER='none' \
    -e OTEL_RESOURCE_ATTRIBUTES='service.name=fastapiApp' \
    -e OTEL_EXPORTER_OTLP_ENDPOINT='http://clickhouse-setup_otel-collector_1:4317' \
    -e OTEL_EXPORTER_OTLP_PROTOCOL=grpc \
    -p 5002:5002 sample-fastapi-app

    Generate Traffic Using Locust

    pip install locust
    locust -f locust.py --headless --users 10 --spawn-rate 1 -H http://localhost:5002:5002

    Done!

    Open-source application performance monitoring tools should offer cost efficiency, customization, and transparency. They provide community support, vendor independence, and continuous improvement through collaborative innovation. SigNoz is already very popular with the open-source community, let’s see how does it change the APM landscape.