linux-system-roles.metrics

métriques

ansible-lint.yml ansible-test.yml markdownlint.yml shellcheck.yml subtree.yml tft.yml tft_citest_bad.yml woke.yml

Un rôle Ansible qui configure des services d'analyse de performance pour l'hôte géré. Cela inclut (facultativement) une liste de systèmes distants à surveiller par l'hôte géré.

Exigences

Performance Co-Pilot (PCP) v5+. Tous les paquets sont disponibles dans les dépôts standards de Fedora, CentOS 8 et RHEL 8. Sur RHEL 7 et RHEL 6, vous devez activer le dépôt/canal optionnel sur l'hôte géré.

Le rôle peut également utiliser Grafana v6+ (metrics_graph_service) et Redis v5+ (metrics_query_service) sur Fedora, CentOS 8, RHEL 8 et les versions ultérieures.

Exigences de collection

Le rôle nécessite le rôle firewall et le rôle selinux de la collection fedora.linux_system_roles, si metrics_manage_firewall et metrics_manage_selinux sont définis sur true, respectivement. (Voir également les variables dans la section Variables de rôle.)

Si le metrics est un rôle de la collection fedora.linux_system_roles ou du package RPM Fedora, la condition est déjà satisfaite.

Le rôle nécessite des collections supplémentaires pour gérer les systèmes rpm-ostree. Si vous devez gérer des systèmes rpm-ostree, exécutez la commande ci-dessous pour installer les collections.

ansible-galaxy collection install -r meta/collection-requirements.yml

Variables de rôle

metrics_monitored_hosts: []

Liste des hôtes distants à analyser par l'hôte géré. Ces hôtes auront des métriques enregistrées sur l'hôte géré, donc il faut s'assurer qu'il y a suffisamment d'espace disque disponible sous /var/log pour chaque hôte.

Exemple :

metrics_monitored_hosts: ["webserver.example.com", "database.example.com"]

metrics_webhook_endpoint: ''

Point de terminaison Webhook (URL) où les notifications concernant tout problème de performance détecté automatiquement doivent être envoyées. Par défaut, ces événements sont uniquement enregistrés dans le journal système local.

metrics_retention_days: 14

Conservez les données de performance historiques pendant le nombre de jours spécifié ; après ce délai, elles seront supprimées (jour par jour).

metrics_graph_service: false

Drapeau booléen permettant de configurer l'hôte avec des services de graphique. Activer cela démarre les serveurs PCP et Grafana pour visualiser les métriques PCP. Cette option nécessite Grafana v6+ qui est disponible sur Fedora, CentOS 8, RHEL 8, ou des versions ultérieures de ces plateformes.

metrics_query_service: false

Drapeau booléen permettant de configurer l'hôte avec des services de requête de séries temporelles. Activer cela démarre les serveurs PCP et Redis pour interroger les métriques PCP enregistrées. Cette option nécessite Redis v5+ qui est disponible sur Fedora, CentOS 8, RHEL 8, ou des versions ultérieures de ces plateformes.

metrics_into_elasticsearch: false

Drapeau booléen permettant d'exporter les valeurs des métriques vers Elasticsearch.

metrics_from_elasticsearch: false

Drapeau booléen permettant de rendre les métriques d'Elasticsearch disponibles.

metrics_from_postfix: false

Drapeau booléen permettant de rendre les métriques de Postfix disponibles.

metrics_from_mssql: false

Drapeau booléen permettant de rendre les métriques de SQL Server disponibles. Activer ce drapeau nécessite une connexion 'de confiance' à SQL Server.

metrics_from_bpftrace: false

Drapeau booléen permettant de rendre les métriques de bpftrace disponibles.

metrics_username: metrics

Un compte pour établir un accès authentifié aux métriques distantes via le démon PCP pmcd. Pour plus d'informations, voir https://pcp.readthedocs.io/en/latest/QG/AuthenticatedConnections.html.

De plus, si les métriques bpftrace sont configurées, ce compte d'utilisateur pourra enregistrer des scripts bpftrace.

