--- title: Parseable created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, logs, observability, analytics, columnar, parquet, s3, rust, kubernetes, docker] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Logs, https://github.com/parseablehq/parseable] --- # 📋 Parseable > **L'alternative moderne Ă  Loki** : stockage columnar Parquet sur S3, requĂȘtes SQL standard, performances de classe analytique. Conçu pour l'ingestion haut dĂ©bit et l'analyse long-terme. ## 📋 Informations GĂ©nĂ©rales | Champ | Valeur | | :--- | :--- | | **Site web** | [parseable.com](https://www.parseable.com/) | | **GitHub** | [parseablehq/parseable](https://github.com/parseablehq/parseable) | | **License** | Apache-2.0 (Ă©dition communautĂ©) / EE pour features avancĂ©es | | **Langage** | Rust | | **Étoiles GitHub** | 2.4k ⭐ | | **DerniĂšre MAJ** | 2026-06-04 | | **CatĂ©gorie** | [[cat-logs|Logs]] | ## 📝 Description **Parseable** est un systĂšme d'**analytics de logs** moderne Ă©crit en **Rust** qui stocke les Ă©vĂ©nements au format **Parquet** (columnar) directement sur du stockage objet (S3, MinIO, filesystem). C'est la mĂȘme approche que les **data warehouses** modernes (Snowflake, ClickHouse, DuckDB) appliquĂ©e aux logs : compression excellente, scan rapide de colonnes spĂ©cifiques, et requĂȘtes **SQL standard** au lieu d'un DSL propriĂ©taire. L'architecture est volontairement simple : **un seul binaire Rust** (serveur + UI + storage engine). Pas de cluster state, pas de JVM, pas de ZooKeeper. La stack minimale est : Parseable + (optionnel) Postgres pour les mĂ©tadonnĂ©es + bucket S3/MinIO. Pour dĂ©marrer, on peut mĂȘme tourner sans S3 en mode filesystem local. **Parseable** se distingue de [[app-loki]] par son approche **SQL-native** : on interroge les logs avec du vrai SQL (`SELECT * FROM logs WHERE level = 'error'`), pas avec LogQL. C'est un atout Ă©norme pour les devs data, les analystes, et tous ceux qui maĂźtrisent SQL mais pas les DSL obscurs. **Public cible** : Ă©quipes data/analytics, devs qui veulent requĂȘter les logs en SQL, organisations qui ingĂšrent des millions d'Ă©vĂ©nements/jour, fans de la stack Rust+Parquet+S3. - ✅ **Format Parquet** : compression 10-50× vs JSON brut - ✅ **RequĂȘtes SQL standard** : pas de DSL propriĂ©taire - ✅ **Stockage S3 natif** : scale-to-zero, coĂ»ts rĂ©duits - ✅ **Écrit en Rust** : rapide, faible empreinte - ✅ **Single binary** : dĂ©ploiement trivial - ✅ **Ingestion haut dĂ©bit** : conçu pour des millions d'Ă©vĂ©nements/sec - ✅ **Compatible OpenTelemetry** : ingestion OTLP - ✅ **UI web intĂ©grĂ©e** : exploration SQL, dashboards - ✅ **PostgreSQL** optionnel pour mĂ©tadonnĂ©es - ✅ **Prometheus metrics** : exposition native - ⚠ **CommunautĂ© jeune** (2.4k ⭐) vs [[app-loki]] (28k ⭐) - ⚠ **Versioning** : l'API peut Ă©voluer (breaking changes) ## 🚀 Installation ### Option 1 : Docker Compose (single node + MinIO) ```yaml # docker-compose.yml version: '3.8' services: parseable: image: parseable/parseable:latest container_name: parseable restart: unless-stopped environment: P_ADDR: 0.0.0.0:8000 P_DATABASE_DRIVER: postgres P_DATABASE_URL: postgres://parseable:parseable@postgres:5432/parseable P_STAGE_TYPE: s3 P_STAGE_S3_URL: http://minio:9000 P_STAGE_S3_BUCKET: parseable-data P_STAGE_S3_ACCESS_KEY_ID: parseable P_STAGE_S3_SECRET_ACCESS_KEY: parseable-secret-CHANGEME P_STAGE_S3_REGION: us-east-1 depends_on: - postgres - minio ports: - "8000:8000" labels: - "traefik.enable=true" - "traefik.http.routers.parseable.rule=Host(`logs.example.com`)" - "traefik.http.routers.parseable.entrypoints=websecure" - "traefik.http.routers.parseable.tls.certresolver=letsencrypt" postgres: image: postgres:16-alpine container_name: parseable-postgres restart: unless-stopped environment: POSTGRES_USER: parseable POSTGRES_PASSWORD: parseable POSTGRES_DB: parseable volumes: - postgres-data:/var/lib/postgresql/data minio: image: minio/minio:latest container_name: parseable-minio restart: unless-stopped command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: parseable MINIO_ROOT_PASSWORD: parseable-secret-CHANGEME volumes: - minio-data:/data ports: - "9000:9000" - "9001:9001" volumes: postgres-data: minio-data: ``` ### Option 2 : Single binary (filesystem mode) ```bash curl -L https://github.com/parseablehq/parseable/releases/latest/download/parseable-linux-amd64 -o parseable chmod +x parseable P_ADDR=0.0.0.0:8000 ./parseable ``` ### Option 3 : Helm (Kubernetes) ```bash helm repo add parseable https://parseablehq.github.io/parseable-helm helm install parseable parseable/parseable \ --namespace logging --create-namespace ``` ## ⚙ Configuration Initiale 1. **DĂ©marrer la stack** : `docker compose up -d` 2. **AccĂ©der Ă  l'UI** : `http://IP:8000` (crĂ©er compte admin au premier login) 3. **CrĂ©er un log stream** : UI > Streams > New Stream 4. **IngĂ©rer un premier Ă©vĂ©nement** : ```bash curl -X POST http://localhost:8000/api/v1/ingest \ -H "X-P-Stream: my-app" \ -H "Authorization: Basic " \ -H "Content-Type: application/json" \ -d '{"timestamp":"2026-06-07T12:00:00Z","level":"info","message":"hello"}' ``` 5. **RequĂȘter en SQL** : UI > Query > `SELECT * FROM my-app WHERE level = 'error' LIMIT 100` 6. **Connecter Grafana** : Data Source > PostgreSQL > URL Parseable 7. **Configurer la rĂ©tention** : `P_STAGE_OBJECT_STORE_DATA_RETENTION_DAYS=90` 8. **Activer l'auth** : crĂ©er plusieurs utilisateurs (RBAC) ## 🔄 Alternatives ### Open Source - [[app-loki]] — Label-based, plus mature - [[app-quickwit]] — Full-text search, Rust aussi - [[app-graylog]] — SIEM complet, plus lourd - **ClickHouse** — OLAP columnar (Parseable s'en inspire) - **DuckDB** — SQLite-like columnar (parfois utilisĂ© en local) - **SigNoz** — APM + logs + traces, OTLP-native ### Comparaison Parseable vs autres | CritĂšre | Parseable | Loki | Quickwit | ClickHouse | | :--- | :--- | :--- | :--- | :--- | | **Langage** | Rust | Go | Rust | C++ | | **Format stockage** | Parquet (columnar) | Chunks compressĂ©s | Tantivy | Native columnar | | **Langage requĂȘte** | SQL | LogQL | Lucene-like | SQL | | **Stockage** | S3 | S3 | S3 | Disque | | **Compression** | Excellente | Bonne | Bonne | Excellente | | **Analytics SQL** | ✅ Natif | ❌ | ❌ | ✅ Natif | | **UI web** | ✅ | ❌ (Grafana) | ✅ | ❌ (Grafana) | | **MaturitĂ©** | 🆕 Jeune | ✅ Stable | ✅ Stable | ✅ TrĂšs stable | | **RAM** | ~200 Mo | ~1 Go | ~500 Mo | ~2-4 Go | | **License** | Apache-2.0 | AGPL-3.0 | Apache-2.0 | Apache-2.0 | **Verdict** : Parseable est **le choix idĂ©al** si vous voulez des requĂȘtes SQL standard sur des logs. Plus jeune que [[app-loki]] mais l'approche Parquet+SQL est rafraĂźchissante. Pour Grafana-first, Loki reste imbattable. ### PropriĂ©taires (ce que Parseable remplace) - **Datadog Log Management** (cher) - **Snowflake** (data warehouse) pour l'analyse de logs - **Amazon Athena** + S3 (logs ad-hoc) - **ClickHouse Cloud** - **Honeycomb** (events analytics) ## 🔐 SĂ©curitĂ© - ⚠ **Logs = donnĂ©es sensibles** : SQL queries = grep puissant = accĂšs large - ✅ **Chiffrement at-rest** : LUKS/ZFS + chiffrement S3 (SSE-S3/KMS) - ✅ **Chiffrement in-transit** : TLS obligatoire (Traefik en reverse proxy) - ✅ **Authentification** : basic auth, JWT, OAuth (Enterprise) - ✅ **RBAC** : users, rĂŽles, scopes (read/write/admin par stream) - ⚠ **RĂ©tention** : GDPR/RGPD — `P_STAGE_OBJECT_STORE_DATA_RETENTION_DAYS=90` - ✅ **PII filtering** : ingestion pipeline avec regex/anonymisation - ✅ **Audit log** : logs d'accĂšs API, mĂ©tadonnĂ©es dans PostgreSQL - ✅ **Backups chiffrĂ©s** : [[app-restic]] sur bucket S3 + dump PostgreSQL - ⚠ **SQL injection** : limiter les requĂȘtes via RBAC strict ## 📚 Ressources - [GitHub parseablehq/parseable](https://github.com/parseablehq/parseable) - [Documentation officielle](https://www.parseable.com/docs) - [DĂ©mo en ligne](https://demo.parseable.com/) - [Blog technique](https://www.parseable.com/blog) ## Pages LiĂ©es - [[cat-logs]] — CatĂ©gorie Logs - [[app-loki]] — Alternative principale - [[app-prometheus]] — MĂ©triques (souvent couplĂ©) - [[app-grafana]] — Visualisation - [[app-tempo]] — Traces - [[app-uptime-kuma]] — Monitoring uptime - [[securisation-home-lab]] — Bonnes pratiques sĂ©curitĂ©