Les exemples utilisent kube-prometheus-stack, mais la méthode est générique et s’applique à tout déploiement Prometheus. Pour connaître les contraintes propres au maillage, consultez Vue d’ensemble de la supervision.
Comment Vantage publie les métriques
/metrics-text, sur le port 8080 du conteneur. Les services qui exposent ce point de terminaison portent le label abbyy.platform.metrics.text.endpoint: "1" et mettent en correspondance un port de service (généralement 80) avec le port du conteneur portant le nom http. Prometheus découvre ces services et en collecte les métriques via un ServiceMonitor ; aucun OpenTelemetry Collector distinct n’est requis pour la collecte des métriques.
Pour une vue complète du concept et des contraintes du maillage de services, voir Vue d’ensemble de la supervision.
Prérequis
- Une installation Vantage opérationnelle (opérateur et charges de travail déployés).
- Helm 3.
- Un accès
kubectlau cluster. - Lorsque KEDA est activé, une instance Prometheus joignable à l’adresse
prometheus-operated.observability.svc.cluster.local:9090.
Configurer Prometheus
otlp-write-receiver et passez l’argument --web.enable-otlp-receiver à l’instance Prometheus.
Ajoutez le dépôt Helm :
observability-values.yaml) :
Configurer Prometheus pour collecter les métriques de Vantage
vantage-selfhosted peut créer les objets ServiceMonitor nécessaires pour surveiller Vantage :
observability se trouve au niveau racine et ne doit pas être placée sous vantage.
mTLS Linkerd
observability, activez le ServiceMonitor de Vantage et vérifiez que chaque cible Vantage est UP.
Si une politique d’autorisation stricte de Linkerd bloque la collecte, utilisez l’une des approches suivantes :
- Activez l’injection Linkerd pour l’espace de noms
observabilityafin que Prometheus participe au maillage. - Configurez
observability.prometheus.serviceMonitor.scheme: httpsainsi qu’untlsConfigfaisant référence aux certificats clients mis à la disposition de Prometheus par votre configuration Linkerd.
ScaledObject. Voir Autoscaling avec KEDA pour les requêtes d’inspection et les vérifications de disponibilité.
Istio mTLS
ingress.enabled est true et ingress.type est istio), Prometheus et le ServiceMonitor doivent être configurés pour collecter les métriques des points de terminaison via mTLS, car Prometheus utilise directement les adresses IP des pods plutôt que le nom du service.
Configurez le ou les pods Prometheus avec les annotations suivantes :
volume et volumeMount suivants (les noms et les chemins sont personnalisables ; les exemples ci-dessous les utilisent) :
vantage-selfhosted afin que le(s) ServiceMonitor soient configuré(s) pour utiliser ces certificats :
Vérifiez que les métriques remontent
http://localhost:9090/targets pour voir le statut de collecte de chacune.
Accéder à Grafana
http://localhost:3000. Les identifiants par défaut sont admin / le mot de passe défini dans le fichier de valeurs. Prometheus est préconfiguré en tant que source de données.
Métriques disponibles
service, pod, namespace et otel_scope_name. Voir Métriques disponibles pour consulter le catalogue complet.
Ingestion OTLP
L’ingestion OTLP fonctionne en mode push et est indépendante du flow
ServiceMonitor ci-dessus, qui repose sur le scrape. Utilisez-la uniquement pour les services qui envoient des métriques OpenTelemetry au lieu d’exposer un point de terminaison de scrape.--web.enable-otlp-receiver), tout service qui envoie des métriques OTLP via HTTP peut les envoyer à :