metrics_password: metrics

Ne pas utiliser un metrics_password en clair. Utiliser Ansible Vault pour chiffrer le mot de passe.

Authentification obligatoire pour exécuter des scripts bpftrace dynamiques.

metrics_provider: pcp

Le collecteur de métriques à utiliser pour fournir des métriques.

Actuellement, Performance Co-Pilot est le seul fournisseur de métriques supporté. Lors de l'utilisation du fournisseur PCP, ces ports TCP seront utilisés : 44321 (pmcd, échantillonnage des valeurs métriques en direct), 44322 (pmproxy, avec metrics_query_service ou metrics_graph_service), 6379 (redis-server pour metrics_query_service) et 3000 (grafana-server pour metrics_graph_service).

metrics_manage_firewall: false

Drapeau booléen permettant de configurer le pare-feu à l'aide du rôle de pare-feu. Gère le port pmcd, le port pmproxy, le port Grafana et le port Redis en fonction des paramètres de configuration. Si la variable est définie sur false, le rôle metrics ne gère pas le pare-feu.

NOTE : metrics_manage_firewall est limité à l'ajout de ports. Il ne peut pas être utilisé pour supprimer des ports. Si vous souhaitez supprimer des ports, vous devrez utiliser directement le rôle de système de pare-feu.

NOTE : la gestion du pare-feu n'est pas supportée sur RHEL 6.

metrics_manage_selinux: false

Drapeau booléen permettant de configurer Selinux à l'aide du rôle selinux. Assigne le port pmcd, le port pmproxy, le port Grafana et le port Redis en fonction des paramètres de configuration. Si la variable est définie sur false, le rôle metrics ne gère pas le selinux.

Veuillez noter que les services pmcd et pmproxy sont dans la plage "éphémère" nécessitant aucune configuration spéciale et que le port Grafana est "non enregistré". Le port Redis est contrôlé par le type SELinux redis_port_t et peut nécessiter une configuration supplémentaire, si vous avez besoin d'un accès direct (pas nécessaire si vous y accédez depuis des outils de rôle metrics comme Grafana et PCP). Utilisez le rôle de système selinux pour gérer l'accès aux ports, pour les contextes SELinux.

NOTE : metrics_manage_selinux est limité à l'ajout de politique. Il ne peut pas être utilisé pour supprimer de la politique. Si vous souhaitez supprimer la politique, vous devrez utiliser directement le rôle de système selinux.

Exemple de Playbook

Configuration de l'enregistrement des métriques de base pour chaque hôte géré uniquement, avec une semaine de données conservées avant le nettoyage.

---
- name: Gérer le service de métriques
  hosts: all
  vars:
    metrics_retention_days: 7
  roles:
    - linux-system-roles.metrics

Configuration d'enregistrement, d'analyse et de visualisation des métriques évolutive pour les hôtes gérés, fournissant un serveur API REST avec un point de terminaison OpenMetrics, des graphiques et des requêtes évolutives.

---
- name: Gérer les métriques avec des services de graphique et de requête
  hosts: all
  vars:
    metrics_graph_service: true
    metrics_query_service: true
  roles:
    - linux-system-roles.metrics

Configuration d'enregistrement des métriques centralisé pour plusieurs hôtes distants et configuration d'enregistrement, d'analyse et de visualisation des métriques évolutive pour l'hôte local, fournissant un serveur API REST avec un point de terminaison OpenMetrics, des graphiques et des requêtes évolutives.

---
- name: Gérer la collecte centralisée de métriques
  hosts: monitors
  vars:
    metrics_monitored_hosts: [app.example.com, db.example.com, nas.example.com]
    metrics_graph_service: true
    metrics_query_service: true
  roles:
    - linux-system-roles.metrics

rpm-ostree

Voir README-ostree.md

Licence

MIT

Installer
ansible-galaxy install linux-system-roles.metrics
Licence
mit
Téléchargements
3.5k
Propriétaire