Passa al contenuto principale

Operations

Usa questa pagina per consultare gli endpoint di salute e le metriche Prometheus dei processi lunghi.

Health, readiness e metriche​

afe serve --ops-port N e afe worker --ops-port N servono tre endpoint su una porta dedicata, separata dall'API. Non contengono nulla di segreto e non chiedono un token; ascoltano su 127.0.0.1 a meno che --ops-host non dica altro.

Endpoint200 quando503 quando
/livezserve: risponde. Un worker: il suo ciclo di claim ha girato negli ultimi secondi, oppure sta facendo drainil ciclo di claim è bloccato
/readyzstore e broker rispondono a un ping entro 2 suna dipendenza non risponde, nominata una per riga; un worker dopo SIGTERM (draining)
/metricssempre: il formato di testo Prometheus—

La liveness non chiama mai store o broker, così un'interruzione rende i processi non pronti, senza farli riavviare. Ogni processo conta ciò che registra lui, così la somma dei processi conta ogni fatto una volta sola:

MetricaLabel
afe_tickets_started_total (dove il ticket viene aperto: serve)flow
afe_tickets_finished_total (dove finisce: un worker)flow, state
afe_nodes_total, afe_node_duration_seconds (istogramma), nodi agent e scriptflow, type
afe_model_tokens_totalflow, model, direction (in, out)
afe_model_cost_usd_totalflow, model
afe_tool_calls_totalflow
afe_pauses_totalflow, kind
afe_queue_waiting, afe_queue_claimed, afe_workers_live (solo serve)—

Nessuna label contiene un id di ticket, un valore di input o un segreto.

Ogni processo di lunga durata serve /livez, /readyz e /metrics su una porta operativa dedicata, separata dalla porta dell'API.

Processo/livez/readyz
servel'event loop rispondestore e broker raggiungibili, revisione corrente caricata
workeril ciclo di claim ha girato negli ultimi secondistore e broker raggiungibili; non in drain
operator (V7c)il ciclo di reconcile è vivoha il lease da leader
UI (V7)il processo rispondeserve raggiungibile
  • La liveness non dipende mai da Postgres o Redis: un'interruzione del database non deve riavviare tutti i Pod.
  • Le metriche sono in formato Prometheus, calcolate dagli eventi del motore e dalle metriche della coda: ticket per flow e stato, profondità della coda, durata dei nodi, token e costo dei modelli. Non contengono segreti né id di ticket. Con il Prometheus operator, l'operator di afe aggiunge un ServiceMonitor.
  • Le trace vanno a Langfuse o a un qualsiasi collector OpenTelemetry via OTLP.

Vedi anche​

  • CLI per --ops-host e --ops-port.
  • API per la WebSocket applicativa.