Automation Config expose plusieurs mesures système qui peuvent être utilisées pour la surveillance et les diagnostics. Ces mesures sont disponibles sous forme graphique sur le tableau de bord de l'interface utilisateur de Automation Config et sous forme lisible par machine en utilisant le point de terminaison HTTP /metrics.

Pour plus d'informations sur la visualisation des rapports dans l'interface utilisateur de Automation Config à l'aide du tableau de bord, reportez-vous à la section Rapports du tableau de bord.

Mesures lisibles par machine

Automation Config exporte les mesures système au format texte OpenMetrics. Ce format est directement exploitable par Prometheus et d'autres outils de surveillance et d'alerte.

Configuration des mesures de Automation Config

La configuration de la collecte des mesures système se compose des paramètres suivants dans le fichier de configuration /etc/raas/raas. Les valeurs par défaut sont affichées.

# System metrics settings
metrics:
  enabled: true                         # If True, enable the collection of system metrics
  prometheus: false                     # If True, enable the Prometheus endpoint at /metrics
  prometheus_username:                  # Static username for retrieving /metrics
  prometheus_password:                  # Static password for retrieving /metrics
  snapshot_interval: 60                 # How often to record snapshot metrics, in seconds
  max_query_timedelta: 86400            # Maximum timedelta for a single call to get_system_metrics, in seconds
  keep: 30                              # How long to retain metrics data, in days

Les paramètres suivants contrôlent le traitement des mesures système lisibles par la machine :

  • Pour désactiver la collecte des mesures, définissez enabled:false. Notez que cela désactivera également le tableau de bord intégré de Automation Config.
  • Pour activer l'exportation de mesures lisibles par machine depuis le point de terminaison HTTP /metrics, définissez prometheus:true. Ce paramètre n'affecte pas le tableau de bord intégré de Automation Config.
  • L'accès au point de terminaison HTTP /metrics est contrôlé par l'authentification HTTP de base avec des informations d'identification configurées dans prometheus_username et prometheus_password. Des valeurs non vides sont requises pour ces paramètres afin d'activer le point de terminaison /metrics. Ces informations d'identification sont stockées uniquement dans le fichier de configuration /etc/raas/raas, ne sont associées à aucun compte Automation Config et ne peuvent pas être utilisées pour s'authentifier auprès de Automation Config autrement que pour accéder au point de terminaison HTTP /metrics.

Les autres paramètres indiqués ci-dessus se rapportent au tableau de bord intégré de Automation Config et n'affectent pas la collecte ou la création de rapports de mesures système lisibles par machine. En particulier, le paramètre snapshot_interval détermine la fréquence, en secondes, d'enregistrement des mesures pour l'affichage sur le tableau de bord, et le paramètre keep détermine la durée, en jours, de conservation des données de mesures dans la base de données avant d'être supprimées.

Bien que le point de terminaison HTTP /metrics constitue le moyen recommandé de collecter des données de mesures lisibles par machine à partir de Automation Config, vous pouvez utiliser l'API (RaaS) pour récupérer les données présentées sur le tableau de bord intégré. L'API stats.get_system_metrics() permet d'interroger les données de mesures par nom de mesure, source et plage de dates. L'élément de configuration max_query_timedelta limite la quantité de données renvoyée par Automation Config via un seul appel d'API. Pour obtenir des données de mesures d'une période plus longue, vous pouvez effectuer plusieurs appels d'API avec des dates de début et de fin différentes.

Configuration des mesures de master Salt

La disponibilité de certaines mesures dépend de la configuration des masters Salt connectés à Automation Config :

  • Les mesures sur les événements Salt et les retours de tâches seront précises uniquement si le système de retour sseapi est configuré sur les masters Salt. La collecte des mesures ne fonctionne pas correctement avec le système de retour sse_pgjsonb (transfert direct vers la base de données).
  • Automation Config collecte des informations d'exécution de fonction de bas niveau auprès des masters Salt master_stats:true définies dans leur configuration. Cette option est désactivée par défaut. Pour plus de détails, reportez-vous à la section master_stats dans la documentation de Salt.
  • Les mesures sur les états des tâches Salt seront précises uniquement si le moteur d'achèvement de tâche est activé dans le plug-in master Salt :
    engines:
       -jobcompletion:{}

    Ce moteur est activé dans la configuration par défaut du plug-in master Salt.

Configuration de Prometheus pour une connexion à Automation Config

Vous pouvez activer un serveur Prometheus pour récupérer des mesures de Automation Config en ajoutant une tâche scrape_configs à la configuration de Prometheus (généralement prometheus.yml) pour chaque instance de serveur API (RaaS) dont vous disposez:

scrape_configs:
  - job_name: 'sse'

    metrics_path: '/metrics'
    scheme: 'http'

    static_configs:
        - targets: ['localhost:8080']

    basic_auth:
      username: prometheus
      password: metrics

Les informations d'identification de la configuration Prometheus doivent correspondre aux entrées prometheus_username et prometheus_password spécifiées dans le fichier de configuration /etc/raas/raas, comme indiqué ci-dessus.

