• Stars
    star
    18,634
  • Rank 1,407 (Top 0.03 %)
  • Language
    TypeScript
  • License
    Other
  • Created almost 4 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SigNoz is an open-source observability platform native to OpenTelemetry with logs, traces and metrics in a single application. An open-source alternative to DataDog, NewRelic, etc. πŸ”₯ πŸ–₯. πŸ‘‰ Open source Application Performance Monitoring (APM) & Observability tool

SigNoz-logo

Monitor your applications and troubleshoot problems in your deployed applications, an open-source alternative to DataDog, New Relic, etc.

Downloads GitHub issues tweet

Documentation β€’ ReadMe in Chinese β€’ ReadMe in German β€’ ReadMe in Portuguese β€’ Slack Community β€’ Twitter

SigNoz helps developers monitor applications and troubleshoot problems in their deployed applications. With SigNoz, you can:

πŸ‘‰ Visualise Metrics, Traces and Logs in a single pane of glass

πŸ‘‰ You can see metrics like p99 latency, error rates for your services, external API calls and individual end points.

πŸ‘‰ You can find the root cause of the problem by going to the exact traces which are causing the problem and see detailed flamegraphs of individual request traces.

πŸ‘‰ Run aggregates on trace data to get business relevant metrics

πŸ‘‰ Filter and query logs, build dashboards and alerts based on attributes in logs

πŸ‘‰ Record exceptions automatically in Python, Java, Ruby, and Javascript

πŸ‘‰ Easy to set alerts with DIY query builder

Application Metrics

application_metrics

Distributed Tracing

distributed_tracing_2 2

distributed_tracing_1

Logs Management

logs_management

Infrastructure Monitoring

infrastructure_monitoring

Exceptions Monitoring

exceptions_light

Alerts

alerts_management



Join our Slack community

Come say Hi to us on Slack πŸ‘‹



Features:

  • Unified UI for metrics, traces and logs. No need to switch from Prometheus to Jaeger to debug issues, or use a logs tool like Elastic separate from your metrics and traces stack.
  • Application overview metrics like RPS, 50th/90th/99th Percentile latencies, and Error Rate
  • Slowest endpoints in your application
  • See exact request trace to figure out issues in downstream services, slow DB queries, call to 3rd party services like payment gateways, etc
  • Filter traces by service name, operation, latency, error, tags/annotations.
  • Run aggregates on trace data (events/spans) to get business relevant metrics. e.g. You can get error rate and 99th percentile latency of customer_type: gold or deployment_version: v2 or external_call: paypal
  • Native support for OpenTelemetry Logs, advanced log query builder, and automatic log collection from k8s cluster
  • Lightning quick log analytics (Logs Perf. Benchmark)
  • End-to-End visibility into infrastructure performance, ingest metrics from all kinds of host environments
  • Easy to set alerts with DIY query builder



Why SigNoz?

Being developers, we found it annoying to rely on closed source SaaS vendors for every small feature we wanted. Closed source vendors often surprise you with huge month end bills without any transparency.

We wanted to make a self-hosted & open source version of tools like DataDog, NewRelic for companies that have privacy and security concerns about having customer data going to third party services.

Being open source also gives you complete control of your configuration, sampling, uptimes. You can also build modules over SigNoz to extend business specific capabilities

Languages supported:

We support OpenTelemetry as the library which you can use to instrument your applications. So any framework and language supported by OpenTelemetry is also supported by SigNoz. Some of the main supported languages are:

  • Java
  • Python
  • NodeJS
  • Go
  • PHP
  • .NET
  • Ruby
  • Elixir
  • Rust

You can find the complete list of languages here - https://opentelemetry.io/docs/



Getting Started

Deploy using Docker

Please follow the steps listed here to install using docker

The troubleshooting instructions may be helpful if you face any issues.

Β 

Deploy in Kubernetes using Helm

Please follow the steps listed here to install using helm charts



Comparisons to Familiar Tools

SigNoz vs Prometheus

Prometheus is good if you want to do just metrics. But if you want to have a seamless experience between metrics and traces, then current experience of stitching together Prometheus & Jaeger is not great.

Our goal is to provide an integrated UI between metrics & traces - similar to what SaaS vendors like Datadog provides - and give advanced filtering and aggregation over traces, something which Jaeger currently lack.

Β 

SigNoz vs Jaeger

Jaeger only does distributed tracing. SigNoz supports metrics, traces and logs - all the 3 pillars of observability.

Moreover, SigNoz has few more advanced features wrt Jaeger:

  • Jaegar UI doesn’t show any metrics on traces or on filtered traces
  • Jaeger can’t get aggregates on filtered traces. For example, p99 latency of requests which have tag - customer_type='premium'. This can be done easily on SigNoz

Β 

