Estoy ejecutando mis servicios en clústeres de EKS. Para recopilar las métricas de la aplicación [tiempos de respuesta de la API, estado y número de llamadas], me topé con Prometheus. Hay los siguientes pasos que creo que deben hacerse:
Me encontré con Prometheus usando helm , que describe cómo podemos hacer uso de los gráficos de Prometheus predefinidos de helm para obtener las métricas sin procesar de Kubernetes.
Seguí los pasos:
kubectl create namespace prometheus helm install prometheus stable/prometheus \ --namespace prometheus \ --set alertmanager.persistentVolume.storageClass="gp2",server.persistentVolume.storageClass="gp2" kubectl get pods -n prometheusPuedo ver los pods ejecutándose con ese espacio de nombres. Ahora, tengo dos preguntas,
kubectl --namespace=prometheus port-forward deploy/prometheus-server 9090 cada vez para ver los resultados? Veo que targetPort está definido como 9090 , entonces, ¿por qué necesito ejecutar el comando? ¿Puedo simplemente values.yaml en su lugar?Bueno para responder a sus preguntas
Sí, puede distinguir las métricas del servicio usando la etiqueta, solo use así en su mapa de configuración de Prometheus
static_configs: - targets: - "<yourfirstservicename>.<namespace>.svc.cluster.local:<yourservice1portnumber>" labels: instance: 'service1' - targets: - "<yourservice2name>.<namespace>.svc.cluster.local:<yourservice2port>" labels: instance: 'service2'Sí, tiene que hacer ese reenvío de puertos, pero si planea usar grafana para la visualización, la nueva versión de grafana proporciona una funcionalidad de ejecución de consultas integrada.
Espero que esto sea de ayuda !!