169 lines
6.9 KiB
Markdown
169 lines
6.9 KiB
Markdown
---
|
|
title: OneUptime
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, monitoring, observability, saas, typescript, alerting, status-page, oncall]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/OneUptime/oneuptime]
|
|
---
|
|
# 📊 OneUptime
|
|
|
|
> **L'alternative open source à Datadog, PagerDuty et Statuspage** : monitoring, alerting, on-call, status page et SLO tracking dans une plateforme unifiée. Le « PagerDuty killer ».
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [oneuptime.com](https://oneuptime.com/) |
|
|
| **GitHub** | [OneUptime/oneuptime](https://github.com/OneUptime/oneuptime) |
|
|
| **License** | Apache-2.0 |
|
|
| **Langage** | TypeScript (Node.js + React) |
|
|
| **Étoiles GitHub** | 7 113 ⭐ |
|
|
| **Dernière MAJ** | 2026-06-07 |
|
|
| **Catégorie** | [[cat-monitoring|Monitoring]] |
|
|
|
|
## 📝 Description
|
|
|
|
**OneUptime** est la **plateforme d'observabilité open source la plus ambitieuse** : elle ambitionne de remplacer à elle seule **Datadog (monitoring) + PagerDuty (on-call) + Statuspage (status publique) + Better Uptime (synthetics)**, le tout en une seule application self-hosted. Issue d'une société commerciale (OneUptime Inc.) qui propose aussi une version SaaS, l'édition open source reste 100% fonctionnelle pour un usage complet.
|
|
|
|
L'approche est volontairement « enterprise-friendly » : monitoring d'infrastructure (CPU, RAM, disque, services), monitors synthétiques (HTTP, Ping, TCP, DNS, SSL), alert management avec rotations on-call, escalades, status page publique multi-services, post-mortems, SLO tracking et rapports d'incidents. C'est l'outil qui fait « à peu près tout ce que Datadog fait, en moins cher (gratuit) et en self-hosted ».
|
|
|
|
- ✅ **Moniteurs synthétiques** : HTTP(s), Ping, TCP, DNS, SSL expiring, ports, API
|
|
- ✅ **Monitoring d'infrastructure** : agents sur hosts, CPU/RAM/disque/réseau/process
|
|
- ✅ **Alertes et incidents** : on-call schedules, rotations, escalades, ack/snooze
|
|
- ✅ **Status page publique** : personnalisable, multi-services, abonnements email
|
|
- ✅ **SLOs et Error budgets** : tracking disponibilité, latence, taux d'erreur
|
|
- ✅ **Workflow d'incidents** : timeline, post-mortems, communication stakeholders
|
|
- ✅ **Notifications** : SMS, Email, Slack, MS Teams, Push, Webhook, PagerDuty
|
|
- ✅ **Multi-équipes** : workspaces, RBAC, audit logs
|
|
- ✅ **API REST** complète
|
|
- ✅ **Docker Compose** et Helm (Kubernetes)
|
|
|
|
**Public cible** : **organisations et équipes IT** qui veulent une **plateforme d'observabilité complète** (à la Datadog) sans dépendre du cloud, ou comme solution de **PCA / disaster recovery** d'un SaaS comme PagerDuty. Pour un homelab de 1-3 machines, c'est trop : restez sur [[app-uptime-kuma]] + [[app-netdata]].
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option 1 : Docker Compose (auto-contenu)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
services:
|
|
oneuptime:
|
|
image: oneuptime/oneuptime:latest
|
|
container_name: oneuptime
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080" # Web UI
|
|
- "8443:8443" # API
|
|
environment:
|
|
- APP_URL=https://oneuptime.example.com
|
|
- JWT_SECRET=change...ng
|
|
- DB_CONNECTION=postgres
|
|
- DB_HOST=db
|
|
- DB_USER=oneuptime
|
|
- DB_PASSWORD=*** - DB_NAME=oneuptime
|
|
depends_on:
|
|
- db
|
|
- cache
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.oneuptime.rule=Host(`oneuptime.example.com`)"
|
|
- "traefik.http.routers.oneuptime.entrypoints=websecure"
|
|
- "traefik.http.routers.oneuptime.tls.certresolver=letsencrypt"
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_USER=oneuptime
|
|
- POSTGRES_PASSWORD=***
|
|
- POSTGRES_DB=oneuptime
|
|
volumes:
|
|
- oneuptime-db:/var/lib/postgresql/data
|
|
|
|
cache:
|
|
image: redis:7-alpine
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
oneuptime-db:
|
|
```
|
|
|
|
### Option 2 : Kubernetes (Helm)
|
|
|
|
```bash
|
|
helm repo add oneuptime https://helm.oneuptime.com
|
|
helm install oneuptime oneuptime/oneuptime \
|
|
--namespace monitoring --create-namespace
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Accéder à l'UI** : `https://oneuptime.example.com` (via [[app-traefik]])
|
|
2. **Créer le compte admin** : signup au premier lancement
|
|
3. **Provisionner un projet** : Projects > New Project (slug, nom)
|
|
4. **Ajouter des monitors** : Monitors > New > HTTP/Ping/Infra
|
|
5. **Déployer l'agent** sur chaque serveur (Docker ou binaire Node)
|
|
6. **Configurer l'on-call** : Team > On-Call > Schedule (rotation, escalades)
|
|
7. **Créer la status page** : Status Pages > New, lier aux services
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-prometheus]] + Alertmanager + Grafana + Statuspage — Stack modulaire, plus de travail
|
|
- [[app-uptime-kuma]] + Healthchecks — Plus simple, sans on-call/SLO
|
|
- [[app-netdata]] + Ceremonies — Monitoring pur sans incident management
|
|
- **HyperDX** (open core) — Logs + APM + monitoring, jeune
|
|
- **SigNoz** — APM distribué (Datadog-like)
|
|
|
|
### Comparaison OneUptime vs autres
|
|
|
|
| Critère | OneUptime | Datadog | Prometheus+Grafana | Uptime Kuma |
|
|
| :--- | :--- | :--- | :--- | :--- |
|
|
| Self-hosted | ✅ | ❌ | ✅ | ✅ |
|
|
| Monitoring infra | ✅ | ✅✅ | ✅✅ | ❌ |
|
|
| On-call | ✅ | ✅ | ⚠️ (Alertmanager) | ❌ |
|
|
| Status page | ✅ | ⚠️ externe | ❌ | ✅ |
|
|
| SLO tracking | ✅ | ✅ | ✅ | ❌ |
|
|
| Synthetics | ✅ | ✅ | ⚠️ Blackbox | ✅ |
|
|
| Logs / APM | ⚠️ basique | ✅✅ | ✅ (Loki) | ❌ |
|
|
| Pricing | Gratuit | $$$$ | Gratuit | Gratuit |
|
|
|
|
**Verdict** : si vous avez besoin d'une **plateforme d'observabilité à la Datadog** mais self-hosted et gratuite, OneUptime est la **référence actuelle**. Pour du simple, [[app-uptime-kuma]] suffit.
|
|
|
|
### Propriétaires (ce que OneUptime remplace)
|
|
- **Datadog** (à partir de $0.10/host/jour)
|
|
- **PagerDuty** (à partir de $21/user/mois)
|
|
- **Statuspage** par Atlassian ($99/mois)
|
|
- **Better Uptime** ($25/mois)
|
|
- **New Relic** (payant, freemium limité)
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- **Auth moderne** : email/password, SSO (SAML, OIDC), 2FA (TOTP)
|
|
- **HTTPS obligatoire** via [[app-traefik]]
|
|
- **RBAC** granulaire : Admin, Editor, Viewer, Custom roles
|
|
- **Audit logs** complets : qui a fait quoi, quand
|
|
- **API tokens** scopés par projet
|
|
|
|
## 📚 Ressources
|
|
|
|
- [GitHub OneUptime/oneuptime](https://github.com/OneUptime/oneuptime)
|
|
- [Site officiel](https://oneuptime.com/)
|
|
- [Documentation](https://docs.oneuptime.com/)
|
|
- [SaaS officiel](https://oneuptime.com/pricing) (version cloud)
|
|
- [Communauté Discord](https://discord.gg/oneuptime)
|
|
|
|
## Pages Liées
|
|
- [[cat-monitoring]] — Catégorie Monitoring
|
|
- [[app-uptime-kuma]] — Monitoring uptime
|
|
- [[app-netdata]] — Métriques système
|
|
- [[app-prometheus]] — Stack pro
|
|
- [[app-glances]] — Monitoring terminal
|
|
- [[app-traefik]] — Reverse proxy HTTPS
|
|
- [[observabilite]] — Concept d'observabilité
|
|
- [[checklist-monitoring-minimal]] — Checklist de démarrage
|