Federator.ai

Supported OS Linux

Présentation

ProphetStor Federator.ai est une solution soutenue par l’IA aidant les organisations à gérer et à optimiser des ressources pour des applications sur Kubernetes et pour des machines virtuelles dans des clusters VMware.

Grâce à ses algorithmes avancés d’apprentissage automatique capables de prédire les charges des applications, Federator.ai propose les fonctionnalités suivantes :

  • Un système de prédiction des charges soutenu par l’IA pour les applications conteneurisées dans des clusters Kubernetes ainsi que pour les VM dans les clusters VMWare et le service Elastic Compute Cloud (EC2) d’Amazon Web Services (AWS)
  • Des recommandations de ressources basées sur des métriques relatives à la prédiction des charges, aux applications ou encore à Kubernetes
  • Un provisionnement automatique du CPU et de la mémoire pour les contrôleurs et espaces de nommage génériques des applications Kubernetes
  • Un autoscaling des conteneurs d’application Kubernetes, des groupes de consommateurs Kafka et des services en amont NGINX Ingress
  • Des analyses de coûts pour des environnements avec plusieurs clouds, ainsi que des recommandations reposant sur les prédictions de charge pour les clusters Kubernetes et clusters de VM
  • Un système de calcul des coûts réels et des réductions de coûts potentielles reposant sur les recommandations de clusters, d’applications Kubernetes, de VM et d’espaces de nommage Kubernetes

L’intégration de ProphetStor Federator.ai vous permet de surveiller et de prédire l’utilisation des ressources de vos conteneurs Kubernetes, espaces de nommage et nœuds de cluster. Vous pouvez ainsi formuler des recommandations pertinentes afin d’éviter tout coût supplémentaire lié à un surprovisionnement ou tout problème de performance lié à un sous-provisionnement. Grâce à son intégration fluide au pipeline de CI/CD, Federator.ai vous permet d’optimiser en permanence vos conteneurs, où qu’ils soient déployés dans votre cluster Kubernetes. À l’aide de ses prédictions de workload pour les applications, Federator.ai effectue au moment opportun l’autoscaling des conteneurs d’application. Cette solution optimise également vos performances en utilisant le nombre optimal de réplicas de conteneurs, par l’intermédiaire de l’Autoscaler de pods horizontaux de Kubernetes ou de la solution Watermark Pod Autoscaling (WPA) de Datadog.

Pour en savoir plus sur Federator.ai, consultez les vidéos de démonstration des fonctionnalités de ProphetStor Federator.ai et de présentation de ProphetStor Federator.ai pour Datadog (en anglais).

Vue d’ensemble de cluster ProphetStor Federator.ai

Vue d’ensemble de cluster ProphetStor Federator.ai

  • Cluster Resource Usage Predictions and Recommendations

    • Ce tableau présente les valeurs maximales, minimales et moyennes des charges CPU/mémoire prévues, ainsi que les charges CPU/mémoire recommandées par Federator.ai dans le cadre de la planification des ressources du cluster.
  • Cluster Node Resource Usage Predictions and Recommendations

    • Ce tableau présente les valeurs maximales, minimales et moyennes des charges CPU/mémoire prévues, ainsi que les charges CPU/mémoire recommandées par Federator.ai dans le cadre de la planification des ressources du nœud.
  • Node Current/Predicted Memory Usage (Daily)

    • Ce graphique présente la charge mémoire quotidienne prévue par Federator.ai, ainsi que la charge mémoire des nœuds.
  • Node Current/Predicted Memory Usage (Weekly)

    • Ce graphique présente la charge mémoire hebdomadaire prévue par Federator.ai, ainsi que la charge mémoire des nœuds.
  • Node Current/Predicted Memory Usage (Monthly)

    • Ce graphique présente la charge mémoire mensuelle prévue par Federator.ai, ainsi que la charge mémoire des nœuds.
  • Node Current/Predicted CPU Usage (Daily)

    • Ce graphique présente la charge CPU quotidienne prévue par Federator.ai, ainsi que la charge CPU des nœuds.
  • Node Current/Predicted CPU Usage (Weekly)

    • Ce graphique présente la charge CPU hebdomadaire prévue par Federator.ai, ainsi que la charge CPU des nœuds.
  • Node Current/Predicted CPU Usage (Monthly)

    • Ce graphique présente la charge CPU mensuelle prévue par Federator.ai, ainsi que la charge CPU des nœuds.

Vue d’ensemble d’application ProphetStor Federator.ai

