Monitoreo Kafka de K8S (Prometheus + Grafana)

Para Kafka implementado en K8S, Prometheus + Grafana es una solución de monitoreo de uso común. Hoy, llegaremos al combate real para monitorear Kafka en el entorno K8S a través de Prometheus + Grafana;

Preparación

El enfoque de hoy está en el monitoreo de Kafka, por lo que K8S, Helm, Kafka, Prometheus, Grafana y otros servicios están listos. A continuación se proporcionan algunos enlaces, que pueden usarse como referencia cuando se realiza una implementación relacionada:

  1. Build K8S: "kubespray2.11 install kubernetes1.15"
  2. Build Helm: "Implementar y experimentar Helm (Versión 2.16.1)"
  3. Construya Prometeo y Grafana: "kubernetes1.15 despliegue rápido de prometeo y grafana"
  4. Despliegue de Kafka: "Despliegue rápido de Kafka en el entorno K8S (accesible fuera de K8S)"

Información de la versión

  1. Gobernadores : 1.15
  2. Anfitrión de Kubernetes: CentOS Linux versión 7.7.1908
  3. Servicio NFS: dirección IP 192.168.50.135, carpeta / volumen1 / nfs-storageclass-test
  4. Timón: 2.16.1
  5. Kafka: 2.0.1
  6. Zookeeper : 3.5.5
  7. Prometeo: 2.0.0
  8. Grafana : 5.0.0

Después de la preparación, puedes comenzar el combate real;

Confirmar los parámetros del exportador kafka

El kafka-exportador a desplegar necesita obtener datos de kafka, por lo que deben prepararse los parámetros de kafka-exporter;

  1. Verifique el servicio Kafka donde el TIPO es ClusterIP, como se muestra en el cuadro rojo a continuación:
    Inserte la descripción de la imagen aquí
  2. El nombre del servicio en el cuadro rojo anterior es kafka y el puerto es 9092 , por lo que la información de kafka configurada más adelante en kafka-exporter es kafka: 9092

Operación real

  1. Agregue el almacén de Helm (el almacén tiene el exportador de kafka que necesitamos): repositorio de helm agregue gkarthiks https://gkarthiks.github.io/helm-charts
  2. 下载 kafka-exporter :helm fetch gkarthiks / prometheus-kafka-exporter
  3. Descomprima el archivo de gráfico descargado: tar -zxvf prometheus-kafka-exporter-0.1.0.tgz
  4. Ingrese el directorio descomprimido: cd prometheus-kafka-exporter
  5. Modifique el archivo values.yaml, como se muestra en el cuadro rojo a continuación, kafka: 9092 es la dirección para acceder a kafka bajo el mismo espacio de nombres:
    Inserte la descripción de la imagen aquí
  6. Ejecute en el directorio donde se encuentra el archivo values.yaml: helm install --name-template kafka-exporter -f values.yaml. --Namespace kafka-test (el espacio de nombres de kafka es kafka-test, y el espacio de nombres aquí debe ser coherente con kafka)
  7. Compruebe si el servicio y el pod están listos:
    Inserte la descripción de la imagen aquí
  8. En este punto, hemos implementado kafka-exporter y podemos proporcionarle a prometheus datos de monitoreo, pero prometheus no sabe venir aquí para recopilar datos, por lo que a continuación debemos configurar prometheus
  9. Confirme la dirección de acceso del servicio kafka-exporter . Prometheus recopila los datos que se utilizarán. El nombre y el puerto se muestran en el cuadro rojo en la figura a continuación, para que pueda unir la dirección de acceso en el espacio de nombres: kafka-exporter-prometheus-kafka-exporter.kafka-test. svc.cluster.local: 9308
    Inserte la descripción de la imagen aquí
  10. Si se refiere al prometeo desplegado por "kubernetes1.15 despliegue rápido de prometeo y grafana" , abra el archivo configmap.yaml descargado durante el despliegue , que contiene la configuración de prometeo. ubicación .yml;
  11. configmap.yaml agrega el contenido en el cuadro rojo a continuación, para que prometheus pueda recopilar datos del exportador de kafka:
    Inserte la descripción de la imagen aquí
  12. Haga que la configuración sea efectiva: kubectl apply -f configmap.yaml
  13. En este momento, el contenedor prometheus todavía usa la configuración anterior. Para que la configuración surta efecto, el pod de prometheus debe eliminarse, de modo que el nuevo pod creado automáticamente por K8S use la nueva configuración para encontrar el pod de prometheus: kubectl get pods -n kube -sistema
    Inserte la descripción de la imagen aquí
  14. Eliminar el pod antiguo: kubectl delete pod prometheus-68545d4fd8-f5q2w -n kube-system
  15. Espere a que se cree un nuevo pod automáticamente;
  16. A continuación, inicie sesión en Grafana, configure la página de monitoreo, como se muestra a continuación, realice la operación de importación de plantillas:
    Inserte la descripción de la imagen aquí
  17. Ingrese el número 7589 en la página de la plantilla de importación:
    Inserte la descripción de la imagen aquí
  18. Al elegir una fuente de datos, debe elegir prometeo, como se muestra a continuación:
    Inserte la descripción de la imagen aquí
  19. En este momento, si su kafka ha
    Inserte la descripción de la imagen aquí
    enviado y recibido mensajes, puede ver de inmediato los datos: en este punto, se ha implementado la supervisión de kafka en el entorno K8S, espero que este artículo pueda brindarle alguna referencia;

Bienvenido a prestar atención a mi número público: programador Xinchen

Inserte la descripción de la imagen aquí

376 artículos originales publicados · elogiados 986 · 1.28 millones de visitas

Supongo que te gusta

Origin blog.csdn.net/boling_cavalry/article/details/105466788
Recomendado
Clasificación