Observabilité
Des traces vers votre propre collecteur, des métriques pour votre propre Prometheus, un tableau de bord Grafana prêt à l'emploi, et un journal d'audit tenu à part des journaux de diagnostic.
Rikoo ne remonte rien à son éditeur. Tout ce qui suit part vers une infrastructure que vous exploitez, et si vous n'en exploitez aucune, rien ne tombe en panne.
Traces
Chaque exécution est exportée comme une trace OpenTelemetry qui suit les conventions sémantiques de l'IA générative : un span pour l'exécution, un par appel de modèle et un par appel d'outil, avec les jetons, le coût et la latence en attributs. Une exécution lancée par une requête HTTP rejoint la trace de cette requête : une seule trace suit le travail du serveur d'API jusqu'au worker qui l'a exécuté.
Les traces partent en OTLP sur HTTP (http/protobuf par défaut, ou http/json). gRPC n'est pas pris en charge. Le worker et le serveur d'API ont chacun leur propre réglage de collecteur, et le serveur d'API n'exporte rien tant que vous ne lui en donnez pas un.
OTEL_EXPORTER_OTLP_ENDPOINT=http://collector.internal:4318 # worker
OTEL_EXPORTER_OTLP_ENDPOINT_API=http://collector.internal:4318 # API server
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=false # leave off unless you mean it
Les spans portent la forme d'une exécution, pas son contenu. Les prompts et les réponses ne sont joints que si un exploitant active OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT (l'ancien nom OTEL_GENAI_CAPTURE_CONTENT est toujours lu), et c'est désactivé par défaut. Les arguments et les résultats d'outils ne sont jamais joints. Un média n'entre jamais dans un span : sa référence, oui, jamais ses octets ni une URL signée.
Métriques
Le worker sert des métriques Prometheus sous /metrics sur son port de santé interne, 3100 par défaut, sans rien à activer : nombre et durée des exécutions, profondeur des files et attente, retard de la boîte d'envoi, latence des appels de modèle et consommation de jetons, tentatives en échec auprès des fournisseurs, et les métriques du processus Node.js. Collectez-les avec ce que vous exploitez déjà.
Le serveur d'API sert les siennes sur le port 9464 (latence par route, refus de limitation de débit, métriques du processus) dès que OTEL_METRICS_EXPORTER_API=prometheus est positionné. Aucun des deux ports n'est publié hors du réseau du déploiement. Infrastructure liste les points d'accès de santé et de métriques de chaque service.
Un tableau de bord prêt à l'emploi
Construire des panneaux depuis un Grafana vide prend des jours avant le premier graphique utile. Rikoo fournit sur demande un tableau de bord Grafana : un seul fichier JSON, construit à partir des métriques que la plateforme expose réellement au lieu d'être adapté d'un gabarit générique.
Importez-le dans votre Grafana, choisissez votre source de données, et les graphiques s'affichent. Il s'ouvre sur deux rangées seulement : si chaque composant est opérationnel, et les quelques chiffres qui comptent. Le détail par file, les fournisseurs de modèles avec la consommation de jetons et les métriques internes démarrent repliés, à un clic.
Le tableau de bord exécute les mêmes requêtes quelle que soit la source de données : Prometheus, VictoriaMetrics, Thanos et Mimir conviennent tous. Le seul prérequis est que votre stockage collecte déjà le point d'accès du worker ci-dessus.
Sur Kubernetes, le chart Helm peut créer un ServiceMonitor pour le worker et un pour le serveur d'API (tous deux désactivés par défaut), pour qu'un cluster équipé du Prometheus Operator les découvre. Voir Kubernetes (Helm).
Le journal d'audit
Le journal d'audit est distinct des journaux de diagnostic, et c'est lui qui fait foi. Il enregistre qui a fait quoi : une version publiée, des droits modifiés, un secret consulté, un membre invité, une clé d'API révoquée. Il est en ajout seul, garanti par la base de données, et ne dépend pas de la rétention de vos journaux. Le Studio l'affiche sur l'écran Journal d'audit, sous Surveillance. Dans l'édition Community, rien ne le purge avec le temps. Le module Enterprise d'audit complet ajoute des filtres, l'export CSV et une durée de rétention, voir Modules Enterprise.