Citrix ADC Observability Exporter con Prometheus y Grafana

Puede configurar Prometheus como un punto final para extraer datos de Citrix ADC Observability Exporter. También puede configurar Grafana para que visualice los mismos datos gráficamente.

Citrix ADC Observability Exporter tiene un servidor de puerta de enlace push que escucha el puerto 5563 para servir métricas basadas en solicitudes de extracción de Prometheus. Citrix ADC Observability Exporter exporta datos de series temporales a Prometheus.

Arquitectura de Prometheus y Grafana

Implementar Citrix ADC Observability Exporter

Puede implementar Citrix ADC Observability Exporter mediante el archivo YAML. Según su implementación de Citrix ADC, implemente Citrix ADC Observability Exporter fuera o dentro de los clústeres de Kubernetes. Puede implementar Citrix ADC Observability Exporter como un pod dentro del clúster de Kubernetes o en el dispositivo Citrix ADC MPX o VPX fuera del clúster.

Requisitos previos

  • Asegúrate de tener un clúster de Kubernetes con el complemento kube-dns o CoreDNS habilitado.

La implementación de Citrix ADC Observability Exporter con el punto final de Prometheus incluye las siguientes tareas:

  • Implementar una aplicación de ejemplo
  • Implementar Citrix ADC CPX con soporte habilitado para Citrix ADC Observability Exporter
  • Implementación de Prometheus y Grafana mediante archivos YAML
  • Implementar Citrix ADC Observability Exporter mediante el archivo YAML
  • Configurar Citrix ADC para exportar métricas (opcional)
  • Configurar Prometheus (opcional) para extraer datos de telemetría
  • Configurar Grafana
  • Crear visualización Grafana

Implementar una aplicación de ejemplo

A continuación se muestra un procedimiento de ejemplo para implementar una aplicación de servidor web de ejemplo.

Nota:

Si tiene una aplicación web implementada previamente, omita los pasos del paso 1 al paso 3.

  1. Cree un ingress.crt secreto y clave ingress.key con su propio certificado y clave.

    En este ejemplo, se crea un secreto, llamado ing en el espacio de nombres predeterminado.

      kubectl create secret tls ing --cert=ingress.crt --key=ingress.key
    
  2. Acceda al archivo YAML desde webserver-es.yaml para implementar la aplicación.

      kubectl create -f webserver-es.yaml
    
  3. Defina los parámetros específicos que debe importar especificándolos en las anotaciones de entrada del archivo YAML de la aplicación, con las anotaciones inteligentes en la entrada.

      ingress.citrix.com/analyticsprofile: '{"webinsight": {"httpurl":"ENABLED", "httpuseragent":"ENABLED", "httpHost":"ENABLED","httpMethod":"ENABLED","httpContentType":"ENABLED"}}'
    

    Nota:

    Los parámetros están predefinidos en el archivo webserver-es.yaml.

    Para obtener más información sobre las anotaciones, consulte la documentación de anotaciones de entrada.

Implementar Citrix ADC CPX con soporte habilitado para Citrix ADC Observability Exporter

Puede implementar Citrix ADC CPX como un coche lateral con la compatibilidad con Citrix ADC Observability Exporter habilitada junto con el Citrix Ingress Controller. Puede modificar el archivo YAML de Citrix ADC CPX cpx-ingress-es.yaml para incluir la información de configuración que se requiere para la compatibilidad con Citrix ADC Observability Exporter.

A continuación se muestra un ejemplo de procedimiento de implementación de aplicaciones.

  1. Descargue los archivos cpx-ingress-prometheus.yaml y cic-configmap.yaml.
  2. Cree un ConfigMap con los pares clave-valor requeridos e implemente el ConfigMap. Puede usar el archivo cic-configmap.yaml que está disponible, para el punto final específico, en el directorio.
  3. Modifique los parámetros relacionados con Citrix ADC CPX, según sea necesario.
  4. Modifique el archivo cic-configmap.yaml y especifique las siguientes variables para Citrix ADC Observability Exporter en la configuración del dispositivo de punto final NS_ANALYTICS_CONFIG.

      server: 'coe-prometheus.default.svc.cluster.local' # COE service FQDN
    

    Nota:

    Si ha utilizado un espacio de nombres distinto al predeterminado, cambie coe-prometheus.default.svc.cluster.local to a coe-prometheus.<desired-namespace>.svc.cluster.local.

  5. Implemente Citrix ADC CPX con la compatibilidad de Citrix ADC Observability Exporter mediante los siguientes comandos:

      kubectl create -f cpx-ingress-prometheus.yaml
      kubectl create -f cic-configmap.yaml
    