SigNoz vs Elastic

  • SigNoz Logs management are based on ClickHouse, a columnar OLAP datastore which makes aggregate log analytics queries much more efficient
  • 50% lower resource requirement compared to Elastic during ingestion

We have published benchmarks comparing Elastic with SigNoz. Check it out here

Β 

SigNoz vs Loki

  • SigNoz supports aggregations on high-cardinality data over a huge volume while loki doesn’t.
  • SigNoz supports indexes over high cardinality data and has no limitations on the number of indexes, while Loki reaches max streams with a few indexes added to it.
  • Searching over a huge volume of data is difficult and slow in Loki compared to SigNoz

We have published benchmarks comparing Loki with SigNoz. Check it out here



Contributing

We ❀️ contributions big or small. Please read CONTRIBUTING.md to get started with making contributions to SigNoz.

Not sure how to get started? Just ping us on #contributing in our slack community

Project maintainers

Backend

Frontend

DevOps



Documentation

You can find docs at https://signoz.io/docs/. If you need any clarification or find something missing, feel free to raise a GitHub issue with the label documentation or reach out to us at the community slack channel.



Community

Join the slack community to know more about distributed tracing, observability, or SigNoz and to connect with other users and contributors.

If you have any ideas, questions, or any feedback, please share on our Github Discussions

As always, thanks to our amazing contributors!

More Repositories

1

logs-benchmark

Logs performance benchmark repo: Comparing Elastic, Loki and SigNoz
Shell
78
star
2

charts

Helm Charts for SigNoz
Smarty
68
star
3

signoz-otel-collector

SigNoz distro for OpenTelemetry Collector
Go
44
star
4

signoz.io

SigNoz website | SigNoz is an Open source Application Performance Monitoring (APM) tool πŸ”₯ | An open-source alternative to DataDog, NewRelic, etc. πŸ–₯.
TypeScript
37
star
5

sample-golang-app

Sample Golang app to demonstrace OpenTelemetry instrumentation
Go
28
star
6

dashboards

25
star
7

Awesome-OpenTelemetry

Repository of open source content on opentelemetry
24
star
8

sample-fastAPI-app

Sample fastAPI Application to demonstrate OpenTelemetry instrumentation
Python
13
star
9

sample-NestJs-app

TypeScript
10
star
10

sample-flask-app

Sample Flask Application to demonstrate OpenTelemetry instrumentation
HTML
9
star
11

sample-ASPNETCore-app

Sample ASPNetCore app with opentelemetry instrumentation
C#
8
star
12

zap_otlp

Zap Logger with OpenTelemetry support
Go
8
star
13

sample-php-app

Sample PHP app instrumented using OpenTelemetry
PHP
7
star
14

alertmanager

Go
7
star
15

sample-nodejs-app

This sample app demonstrate use of OpenTelemetry Library with SigNoz
JavaScript
6
star
16

signoz-k8s-helm-operator

SigNoz Operator for Kubernetes
Mustache
5
star
17

signoz-website

MDX
5
star
18

sample-reactjs-app

Sample ReactJS app with SigNoz monitoring
TypeScript
4
star
19

troubleshoot

Shell
4
star
20

terraform-provider-signoz

Terraform Provider of SigNoz
Go
4
star
21

signoz-web

SigNoz Website
MDX
4
star
22

sample-rails-app

Ruby
2
star
23

sample-rust-app

Rust
2
star
24

sample-golang-kafka-app

Go
2
star
25

sample-golang-pgx-app

Sample golang app using golang and pgx instrumented with otelgin and otelpgx
Go
1
star
26

sample-angular-app

Shows opentelemetry instrumentation and trace ingestion to SigNoz
TypeScript
1
star
27

internal-docs-hub

1
star
28

sample-nextjs-app

TypeScript
1
star
29

signoz-core-ui

TypeScript
1
star
30

telemetry-previewer

Go
1
star
31

signoz-collector-config-parser

Go
1
star
32

sample-fastapi-with-dbs

Python
1
star
33

signoz-db-migrations

Go
1
star
34

otel-collector-k8s

deploy opentelemetry collector in kubernetes to get infrastructure metrics
1
star
35

otlp-python

This project generates traces and logs for REST API in Python. The generated traces and logs have correlation.
Python
1
star
36

benchmark

Smarty
1
star
37

custom-metrics-examples

Examples in different languages and frameworks on how to send custom metrics to SigNoz
Go
1
star
38

distributedtracing.io

Resources on Distributed Tracing
JavaScript
1
star
39

docker-container-logs

1
star
40

opentelemetry-examples

TypeScript
1
star
41

govaluate

Go
1
star
42

opentelemetry-nodejs-example

Check out the entire hands-on OpenTelemetry NodeJS article series below πŸ‘‡
JavaScript
1
star