Article
· 4 hr il y a 6m de lecture

Surveillance d'InterSystems IRIS avec Prometheus et Grafana

La surveillance de votre déploiement IRIS est cruciale. Avec l'obsolescence de System Alert and Monitoring (SAM), une solution moderne et scalable est nécessaire pour obtenir des informations en temps réel, détecter précocement les problèmes et améliorer l'efficacité opérationnelle. Ce guide explique comment configurer Prometheus et Grafana dans Kubernetes pour surveiller efficacement InterSystems IRIS.

Ce guide suppose que vous avez déjà déployé un cluster IRIS en utilisant l'InterSystems Kubernetes Operator (IKO), qui simplifie le déploiement, l'intégration et la gestion.

 


Pourquoi utiliser Prometheus et Grafana ?

Prometheus et Grafana sont des outils largement adoptés pour la surveillance et la visualisation cloud-native. Voici pourquoi ils sont appropriés :

  • Scalabilité : Prometheus gère efficacement l'ingestion de grandes quantités de données.
  • Alerting : Alertes personnalisables via Prometheus Alertmanager.
  • Visualisation : Grafana offre des tableaux de bord riches et personnalisables pour les métriques Kubernetes.
  • Facilité d'intégration : Intégration fluide avec les workloads Kubernetes.

Prérequis

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  • Une connaissance de base de Kubernetes et Linux.
  • kubectl et helm installés.
  • Une familiarité avec les concepts de Prometheus (consultez la documentation officielle pour plus d'informations).
  • Une instance IRIS déployée avec IKO, refer to another article here.  

Étape 1 : Activer les métriques dans InterSystems IRIS

IRIS expose ses métriques via /api/monitor/ au format Prometheus. Assurez-vous que ce point d'accès est activé :

  1. Ouvrez le Management Portal.
  2. Accédez à System Administration > Security > Applications > Web Applications.
  3. Vérifiez que /api/monitor/ est activé et accessible par Prometheus.
  4. Testez l'accessibilité en naviguant à l'URL suivante :
http://<IRIS_HOST>:<PORT>/api/monitor/metrics


Étape 2 : Déployer Prometheus avec Helm

Nous allons utiliser le chart kube-prometheus-stack, qui inclut Prometheus, Alertmanager et Grafana.

  1. Créez un fichier values.yaml avec la configuration suivante :
    prometheus:
      prometheusSpec:
        additionalScrapeConfigs:
          - job_name: 'intersystems_iris_metrics'
            metrics_path: '/api/monitor/metrics'
            static_configs:
              - targets:
                  - 'iris-app-compute-0.iris-svc.commerce.svc.cluster.local:80' # Replace with your IRIS service
    
          # To scrape custom metrics from the REST API created in IRIS
          - job_name: 'custom_iris_metrics'
            metrics_path: '/web/metrics'
            static_configs:
              - targets:
                  - 'commerce-app-webgateway-0.iris-svc.commerce.svc.cluster.local:80'
            basic_auth:
              username: '_SYSTEM'
              password: 'SYS'
    • Explanation:
      • iris-app-compute-0.iris-svc.commerce.svc.cluster.local:80: The format of the target should follow this convention: <pod-name>-iris-svc.<namespace>.svc.cluster.local:80. Replace <pod-name> with your IRIS pod, specify whether you want to scrape compute or data pods, and adjust the namespace as needed.
      • basic_auth** section**: If authentication is required to access the IRIS metrics endpoint, provide the necessary credentials.
  2. Ajoutez le repository Helm:
    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm repo update
     
  3. Installez Prometheus avec Helm:
    helm install monitoring prometheus-community/kube-prometheus-stack -n monitoring --create-namespace -f values.yaml
  4. Vérifiez le déploiement:
    kubectl get pods -n monitoring
     

Étape 3 : Ajouter des métriques personnalisées avec l'API REST

Créez une page CSP personnalisée pour servir vos propres métriques :

 
CustomMetrics.REST

Déployez cette API sous une nouvelle application web appelée metrics dans IRIS.


Étape 4 : Vérifier l'installation de Prometheus

  1. Ouvrez l'interface Prometheus:(http://<PROMETHEUS_HOST>:9090).
  2. Allez dans Status > Targets et confirmez que les métriques IRIS sont collectées.

 


Étape 5 : Accéder à Grafana

1. Récupérez les détails du service Grafana :

kubectl get svc -n monitoring
  1. Accédez à Grafana via port-forwarding:
    kubectl port-forward svc/monitoring-grafana -n monitoring 3000:80
    Ensuite, ouvrez http://localhost:3000

Étape 6 : Se connecter à Grafana

  • Nom d'utilisateur : admin
  • Mot de passe : prom-operator (ou le mot de passe défini lors de l'installation).

 


Étape 7 : Importer un tableau de bord personnalisé

J'ai créé un tableau de bord personnalisé spécialement adapté aux métriques d'InterSystems IRIS, que vous pouvez utiliser comme point de départ pour vos besoins de surveillance. Le fichier JSON de ce tableau de bord est hébergé sur GitHub pour un accès et une importation faciles: Download the Custom Dashboard JSON

Pour importer le tableau de bord:

  1. Allez dans Dashboards > Import dans Grafana.
  2. Collez l'URL du fichier JSON dans le champ Import via panel JSON ou téléchargez le fichier directement.
  3. Assignez le tableau de bord à un dossier et à la source de données Prometheus lorsque cela est demandé.

 

Une fois importé, vous pouvez modifier les panneaux pour inclure des métriques supplémentaires, personnaliser les visualisations ou affiner la mise en page pour de meilleures analyses de votre environnement IRIS.


Conclusion

En suivant ce guide, nous avons configuré Prometheus pour collecter les métriques d'InterSystems IRIS et les visualiser avec Grafana. De plus, vous pouvez explorer d'autres outils de surveillance comme Loki pour une gestion efficace des logs et configurer des alertes avec Alertmanager, PagerDuty ou Slack.

Si vous avez des questions ou des commentaires, n'hésitez pas à nous contacter !

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer