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.