Consultez la documentation du projet Prometheus pour plus d'informations sur la configuration des cibles d'extraction et d'autres rubriques de configuration de Prometheus.

Note : Dans le cadre de l'initiative de VMware visant à supprimer la terminologie problématique, le terme master Salt sera remplacé par un meilleur terme dans Automation Config et les produits associés, ainsi que dans la documentation. Cette mise à jour terminologique peut s'étendre sur plusieurs cycles de publication.

Descriptions des mesures

Les mesures lisibles par machine exportées par Automation Config relèvent de plusieurs catégories:

Catégorie Nom de la mesure Type de mesure Étiquettes Description
Mesures de bas niveau de master Salt salt_event_size_bytes Histogramme master_id Taille de l'événement Salt en octets
salt_master_cmd_duration_seconds Histogramme master_id, cmd Durée de la commande de master Salt en secondes. Signalé uniquement si master_stats est configuré sur le master Salt.
         
Mesures du plug-in master Salt raas_master_commands_processed Compteur master_id Commandes SSE traitées
raas_master_master_grains_pushed Compteur master_id Grain de master Salt mis à jour transmis à Automation Config
raas_master_minion_keys_pushed Compteur master_id Mises à jour d'états de clés de minion transmises à Automation Config
raas_master_minion_cached_pushed Compteur master_id Mises à jour du cache de minion transmises à Automation Config
raas_master_masterfs_pushed Compteur master_id Mises à jour de MasterFS transmises à Automation Config
raas_master_sseapi_engine_iteration_seconds Histogramme master_id Durée d'itération du moteur API (RaaS) en secondes
         
Mesures de serveur redis_commands_executed Compteur redis_instance Commandes Redis exécutées (cache système)
redis_memory_bytes Jauge redis_instance Utilisation de la mémoire de Redis (cache système)
celery_tasks_queued Compteur raas_instance, task Tâches Celery en file d'attente (tâches en arrière-plan)
celery_tasks_executed Compteur raas_instance, task Tâches Celery exécutées (tâches en arrière-plan)
celery_queue_length Jauge raas_instance Longueur de la file d'attente Celery (tâches en arrière-plan en attente)
raas_rpc_request_duration_seconds Histogramme raas_instance Durée d'appel de l'API RPC SSE en secondes
         
Mesures PostgreSQL postgres_connections Jauge postgres_instance Connexions Postgres
postgres_transactions Compteur postgres_instance Transactions Postgres engagées
postgres_rows_read Compteur postgres_instance Lignes Postgres lues
postgres_rows_inserted Compteur postgres_instance Lignes Postgres insérées
postgres_rows_updated Compteur postgres_instance Lignes Postgres mises à jour
postgres_rows_deleted Compteur postgres_instance Lignes Postgres supprimées
         
Mesures système highstate_minions Jauge Aucune Nombre de minions qui ont exécuté une tâche Highstate
highstate_minions_changed Jauge Aucune Nombre de minions qui ont exécuté une tâche Highstate ayant entraîné une ou plusieurs modifications
highstate_minions_succeeded Jauge Aucune Nombre de minions ayant exécuté une tâche Highstate sans échec
highstate_minion_duration_seconds Jauge Aucune Durée moyenne par minion d'une exécution de Highstate
highstate_states Jauge Aucune Nombre d’états uniques appliqués dans les exécutions de Highstate
highstate_states_changed Jauge Aucune Nombre d’états appliqués dans les exécutions de Highstate qui ont entraîné une ou plusieurs modifications
highstate_states_succeeded Jauge Aucune Nombre d’états appliqués sans échec dans les exécutions de Highstate
sse_jobs_in_progress Compteur Aucune Tâches Automation Config en cours
sse_jobs_complete_all_successful Compteur Aucune Tâches Automation Config terminées dont tous les retours sont réussis
sse_jobs_complete_missing_returns Compteur Aucune Tâches Automation Config terminées dont un ou plusieurs retours sont manquants
sse_jobs_complete_with_errors Compteur Aucune Tâches Automation Config terminées comportant une ou plusieurs erreurs
sse_masters Jauge Aucune Nombre total de masters Salt dans Automation Config
sse_minion_grains_deleted Compteur master_id Nombre de grains minions supprimés
sse_minion_grains_indexing_duration_seconds Compteur raas_instance Durée des calculs d’indexation des grains minions, en secondes
sse_minion_grains_saved Compteur master_id Nombre de grains minions enregistrés
sse_minion_target_match_calcs Compteur raas_instace Nombre de minions par rapport aux calculs correspondants du groupe cible
sse_minion_target_match_duration_seconds Compteur raas_instance Durées des calculs du minion par rapport aux calculs correspondants du groupe cible, en secondes
sse_minions Jauge Aucune Nombre total de minions dans Automation Config
sse_minions_present Jauge master_id Minions présents dans la limite de temps configurée raas_presence_expiration
sse_minions_lost Jauge master_id Minions non présents dans la limite de temps
sse_minions_unknown Jauge master_id Minions inconnus (jamais présents)
sse_users_authenticated Jauge Aucune Utilisateurs authentifiés auprès de Automation Config