Implementación de Prometheus y Grafana mediante archivos YAML

Para implementar Prometheus y Grafana mediante archivos YAML, lleve a cabo los siguientes pasos:

  1. Descargue el archivo Prometheus-Grafana YAML de prometheus-grafana.yaml.
  2. Modifique la definición del espacio de nombres si quiere utilizar un espacio de nombres diferente al predeterminado.
  3. Ejecute los siguientes comandos para implementar Prometheus y Grafana:

      kubectl create -f prometheus-grafana.yaml
    

Nota:

Prometheus y Grafana se implementan en el espacio de nombres predeterminado del mismo clúster de Kubernetes.

Implementar Citrix ADC Observability Exporter mediante el archivo YAML

Puede implementar Citrix ADC Observability Exporter mediante el archivo YAML. Descargue el archivo YAML de coe-prometheus.yaml.

Para implementar Citrix ADC Observability Exporter mediante el YAML de Kubernetes, ejecute el siguiente comando:

  kubectl create -f coe-prometheus.yaml

Nota:

Modifique el archivo YAML para Citrix ADC Observability Exporter si tiene un espacio de nombres personalizado.

Configurar Citrix ADC para exportar métricas (opcional)

Nota:

Si no usa el Citrix Ingress Controller para configurar Citrix ADC, puede realizar la siguiente configuración manual en su Citrix ADC.

Puede configurar manualmente los ADC de Citrix para exportar métricas al exportador de Citrix ADC Observability. Especifique la dirección IP/FQDN de Citrix ADC Observability Exporter como un servicio HTTP y combínelo con el perfil de ns_analytics_time_series_profile análisis predeterminado. Habilita la exportación de métricas y establece el modo de salida en Prometheus.

A continuación se muestra un ejemplo de configuración:

add server COE_instance 192.168.1.102
add service coe_metric_collector_svc_192.168.1.102 COE_instance HTTP 5563
set analytics profile ns_analytics_time_series_profile -collector coe_metric_collector_svc_192.168.1.102 -Metrics ENABLED -OutputMode Prometheus

Configurar Prometheus (opcional) para extraer datos de telemetría

Los servicios de Prometheus están disponibles como imágenes de Docker en Quay container Registry y Docker Hub.

Para iniciar Prometheus y exponerlo en el puerto 9090, ejecute el siguiente comando:

docker run -p 9090:9090 prom/prometheus

Para agregar manualmente Citrix ADC Observability Exporter como destino de raspado, modifique el archivo prometheus.yaml. Especifique la dirección IP/FQDN de Citrix ADC Observability Exporter y el puerto 5563 como destino de raspado en el archivo YAML.

scrape_configs:
  - job_name: coe
    static_configs:
      - targets: ['192.168.1.102:5563']

Configurar Grafana

En la implementación actual, ya se ha agregado un servidor Prometheus como fuente de datos. Si utiliza un servidor Prometheus existente para la implementación, asegúrese de agregar lo mismo como fuente de datos en su Grafana. Para obtener más información, consulta Soporte de Grafana para Prometheus.

Crear visualización Grafana

Puede crear un panel de Grafana y seleccionar las métricas clave y el tipo de visualización que sea adecuado para los datos.

El siguiente procedimiento muestra la adición de la métrica de CPU de ADC a un panel Grafana:

  1. Especifique el título del panel como CPU ADC.
  2. En la ficha Consulta, para la consulta A, especifique la métrica como cpu_use.
  3. En la ficha Configuración, seleccione el tipo de visualización.

    Puede modificar los datos y su representación en Grafana. Para obtener más información, consulte Documentación de Grafana.

    Panel de control Grafana

Importar paneles prediseñados para Grafana

También puede importar paneles prediseñados a Grafana. Consulte los panelesdisponibles.

Para obtener información sobre la solución de problemas relacionados con Citrix ADC Observability Exporter, consulte Solución de problemas de Citrix ADC CPX.

Citrix ADC Observability Exporter con Prometheus y Grafana