Dashboard de vue d’ensemble d’une application

  • Workload Prediction for Next 24 Hours

    • Ce tableau présente les valeurs maximales, minimales et moyennes des charges CPU/mémoire prévues, ainsi que les charges CPU/mémoire recommandées par Federator.ai dans le cadre de la planification des ressources des contrôleurs sur les 24 prochaines heures.
  • Workload Prediction for Next 7 Days

    • Ce tableau présente les valeurs maximales, minimales et moyennes des charges CPU/mémoire prévues, ainsi que les charges CPU/mémoire recommandées par Federator.ai dans le cadre de la planification des ressources des contrôleurs sur les 7 prochains jours.
  • Workload Prediction for Next 30 Days

    • Ce tableau présente les valeurs maximales, minimales et moyennes des charges CPU/mémoire prévues, ainsi que les charges CPU/mémoire recommandées par Federator.ai dans le cadre de la planification des ressources des contrôleurs sur les 30 prochains jours.
  • Current/Predicted CPU Usage (Daily)

    • Ce graphique présente la charge CPU quotidienne prévue par Federator.ai, ainsi que la charge CPU des contrôleurs.
  • Current/Predicted CPU Usage (Weekly)

    • Ce graphique présente la charge CPU hebdomadaire prévue par Federator.ai, ainsi que la charge CPU des contrôleurs.
  • Current/Predicted CPU Usage (Monthly)

    • Ce graphique présente la charge CPU mensuelle prévue par Federator.ai, ainsi que la charge CPU des contrôleurs.
  • Current/Predicted Memory Usage (Daily)

    • Ce graphique présente la charge mémoire quotidienne prévue par Federator.ai, ainsi que la charge mémoire des contrôleurs.
  • Current/Predicted Memory Usage (Weekly)

    • Ce graphique présente la charge mémoire hebdomadaire prévue par Federator.ai, ainsi que la charge mémoire des contrôleurs.
  • Current/Predicted Memory Usage (Monthly)

    • Ce graphique présente la charge mémoire mensuelle prévue par Federator.ai, ainsi que la charge mémoire des contrôleurs.
  • Current/Desired/Recommended Replicas

    • Ce graphique présente les réplicas recommandés par Federator.ai, ainsi que les réplicas actuels et souhaités des contrôleurs.
  • Memory Usage/Request/Limit vs Rec Memory Limit

    • Ce graphique présente la limite de mémoire recommandée par Federator.ai, ainsi que la charge mémoire demandée, limitée et actuelle des contrôleurs.
  • CPU Usage/Request/Limit vs Rec CPU Limit

    • Ce graphique présente la limite de CPU recommandée par Federator.ai, ainsi que la charge CPU demandée, limitée et actuelle des contrôleurs.
  • CPU Usage/Limit Utilization

    • Ce graphique présente la charge CPU du contrôleur et indique si la charge CPU se situe au-dessus ou en dessous de la limite.

Vue d’ensemble Kafka ProphetStor Federator.ai

Vue d’ensemble du dashboard

  • Recommended Replicas vs Current/Desired Replicas

    • Ce graphique de série temporelle affiche les réplicas recommandés par Federator.ai et les réplicas actuels et souhaités dans le système.
  • Production vs Consumption vs Production Prediction

    • Ce graphique de série temporelle affiche le taux de production de messages Kafka ainsi que les taux de consommation et de production prévus par Federator.ai.
  • Kafka Consumer Lag

    • Ce graphique de série temporelle montre le retard total des consommateurs sur l’ensemble des partitions.
  • Consumer Queue Latency (msec)

    • Ce graphique de série temporelle montre la latence moyenne d’un message dans la file d’attente de messages avant qu’il ne soit reçu par un consommateur.
  • Deployment Memory Usage

    • Ce graphique de série temporelle montre l’utilisation de la mémoire par les consommateurs.
  • Deployment CPU Usage

    • Ce graphique de série temporelle montre la charge CPU des consommateurs.

Vue d’ensemble de l’analyse des coûts ProphetStor Federator.ai

Vue d’ensemble des analyses des coûts

  • Current Cluster Cost et Current Cluster Configuration

    • Ces tableaux présentent le coût actuel et la configuration de l’environnement des clusters.
  • Recommended Cluster - AWS et Recommended Cluster Configuration - AWS

    • Ces tableaux présentent la configuration des instances AWS recommandées par Federator.ai, ainsi que le coût des instances AWS recommandées.
  • Recommended Cluster - Azure et Recommended Cluster Configuration - Azure

    • Ces tableaux présentent la configuration des instances Azure recommandées par Federator.ai, ainsi que le coût des instances Azure recommandées.
  • Recommended Cluster - GCP et Recommended Cluster Configuration - GCP

    • Ces tableaux présentent la configuration des instances GCP recommandées par Federator.ai, ainsi que le coût des instances GCP recommandées.
  • Namespace with Highest Cost ($/day)

    • Ce graphique présente le coût journalier le plus élevé des espaces de nommage dans le cluster actuel.
  • Namespace with Highest Predicted Cost ($/month)

    • Ce graphique présente le coût mensuel prévu le plus élevé des espaces de nommage dans le cluster actuel.

