Exportateur d’observabilité Citrix ADC avec Prometheus et Grafana

Vous pouvez configurer Prometheus en tant que point de terminaison pour extraire les données de l’exportateur d’observabilité Citrix ADC. Vous pouvez également configurer Grafana pour visualiser les mêmes données graphiquement.

Citrix ADC Observability Exporter possède un serveur de passerelle push qui écoute le port 5563 pour diffuser des métriques basées sur les demandes de tirage de Prometheus. L’exportateur d’observabilité Citrix ADC exporte les données de séries chronologiques vers Prometheus.

Architecture de Prométhée et Grafana

Déployer l’exportateur d’observabilité Citrix ADC

Vous pouvez déployer l’exportateur d’observabilité Citrix ADC à l’aide du fichier YAML. Sur la base de votre déploiement Citrix ADC, déployez Citrix ADC Observability Exporter en dehors ou à l’intérieur des clusters Kubernetes. Vous pouvez déployer l’exportateur d’observabilité Citrix ADC en tant qu’espace à l’intérieur du cluster Kubernetes ou sur l’appliance Citrix ADC MPX ou VPX en dehors du cluster.

Conditions préalables

  • Assurez-vous que vous disposez d’un cluster Kubernetes sur lequel le module complémentaire Kube-dns ou CoreDNS est activé.

Le déploiement de Citrix ADC Observability Exporter avec le point de terminaison Prometheus inclut les tâches suivantes :

  • Déployer un exemple d’application
  • Déployer Citrix ADC CPX avec la prise en charge de Citrix ADC Observability Exporter activée
  • Déployer Prometheus et Grafana à l’aide de fichiers YAML
  • Déployer l’exportateur d’observabilité Citrix ADC à l’aide du fichier YAML
  • Configurer Citrix ADC pour exporter des métriques (facultatif)
  • Configurez Prometheus (facultatif) pour extraire les données de télémétrie
  • Configurer Grafana
  • Créer une visualisation Grafana

Déployer un exemple d’application

Voici un exemple de procédure pour déployer un exemple d’application de serveur Web.

Remarque :

Si vous disposez d’une application Web prédéployée, ignorez les étapes de l’étape 1 à l’étape 3.

  1. Créez un fichier ingress.crt et une clé ingress.key secrets à l’aide de votre propre certificat et clé.

    Dans cet exemple, un secret, appelé ing dans l’espace de noms par défaut, est créé.

      kubectl create secret tls ing --cert=ingress.crt --key=ingress.key
    
  2. Accédez au fichier YAML à partir de webserver-es.yaml pour déployer l’application.

      kubectl create -f webserver-es.yaml
    
  3. Définissez les paramètres spécifiques que vous devez importer en les spécifiant dans les annotations d’entrée du fichier YAML de l’application, à l’aide des annotations intelligentes de l’entrée.

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

    Remarque :

    Les paramètres sont prédéfinis dans le fichier webserver-es.yaml.

    Pour plus d’informations sur les annotations, consultez la documentation relative aux annotations d’entrée.

Déployer Citrix ADC CPX avec la prise en charge de Citrix ADC Observability Exporter activée

Vous pouvez déployer Citrix ADC CPX en tant que side-car avec la prise en charge de Citrix ADC Observability Exporter activée avec le Citrix ingress controller. Vous pouvez modifier le fichier YAML Citrix ADC CPX cpx-ingress-es.yaml pour inclure les informations de configuration requises pour la prise en charge de l’exportateur d’observabilité Citrix ADC.

Voici un exemple de procédure de déploiement d’applications.

  1. Téléchargez les fichiers cpx-ingress-prometheus.yaml et cic-configmap.yaml .
  2. Créez un ConfigMap avec les paires clé-valeur requises et déployez le ConfigMap. Vous pouvez utiliser le fichier cic-configmap.yaml disponible, pour le point de terminaison spécifique, dans le répertoire.
  3. Modifiez les paramètres relatifs à Citrix ADC CPX, selon vos besoins.
  4. Modifiez le fichier cic-configmap.yaml et spécifiez les variables suivantes pour Citrix ADC Observability Exporter dans la configuration du point de terminaison NS_ANALYTICS_CONFIG.

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

    Remarque :

    Si vous avez utilisé un espace de noms autre que celui par défaut, coe-prometheus.default.svc.cluster.local to remplacez-le par coe-prometheus.<desired-namespace>.svc.cluster.local.

  5. Déployez Citrix ADC CPX avec la prise en charge de l’exportateur d’observabilité Citrix ADC à l’aide des commandes suivantes :

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

