Files
boc/memory/clickhouse-analytics-result.md
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- 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
2026-06-29 16:24:48 +00:00

4.9 KiB
Raw Blame History

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_analytics upstream → :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.