Configuration

  • Suivez les instructions ci-dessous pour télécharger et configurer Federator.ai.

Installation

  1. Connectez-vous à votre cluster OpenShift/Kubernetes.

  2. Installez Federator.ai pour OpenShift/Kubernetes à l’aide de la commande suivante :

    $ curl https://raw.githubusercontent.com/containers-ai/prophetstor/master/deploy/federatorai-launcher.sh | bash
    
    $ curl https://raw.githubusercontent.com/containers-ai/prophetstor/master/deploy/federatorai-launcher.sh | bash
    ...
    Please enter Federator.ai version tag [default: latest]:latest
    Please enter the path of Federator.ai directory [default: /opt]:
    
    Downloading v4.5.1-b1562 tgz file ...
    Done
    Do you want to use a private repository URL? [default: n]:
    Do you want to launch Federator.ai installation script? [default: y]:
    
    Executing install.sh ...
    Checking environment version...
    ...Passed
    Enter the namespace you want to install Federator.ai [default: federatorai]:
    .........
    Downloading Federator.ai alamedascaler sample files ...
    Done
    ========================================
    Which storage type you would like to use? ephemeral or persistent?
    [default: persistent]:
    Specify log storage size [e.g., 2 for 2GB, default: 2]:
    Specify AI engine storage size [e.g., 10 for 10GB, default: 10]:
    Specify InfluxDB storage size [e.g., 100 for 100GB, default: 100]:
    Specify storage class name: managed-nfs-storage
    Do you want to expose dashboard and REST API services for external access? [default: y]:
    
    ----------------------------------------
    install_namespace = federatorai
    storage_type = persistent
    log storage size = 2 GB
    AI engine storage size = 10 GB
    InfluxDB storage size = 100 GB
    storage class name = managed-nfs-storage
    expose service = y
    ----------------------------------------
    Is the above information correct [default: y]:
    Processing...
    
    (snipped)
    .........
    All federatorai pods are ready.
    
    ========================================
    You can now access GUI through https://<YOUR IP>:31012
    Default login credential is admin/admin
    
    Also, you can start to apply alamedascaler CR for the target you would like to monitor.
    Review administration guide for further details. 
    ========================================
    ========================================
    You can now access Federatorai REST API through https://<YOUR IP>:31011
    The default login credential is admin/admin
    The REST API online document can be found in https://<YOUR IP>:31011/apis/v1/swagger/index.html
    ========================================
    
    Install Federator.ai v4.5.1-b1562 successfully
    
    Downloaded YAML files are located under /opt/federatorai/installation
    
    Downloaded files are located under /opt/federatorai/repo/v4.5.1-b1562
    
  3. Vérifiez que les pods Federator.ai s’exécutent correctement.

    $ kubectl get pod -n federatorai
    
  4. Connectez-vous à l’interface graphique Federator.ai. L’URL et les identifiants de connexion figurent dans la sortie de l’étape 2.

Configuration

  1. Connectez-vous à votre compte Datadog et obtenez une clé d’API et une clé d’application pour utiliser l’API Datadog.

  2. Configurez Federator.ai en tant que source de données des métriques pour chaque cluster.

    • Lancez l’interface graphique Federator.ai, accédez à Configuration -> Clusters, puis cliquez sur Add Cluster.
    • Saisissez la clé d’API et la clé d’application.

    Fenêtre Add Cluster

  3. Pour en savoir plus, consultez le guide d’installation et de configuration de Federator.ai ainsi que le guide d’utilisation (en anglais).

Données collectées

Métriques

