Initial vault setup
This commit is contained in:
@@ -0,0 +1,185 @@
|
||||
---
|
||||
title: SigNoz
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, monitoring, apm, observability, logs, metrics, traces, typescript]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/SigNoz/signoz]
|
||||
---
|
||||
|
||||
# 📊 SigNoz
|
||||
|
||||
> **La stack d'observabilité unifiée** : logs, métriques et traces distribuées dans une seule UI. Le successeur open source de Datadog, basé sur OpenTelemetry.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [signoz.io](https://signoz.io/) |
|
||||
| **GitHub** | [SigNoz/signoz](https://github.com/SigNoz/signoz) |
|
||||
| **License** | Custom (SSPL-fork, source-available) |
|
||||
| **Langage** | TypeScript + Go |
|
||||
| **Étoiles GitHub** | 27.2k ⭐ |
|
||||
| **Dernière MAJ** | 2026-06-07 |
|
||||
| **Catégorie** | [[cat-monitoring|Monitoring]], APM, Observability |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**SigNoz** est une **plateforme d'observabilité open source** qui réunit les **trois piliers** traditionnels — **logs, metrics, traces** — dans une interface unifiée. C'est l'alternative directe à **Datadog**, **New Relic** et **Honeycomb**, mais self-hosted.
|
||||
|
||||
L'idée : au lieu d'avoir 5 outils (Prometheus pour les métriques, Loki pour les logs, Jaeger pour les traces, Grafana pour visualiser, Tempo pour le stockage), SigNoz fait **tout ça nativement** avec une UI cohérente et un schéma de données unifié.
|
||||
|
||||
- ✅ **Métriques** : ingestion via OpenTelemetry, requêtes PromQL
|
||||
- ✅ **Traces distribuées** : flamegraphs, span analysis
|
||||
- ✅ **Logs** : corrélés aux traces (clic sur un span → voir les logs)
|
||||
- ✅ **OpenTelemetry natif** : pas de vendor lock-in
|
||||
- ✅ **Alertes** : sur métriques, logs, traces
|
||||
- ✅ **Dashboards** custom (templating, variables)
|
||||
- ✅ **Service map** : visualisation des dépendances
|
||||
- ✅ **Exceptions** : capture et stacktrace
|
||||
- ✅ **Multi-tenant** (depuis v0.20+)
|
||||
- ✅ **API** pour intégrer ailleurs
|
||||
|
||||
**Public cible** : **ingénieurs SRE/DevOps, plateformes, équipes backend, scale-ups**. Nécessite des connaissances OpenTelemetry et de la culture observabilité.
|
||||
|
||||
**Comparaison** : SigNoz est l'**alternative moderne à la stack [[app-prometheus]] + Loki + Tempo + [[app-grafana]]**. Là où cette stack demande 5+ composants à assembler, SigNoz fournit **un seul binaire/bundle** clé en main. Par rapport à [[app-sentry]] (error tracking pur), SigNoz est plus large : ça couvre toute l'observabilité, pas seulement les erreurs.
|
||||
|
||||
> ⚠️ **License SSPL-like** : la version community est gratuite pour self-host interne. **Interdit de la revendre en SaaS concurrent**. Pour de l'usage interne, c'est OK.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Option 1 : Docker Compose Standalone (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
signoz-frontend:
|
||||
image: signoz/frontend:0.55.0
|
||||
container_name: signoz-frontend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- signoz-backend
|
||||
ports:
|
||||
- "3301:3301" # Web UI
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.signoz.rule=Host(`signoz.example.com`)"
|
||||
- "traefik.http.routers.signoz.entrypoints=websecure"
|
||||
- "traefik.http.routers.signoz.tls.certresolver=letsencrypt"
|
||||
|
||||
signoz-backend:
|
||||
image: signoz/backend:0.55.0
|
||||
container_name: signoz-backend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- clickhouse
|
||||
- otel-collector
|
||||
|
||||
otel-collector:
|
||||
image: signoz/otel-collector:0.102.0
|
||||
container_name: signoz-otel
|
||||
restart: unless-stopped
|
||||
command: ["--config=/etc/otel-collector-config.yaml"]
|
||||
volumes:
|
||||
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
|
||||
ports:
|
||||
- "4317:4317" # OTLP gRPC
|
||||
- "4318:4318" # OTLP HTTP
|
||||
|
||||
clickhouse:
|
||||
image: clickhouse/clickhouse-server:23.8
|
||||
container_name: signoz-clickhouse
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- clickhouse:/var/lib/clickhouse
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 262144
|
||||
hard: 262144
|
||||
|
||||
volumes:
|
||||
clickhouse:
|
||||
```
|
||||
|
||||
### Option 2 : Install script (auto-hébergé)
|
||||
|
||||
```bash
|
||||
git clone -b main https://github.com/SigNoz/signoz.git
|
||||
cd signoz/deploy/
|
||||
./install.sh
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Accéder à l'UI** : `http://IP:3301`
|
||||
2. **Créer le compte admin** au premier lancement
|
||||
3. **Instrumenter une app** : installer l'OpenTelemetry SDK
|
||||
```bash
|
||||
# Python
|
||||
pip install opentelemetry-distro[otlp]
|
||||
opentelemetry-bootstrap -a requirements.txt
|
||||
opentelemetry-instrument python app.py
|
||||
```
|
||||
4. **Pointer vers le collecteur** : `OTEL_EXPORTER_OTLP_ENDPOINT=http://signoz-otel:4317`
|
||||
5. **Explorer les services** détectés automatiquement dans l'onglet "Services"
|
||||
6. **Créer des dashboards** : onglet "Dashboards" > New > PromQL queries
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
|
||||
- **Prometheus + Loki + Tempo + Grafana** — La stack de référence, à assembler
|
||||
- **Elastic Stack (ELK + APM)** — Plus lourd, orienté logs
|
||||
- **Jaeger + Prometheus** — Traces + métriques séparés
|
||||
- **Hyperdx** — Concurrent direct, plus récent
|
||||
- **OpenObserve** — Logs/metrics/traces en Rust
|
||||
|
||||
### Comparaison SigNoz vs alternatives
|
||||
|
||||
| Critère | SigNoz | Prometheus+Grafana | Datadog |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| Self-hosted | ✅ | ✅ | ❌ |
|
||||
| Logs unifiés | ✅ | Via Loki | ✅ |
|
||||
| Traces | ✅ | Via Tempo | ✅ |
|
||||
| UI intégrée | ✅ | ❌ (5 outils) | ✅ |
|
||||
| OpenTelemetry natif | ✅ | Partiel | Partiel |
|
||||
| Coût | Gratuit (self-host) | Gratuit | $$$$ |
|
||||
|
||||
**Verdict** : SigNoz est **l'alternative moderne et intégrée** à la stack Prometheus + Grafana. Plus simple à démarrer, plus cohérent à opérer.
|
||||
|
||||
### Propriétaires (ce que SigNoz remplace)
|
||||
|
||||
- **Datadog** (à partir de $15/host/mois, vite stratosphérique)
|
||||
- **New Relic** (payant par utilisateur)
|
||||
- **Honeycomb** (orienté traces)
|
||||
- **Splunk Observability** (très cher, entreprise)
|
||||
- **Dynatrace** (payant, RASP/APM)
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **Auth intégrée** : email/password, JWT
|
||||
- **SSO** : Google, GitHub, OIDC (Enterprise)
|
||||
- **RBAC** : rôles admin/editor/viewer
|
||||
- **HTTPS** via [[app-traefik]] obligatoire (données télémétriques potentiellement sensibles)
|
||||
- **Données** : peuvent contenir des PII — configurer des processors OpenTelemetry pour scrubber
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [GitHub SigNoz/signoz](https://github.com/SigNoz/signoz)
|
||||
- [Documentation officielle](https://signoz.io/docs/)
|
||||
- [OpenTelemetry getting started](https://opentelemetry.io/docs/getting-started/)
|
||||
- [Pricing cloud (si不想self-host)](https://signoz.io/pricing/)
|
||||
- [Blog technique](https://signoz.io/blog/)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-monitoring]] — Catégorie Monitoring
|
||||
- [[app-prometheus]] — Métriques
|
||||
- [[app-grafana]] — Dashboards
|
||||
- [[app-sentry]] — Error tracking
|
||||
- [[app-traefik]] — Reverse proxy HTTPS
|
||||
- [[observabilite]] — Vue d'ensemble observabilité
|
||||
- [[checklist-monitoring-minimal]] — Checklist
|
||||
Reference in New Issue
Block a user