Déployer Prometheus et Grafana à l’aide de fichiers YAML

Pour déployer Prometheus et Grafana à l’aide de fichiers YAML, effectuez les opérations suivantes :

  1. Téléchargez le fichier Prometheus-Grafana YAML sur prometheus-grafana.yaml.
  2. Modifiez la définition de l’espace de noms si vous souhaitez utiliser un autre espace de noms que celui par défaut.
  3. Exécutez les commandes suivantes pour déployer Prometheus et Grafana :

      kubectl create -f prometheus-grafana.yaml
    

Remarque :

Prometheus et Grafana sont déployés dans l’espace de noms par défaut du même cluster Kubernetes.

Déployer l’exportateur d’observabilité Citrix ADC à l’aide du fichier YAML

Vous pouvez déployer l’exportateur d’observabilité Citrix ADC à l’aide du fichier YAML. Téléchargez le fichier YAML depuis coe-prometheus.yaml.

Pour déployer l’exportateur d’observabilité Citrix ADC à l’aide du YAML Kubernetes, exécutez la commande suivante :

  kubectl create -f coe-prometheus.yaml

Remarque :

Modifiez le fichier YAML pour Citrix ADC Observability Exporter si vous disposez d’un espace de noms personnalisé.

Configurer Citrix ADC pour exporter des métriques (facultatif)

Remarque :

Si vous n’utilisez pas le Citrix ingress controller pour configurer Citrix ADC, vous pouvez effectuer la configuration manuelle suivante sur votre Citrix ADC.

Vous pouvez configurer manuellement Citrix ADC pour exporter des métriques vers l’exportateur d’observabilité Citrix ADC. Spécifiez l’adresse IP/FQDN de l’exportateur d’observabilité Citrix ADC en tant que service HTTP et combinez-la au profil ns_analytics_time_series_profile d’analyse par défaut. Activez l’exportation des métriques et définissez le mode de sortie sur Prometheus.

Voici un exemple de configuration :

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

Configurez Prometheus (facultatif) pour extraire les données de télémétrie

Les services Prometheus sont disponibles sous forme d’images Docker sur le registre de conteneurs Quay et Docker Hub.

Pour lancer Prometheus et l’exposer sur le port 9090, exécutez la commande suivante :

docker run -p 9090:9090 prom/prometheus

Pour ajouter manuellement l’exportateur d’observabilité Citrix ADC en tant que cible à gratter, modifiez le fichier prometheus.yaml. Spécifiez l’adresse IP/FQDN de l’exportateur d’observabilité Citrix ADC et le port 5563 comme cible de raclage dans le fichier YAML.

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

Configurer Grafana

Dans le déploiement actuel, un serveur Prometheus a déjà été ajouté en tant que source de données. Si vous utilisez un serveur Prometheus existant pour le déploiement, assurez-vous de l’ajouter en tant que source de données sur votre Grafana. Pour plus d’informations, voir Prise en charge de Grafana pour Prometheus.

Créer une visualisation Grafana

Vous pouvez créer un tableau de bord Grafana et sélectionner les mesures clés et le type de visualisation qui conviennent aux données.

La procédure suivante montre l’ajout de la métrique CPU ADC à un panneau Grafana :

  1. Spécifiez le titre du panneau en tant que CPU ADC.
  2. Dans l’onglet Requête, pour la requête A, spécifiez la mesure en tant que cpu_use.
  3. Dans l’onglet Paramètres, sélectionnez le type de visualisation.

    Vous pouvez modifier les données et leur représentation dans Grafana. Pour plus d’informations, consultez la documentation Grafana.

    Tableau de bord Graf

Importez des tableaux de bord prédéfinis pour Grafana

Vous pouvez également importer des tableaux de bord prédéfinis dans Grafana. Consultez les tableaux de borddisponibles.

Pour plus d’informations sur le dépannage lié à Citrix ADC Observability Exporter, consultez la section Dépannage Citrix ADC CPX.

Exportateur d’observabilité Citrix ADC avec Prometheus et Grafana