SigNoz
Requêtes en lecture seule sur les spans et logs d'erreur depuis un SigNoz auto-hébergé
ID fournisseur : signoz · Maturité : preview · Catégories : Observabilité, Outils
SigNoz — observabilité native OTel. Cette intégration interroge votre instance SigNoz via l'API v5 query_range pour identifier ce qui échoue dans vos services.
En lecture seule par construction. Le seul point de terminaison accessible aux outils de cette intégration est POST /api/v5/query_range. Il n'existe délibérément aucune surface d'alerte, de tableau de bord ou de configuration : un workflow capable de modifier votre plan d'observabilité a un rayon d'impact bien plus large qu'un workflow qui peut seulement le lire.
Authentification
| Identifiant | Notes |
|---|---|
apiKey | Une clé API SigNoz (Paramètres → Clés API), envoyée dans l'en-tête SIGNOZ-API-KEY. SigNoz n'utilise pas Authorization: Bearer pour ces clés. |
Configuration
| Champ | Notes |
|---|---|
signozBaseUrl | URL de base de votre API de requête SigNoz, sans barre oblique finale — par exemple http://signoz-query.internal.scrydon.com:8080. Obligatoire. |
SigNoz est auto-hébergé : il n'existe donc pas d'origine publique fixe comme pour un fournisseur SaaS. L'adresse accessible est la vôtre, ce qui explique qu'elle relève de la configuration plutôt que d'une constante.
Si SigNoz se trouve derrière un point de terminaison privé, deux conditions doivent être réunies, sans quoi tous les appels sont refusés : l'hôte doit figurer sur la liste d'autorisation de sortie de l'organisation, et la sortie vers les plages d'adresses privées doit être activée. Le pare-feu SSRF bloque les destinations RFC1918 par défaut, et une liste d'autorisation vide signifie tout refuser, et non aucune politique.
Capacités
| Outil | Résultat |
|---|---|
| Query Error Spans | Les spans en erreur (has_error = true), regroupés par service, opération et message de statut, classés par nombre d'occurrences. C'est la requête « qu'est-ce qui échoue ». |
| Query Error Logs | Les enregistrements de logs bruts ERROR et FATAL avec corps, service et sévérité — lorsque le message de statut du span est trop succinct pour identifier la cause. |
Les deux outils acceptent une fenêtre bornée (lookbackHours, 24 par défaut, ou start/end explicites) et une limit (500 par défaut, plafond strict à 5 000).
Deux comportements à connaître
La troncature est signalée, jamais silencieuse. Les deux outils renvoient un indicateur truncated lorsque le résultat atteint la limite. Un balayage tronqué qui paraît complet est pire qu'un balayage restreint qui l'admet.
Une forme de réponse non reconnue fait échouer l'appel. SigNoz ne publie pas de schéma de réponse pour query_range v5 : une montée de version pourrait donc en modifier la forme. Plutôt que de se rabattre sur un résultat vide — qui se lirait comme « aucune erreur trouvée » — l'intégration lève une erreur. Un angle mort visible vaut mieux qu'un rapport impeccable auquel on ne peut pas se fier.
Regroupement sur status_message
Les spans en erreur sont regroupés sur service.name + nom du span + status_message, et non sur response_status_code. Pour les spans Dapr CallLocal et de binding, le code de statut est vide, et l'échec lisible par un humain — Code(403): Forbidden, ou un refus de contrôle d'accès verbatim — se trouve dans status_message.