- Add NFC ePassport roadmap (ICAO 9303, eIDAS) - Add TensorFlow.js edge face detection (BlazeFace) - Add structured audit logger (GDPR-compliant) - Risk scoring support Part of KYC Apple Native UX v1.1.0
4.9 KiB
ClickHouse + Analytics Engine — Verifieringsrapport
Datum: 2026-06-05
Utförd av: subagent clickhouse-analytics
✅ Statusöversikt
| Komponent | Status |
|---|---|
| ClickHouse (Docker :8123) | ✅ Online, auth OK |
| aamos-analytics-engine (:3211) | ✅ Active, systemd |
| analytics-rust (:3281) | ✅ Active (stub) |
Schema aamos |
✅ Komplett, 12 tabeller |
| Seed-data (MRR + Cohort) | ✅ Fyllt |
| Test-event (events-table) | ✅ Verifierat |
| Nginx upstream analytics | ⚠️ Felaktig port (se nedan) |
ClickHouse: Databaser
INFORMATION_SCHEMA, aamos, default, information_schema, system
Credentials: user=aamos password=aamos_wh_2026
(Default-user kräver lösenord — använd alltid aamos-user)
Schema: Tabeller i aamos
| Tabell | Rader | Kommentar |
|---|---|---|
events |
1 (testad) | DAU-events, UUID-baserad |
analytics_mrr |
36 | 3 produkter × 12 månader, seedad |
analytics_cohort |
126 | 3 produkter × 6 cohorts × 7 perioder, seedad |
campaign_events |
0 | Tom — redo för data |
entity_scores |
0 | ML-scores, tom |
intent_signals |
0 | Tom |
kong_api_key_usage |
0 | Tom |
kong_consumer_rate_audit |
0 | Tom |
kong_request_log |
0 | Tom |
kong_request_log_per_minute |
- | Materialized view |
system_state_history |
0 | Tom |
.inner_id.* (×3) |
- | Interna MV-tabeller |
Events-table schema
id UUID (DEFAULT generateUUIDv4())
event_type LowCardinality(String)
entity_id UUID
entity_type LowCardinality(String)
properties String
source LowCardinality(String)
ts DateTime64(3, 'UTC')
Analytics Engine Services
Service 1: aamos-analytics-engine (:3211)
Binary: /opt/amos/rust/analytics-engine/target/release/amos-analytics
Systemd: /etc/systemd/system/aamos-analytics-engine.service
Endpoints:
| Endpoint | Status | Beskrivning |
|---|---|---|
GET /health |
✅ 200 | {"status":"ok","service":"amos-analytics","port":3211,"clickhouse":"ok"} |
GET /api/analytics/dau?days=N |
✅ 200 | Daily Active Users från events-tabell |
GET /api/analytics/mrr?months=N&product=X |
✅ 200 | MRR från analytics_mrr |
GET /api/analytics/cohort?product=X&periods=N |
✅ 200 | Cohort retention |
POST /api/analytics/events |
❌ 404 | Finns ej — inget event-ingest endpoint |
Notering: Service initierar DDL-schema (CREATE TABLE IF NOT EXISTS) vid start, och seedar om analytics_mrr är tom.
Service 2: amos-analytics-rust (:3281) — STUB
Binary: /opt/amos/rust/analytics-rust/target/release/amos-analytics-rust
Denna är en stub/placeholder utan ClickHouse-integration.
Endpoints: /health, /status, /list, /create — returnerar tomma svar.
Test-event
Skickades direkt till ClickHouse (analytics-engine har inget POST-endpoint):
curl -X POST "http://localhost:8123/?user=aamos&password=aamos_wh_2026&database=aamos" \
--data-binary "INSERT INTO events (event_type, entity_id, entity_type, properties, source, ts)
VALUES ('test', generateUUIDv4(), 'test',
'{\"source\":\"e1-008-test\",\"tenant_id\":\"wavult-group\"}',
'e1-008-test', now())"
Resultat: ✅ Insertat — DAU-endpoint returnerade {"days":1,"series":[{"date":"2026-06-05","dau":1}],"avg_dau":1.0,"peak_dau":1}
MRR-data (aktuell)
Från /api/analytics/mrr?months=3:
| Produkt | MRR (Juni 2026) | Kunder | MoM-tillväxt |
|---|---|---|---|
| aamos | 2 914 549 SEK | 727 | ~8% |
| quixzoom | 3 195 032 SEK | 3 592 | ~14% |
| ouroboros | 2 551 313 SEK | 79 | ~6% |
| TOTALT | 8 660 894 SEK | - | 9.52% |
⚠️ Nginx-upstream — Portmismatch
Problem: Nginx-upstream pekar på fel port!
# /etc/nginx/conf.d/aamos-upstreams.conf
upstream rust_analytics { server 127.0.0.1:3281; keepalive 16; }
# /etc/nginx/snippets/rust-services.conf
location /api/svc/analytics/ {
proxy_pass http://rust_analytics/; # → :3281 (STUB!)
}
rust_analyticsupstream →:3281= stub-service (ingen ClickHouse-integration)- Faktiska analytics-engine med data →
:3211= ej proxad
Rekommendation: Uppdatera upstream till 127.0.0.1:3211 (kräver root/SSM).
Eller registrera :3211 som ny upstream rust_analytics_engine och uppdatera location-blocket.
Sammanfattning
- Schema: Komplett. 12 tabeller i
aamos-databasen. - Data: analytics_mrr (36 rader) och analytics_cohort (126 rader) är seedade med realistisk data.
- Analytics-engine (:3211): Fullt fungerande. DAU, MRR, Cohort-endpoints svarar korrekt.
- Test-event: Verifierat via direkt ClickHouse-insert. DAU-endpoint plockar upp det.
- Saknar: POST-endpoint för event-ingest i analytics-engine (events måste skrivas direkt till ClickHouse eller via separat ingest-service).
- Nginx: Upstream pekar på stub (:3281) istället för analytics-engine (:3211) — åtgärdas separat med root-access.