federatorai.integration.status
(gauge)
integration status for showing Federator.ai health status.
federatorai.recommendation
(gauge)
recommended deployment/statefulset replicas.
federatorai.prediction.kafka
(gauge)
Workload prediction for Kafka metrics.
federatorai.kafka.broker_offset_rate
(gauge)
The delta of kafka.broker_offset timeseries in one minute.
federatorai.kafka.consumer_offset_rate
(gauge)
The delta of kafka.consumer_offset timeseries in one minute.
federatorai.prediction.node
(gauge)
Workload prediction for a Kubernetes node.
federatorai.prediction.node.avg
(gauge)
The average value of workload predictions for a Kubernetes node over a prediction window.
federatorai.prediction.node.min
(gauge)
The minimum value of workload predictions for a Kubernetes node over a prediction window.
federatorai.prediction.node.max
(gauge)
The maximum value of workload predictions for a Kubernetes node over a prediction window.
federatorai.prediction.controller
(gauge)
Workload prediction for a specific controller
federatorai.prediction.controller.avg
(gauge)
The average value of workload predictions for a specific controller over a prediction window.
federatorai.prediction.controller.min
(gauge)
The minimum value of workload predictions for a specific controller over a prediction window.
federatorai.prediction.controller.max
(gauge)
The maximum value of workload predictions for a specific controller over a prediction window.
federatorai.prediction.nginx_ingress_controller_request_rate
(gauge)
Workload prediction of request rate for the upstream service of Nginx ingress
federatorai.resource_planning.node
(gauge)
Workload predictions for resource planning of a Kubernetes node.
federatorai.resource_planning.controller
(gauge)
Workload predictions for resource planning of a Kubernetes controller.
federatorai.recommendation.instance
(gauge)
Cost of a recommended cloud instance.
federatorai.cost_analysis.instance.cost
(gauge)
Cost analysis for a cloud instance.
federatorai.cost_analysis.namespace.cost
(gauge)
Cost analysis for a namespace in a Kubernetes cluster
federatorai.prediction.namespace.cost
(gauge)
Cost prediction for a namespace in a Kubernetes cluster
federatorai.kubernetes.cpu.usage.total.controller
(gauge)
The number of cores (in millicore) used by the Kubernetes controller.
federatorai.kubernetes.memory.usage.controller
(gauge)
The memory usage (in bytes) of the Kubernetes controller.
federatorai.kubernetes.cpu.usage.total.node
(gauge)
The number of cores (in millicore) used by the Kubernetes node.
federatorai.kubernetes.memory.usage.node
(gauge)
The memory usage (in bytes) of the Kubernetes node.
federatorai.cost_analysis.resource_alloc_cost.cluster
(gauge)
The cost per hour/per 6 hours/per day based on resource allocation of a Kubernetes cluster for daily/weekly/monthly cost analysis
federatorai.cost_analysis.resource_alloc_cost.node
(gauge)
The cost per hour/per 6 hours/ per day based on resource allocation of a Kubernetes node for daily/weekly/monthly cost analysis
federatorai.cost_analysis.resource_alloc_cost.namespace
(gauge)
The cost per hour/per 6 hours/per day based on resource allocation of a Kubernetes namespace for daily/weekly/monthly cost analysis
federatorai.cost_analysis.resource_usage_cost.cluster
(gauge)
The cost per hour/per 6 hours/per day based on resource usage of a Kubernetes cluster for daily/weekly/monthly cost analysis
federatorai.cost_analysis.resource_usage_cost.node
(gauge)
The cost per hour/per 6 hours/per day based on resource usage of a Kubernetes node for daily/weekly/monthly cost analysis
federatorai.cost_analysis.resource_usage_cost.namespace
(gauge)
The cost per hour/per 6 hours/per day based on resource usage of a Kubernetes namespace for daily/weekly/monthly cost analysis
federatorai.cost_analysis.cost_per_day.cluster
(gauge)
The cost of the entire 24 hours based on resource allocation of a Kubernetes cluster
federatorai.cost_analysis.cost_per_day.node
(gauge)
The cost of the entire 24 hours based on resource allocation of a Kubernetes node
federatorai.cost_analysis.cost_per_day.namespace
(gauge)
The cost of the entire 24 hours based on resource allocation of a Kubernetes namespace
federatorai.cost_analysis.cost_per_week.cluster
(gauge)
The cost of the entire 7 days based on resource allocation of a Kubernetes cluster
federatorai.cost_analysis.cost_per_week.node
(gauge)
The cost of the entire 7 days based on resource allocation of a Kubernetes node
federatorai.cost_analysis.cost_per_week.namespace
(gauge)
The cost of the entire 7 days based on resource allocation of a Kubernetes namespace
federatorai.cost_analysis.cost_per_month.cluster
(gauge)
The cost of the entire 30 days based on resource allocation of a Kubernetes cluster
federatorai.cost_analysis.cost_per_month.node
(gauge)
The cost of the entire 30 days based on resource allocation of a Kubernetes node
federatorai.cost_analysis.cost_per_month.namespace
(gauge)
The cost of the entire 30 days based on resource allocation of a Kubernetes namespace
federatorai.cost_analysis.cost_efficiency_per_day.cluster
(gauge)
The cost efficiency for the entire 24 hours based on resource allocation of a Kubernetes cluster
federatorai.cost_analysis.cost_efficiency_per_day.node
(gauge)
The cost efficiency for the entire 24 hours based on resource allocation of a Kubernetes node
federatorai.cost_analysis.cost_efficiency_per_day.namespace
(gauge)
The cost efficiency for the entire 24 hours based on resource allocation of a Kubernetes namespace
federatorai.cost_analysis.cost_efficiency_per_week.cluster
(gauge)
The cost efficiency for the entire 7 days based on resource allocation of a Kubernetes cluster
federatorai.cost_analysis.cost_efficiency_per_week.node
(gauge)
The cost efficiency for the entire 7 days based on resource allocation of a Kubernetes node
federatorai.cost_analysis.cost_efficiency_per_week.namespace
(gauge)
The cost efficiency for the entire 7 days based on resource allocation of a Kubernetes namespace
federatorai.cost_analysis.cost_efficiency_per_month.cluster
(gauge)
The cost efficiency for the entire 30 days based on resource allocation of a Kubernetes cluster
federatorai.cost_analysis.cost_efficiency_per_month.node
(gauge)
The cost efficiency for the entire 30 days based on resource allocation of a Kubernetes node
federatorai.cost_analysis.cost_efficiency_per_month.namespace
(gauge)
The cost efficiency for the entire 30 days based on resource allocation of a Kubernetes namespace
federatorai.recommendation.cost_analysis.cost_per_day.cluster
(gauge)
The estimated cost of the entire 24 hours based on Federator.ai recommendation for a Kubernetes cluster
federatorai.recommendation.cost_analysis.cost_per_day.node
(gauge)
The estimated cost of the entire 24 hours based on Federator.ai recommendation for a Kubernetes node
federatorai.recommendation.cost_analysis.cost_per_day.namespace
(gauge)
The estimated cost of the entire 24 hours based on Federator.ai recommendation for a Kubernetes namespace
federatorai.recommendation.cost_analysis.cost_per_week.cluster
(gauge)
The estimated cost of the entire 7 days based on Federator.ai recommendation for a Kubernetes cluster
federatorai.recommendation.cost_analysis.cost_per_week.node
(gauge)
The estimated cost of the entire 7 days based on Federator.ai recommendation for a Kubernetes node
federatorai.recommendation.cost_analysis.cost_per_week.namespace
(gauge)
The estimated cost of the entire 7 days based on Federator.ai recommendation for a Kubernetes namespace
federatorai.recommendation.cost_analysis.cost_per_month.cluster
(gauge)
The estimated cost of the entire 30 days based on Federator.ai recommendation for a Kubernetes cluster
federatorai.recommendation.cost_analysis.cost_per_month.node
(gauge)
The estimated cost of the entire 30 days based on Federator.ai recommendation for a Kubernetes node
federatorai.recommendation.cost_analysis.cost_per_month.namespace
(gauge)
The estimated cost of the entire 30 days based on Federator.ai recommendation for a Kubernetes namespace
federatorai.recommendation.cost_analysis.cost_efficiency_per_day.cluster
(gauge)
The cost efficiency for the entire 24 hours based on Federator.ai recommendation for a Kubernetes cluster
federatorai.recommendation.cost_analysis.cost_efficiency_per_day.namespace
(gauge)
The cost efficiency for the entire 24 hours based on Federator.ai recommendation for a Kubernetes namespace
federatorai.recommendation.cost_analysis.cost_efficiency_per_week.cluster
(gauge)
The cost efficiency for the entire 7 days based on Federator.ai recommendation for a Kubernetes cluster
federatorai.recommendation.cost_analysis.cost_efficiency_per_week.namespace
(gauge)
The cost efficiency for the entire 7 days based on Federator.ai recommendation for a Kubernetes namespace
federatorai.recommendation.cost_analysis.cost_efficiency_per_month.cluster
(gauge)
The cost efficiency for the entire 30 days based on Federator.ai recommendation for a Kubernetes cluster
federatorai.recommendation.cost_analysis.cost_efficiency_per_month.namespace
(gauge)
The cost efficiency for the entire 30 days based on Federator.ai recommendation for a Kubernetes namespace

Checks de service

Federator.ai n’inclut aucun check de service.

Événements

Federator.ai n’inclut aucun événement.

Dépannage

Besoin d’aide ? Consultez le guide d’installation et de configuration de Federator.ai (en anglais) ou contactez l’assistance Datadog.