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.

Don’t hesitate, we are just a message away!
,

Leave a Reply

Your email address will not be published. Required fields are marked *

Signup for our newsletter