linux-system-roles.metrics
Metriken
Eine Ansible-Rolle, die Leistungsanalyse-Dienste für den verwalteten Host konfiguriert. Dies beinhaltet optional eine Liste von Remote-Systemen, die vom verwalteten Host überwacht werden sollen.
Anforderungen
Performance Co-Pilot (PCP) v5+. Alle Pakete sind in den Standard-Repositories von Fedora, CentOS 8 und RHEL 8 verfügbar. Auf RHEL 7 und RHEL 6 müssen Sie das optionale Repository / den Channel auf dem verwalteten Host aktivieren.
Die Rolle kann optional Grafana v6+ (metrics_graph_service
) und Redis v5+ (metrics_query_service
) auf Fedora, CentOS 8, RHEL 8 und späteren Versionen verwenden.
Sammlungsanforderungen
Die Rolle benötigt die firewall
-Rolle und die selinux
-Rolle aus der Sammlung fedora.linux_system_roles
, wenn metrics_manage_firewall
und metrics_manage_selinux
auf true gesetzt sind. (Siehe auch die Variablen im Abschnitt Rollenvariablen
.)
Wenn die metrics
eine Rolle aus der Sammlung fedora.linux_system_roles
oder aus dem Fedora RPM-Paket ist, ist die Anforderung bereits erfüllt.
Die Rolle benötigt zusätzliche Sammlungen, um rpm-ostree
-Systeme zu verwalten. Wenn Sie rpm-ostree
-Systeme verwalten müssen, führen Sie den folgenden Befehl aus, um die Sammlungen zu installieren.
ansible-galaxy collection install -r meta/collection-requirements.yml
Rollenvariablen
metrics_monitored_hosts: []
Liste der Remote-Hosts, die vom verwalteten Host analysiert werden sollen. Diese Hosts werden auf dem verwalteten Host erfasst, daher sollte darauf geachtet werden, dass genügend Speicherplatz unter /var/log für jeden Host vorhanden ist.
Beispiel:
metrics_monitored_hosts: ["webserver.example.com", "database.example.com"]
metrics_webhook_endpoint: ''
Webhook-Endpunkt (URL), an den Benachrichtigungen über automatisch erkannte Leistungsprobleme gesendet werden sollen. Standardmäßig werden diese Ereignisse nur im lokalen Systemprotokoll aufgezeichnet.
metrics_retention_days: 14
Historische Leistungsdaten für die angegebene Anzahl von Tagen aufbewahren; nach dieser Zeit werden sie tagweise gelöscht.
metrics_graph_service: false
Boolescher Wert, der es ermöglicht, den Host mit Diagrammdiensten einzurichten. Wenn aktiviert, werden PCP- und Grafana-Server zum Visualisieren von PCP-Metriken gestartet. Diese Option erfordert Grafana v6+, das auf Fedora, CentOS 8, RHEL 8 oder späteren Versionen dieser Plattformen verfügbar ist.
metrics_query_service: false
Boolescher Wert, der es ermöglicht, den Host mit Zeitreihendiensten einzurichten. Wenn aktiviert, werden PCP- und Redis-Server zum Abfragen aufgezeichneter PCP-Metriken gestartet. Diese Option erfordert Redis v5+, das auf Fedora, CentOS 8, RHEL 8 oder späteren Versionen dieser Plattformen verfügbar ist.
metrics_into_elasticsearch: false
Boolescher Wert, der es ermöglicht, Metrikwerte in Elasticsearch zu exportieren.
metrics_from_elasticsearch: false
Boolescher Wert, der es ermöglicht, Metriken aus Elasticsearch verfügbar zu machen.
metrics_from_postfix: false
Boolescher Wert, der es ermöglicht, Metriken aus Postfix verfügbar zu machen.
metrics_from_mssql: false
Boolescher Wert, der es ermöglicht, Metriken von SQL Server verfügbar zu machen. Das Aktivieren dieses Schlüssels erfordert eine "vertraute" Verbindung zum SQL Server.
metrics_from_bpftrace: false
Boolescher Wert, der es ermöglicht, Metriken von bpftrace verfügbar zu machen.
metrics_username: metrics
Ein Konto, um authentifizierten Zugriff auf Remote-Metriken über den PCP pmcd-Daemon zu ermöglichen. Weitere Informationen finden Sie unter https://pcp.readthedocs.io/en/latest/QG/AuthenticatedConnections.html.
Zusätzlich, wenn die bpftrace-Metriken konfiguriert sind, kann dieses Benutzerkonto bpftrace-Skripte registrieren.
metrics_password: metrics
Verwenden Sie kein Klartext-metrics_password
. Verwenden Sie Ansible Vault, um das Passwort zu verschlüsseln.
Erforderliche Authentifizierung für das Ausführen dynamischer bpftrace-Skripte.
metrics_provider: pcp
Der Metriksammler, der verwendet werden soll, um Metriken bereitzustellen.
Aktuell ist Performance Co-Pilot der einzige unterstützte Metrikanbieter. Bei Verwendung des PCP-Anbieters werden diese TCP-Ports verwendet - 44321 (pmcd, live Metrikwert-Abtastung), 44322 (pmproxy, mit metrics_query_service oder metrics_graph_service), 6379 (redis-server für metrics_query_service) und 3000 (grafana-server für metrics_graph_service).
metrics_manage_firewall: false
Boolescher Wert, der es ermöglicht, die Firewall mit der Firewall-Rolle zu konfigurieren. Verwalten Sie den pmcd-Port, den pmproxy-Port, den Grafana-Port und den Redis-Port je nach Konfigurationsparametern. Wenn die Variable auf false gesetzt ist, verwaltet die metrics
-Rolle die Firewall nicht.
HINWEIS: metrics_manage_firewall
ist auf Hinzufügen von Ports beschränkt. Es kann nicht zum Entfernen von Ports verwendet werden. Wenn Sie Ports entfernen möchten, müssen Sie die Firewall-Systemrolle direkt verwenden.
HINWEIS: Die Firewall-Verwaltung wird auf RHEL 6 nicht unterstützt.
metrics_manage_selinux: false
Boolescher Wert, der es ermöglicht, SELinux mit der SELinux-Rolle zu konfigurieren. Weisen Sie den pmcd-Port, den pmproxy-Port, den Grafana-Port und den Redis-Port je nach Konfigurationsparametern zu. Wenn die Variable auf false gesetzt ist, verwaltet die metrics
-Rolle das SELinux nicht.
Bitte beachten Sie, dass die pmcd- und pmproxy-Dienste im "ephemeral" Bereich sind und keine spezielle Einrichtung erfordern. Der Grafana-Port ist "nicht registriert". Der Redis-Port wird durch den SELinux-Typ redis_port_t geregelt und muss möglicherweise weiter konfiguriert werden, wenn Sie direkten Zugriff benötigen (nicht erforderlich, wenn Sie über Tools wie Grafana und PCP auf die Metriken des Metrics-Rollendienstes zugreifen). Verwenden Sie die SELinux-Systemrolle, um den Portzugriff für SELinux-Kontexte zu verwalten.
HINWEIS: metrics_manage_selinux
ist auf Hinzufügen von Richtlinien beschränkt. Es kann nicht zum Entfernen von Richtlinien verwendet werden. Wenn Sie Richtlinien entfernen möchten, müssen Sie die SELinux-Systemrolle direkt verwenden.
Beispiel-Playbook
Grundlegende Metrikaufzeichnungs-Konfiguration für jeden verwalteten Host, mit einer Woche an Daten, die aufbewahrt wird, bevor sie gelöscht werden.
---
- name: Metrikdienst verwalten
hosts: all
vars:
metrics_retention_days: 7
roles:
- linux-system-roles.metrics
Skalierbare Metrikaufzeichnung, -analyse und -visualisierung für die verwalteten Hosts, die einen REST-API-Server mit einem OpenMetrics-Endpunkt, Graphen und skalierbare Abfragen bereitstellt.
---
- name: Metriken mit Graph- und Abfragediensten verwalten
hosts: all
vars:
metrics_graph_service: true
metrics_query_service: true
roles:
- linux-system-roles.metrics
Zentralisierte Metrikaufzeichnung für mehrere Remote-Hosts und skalierbare Metrikaufzeichnung, -analyse und -visualisierung für den lokalen Host, die einen REST-API-Server mit einem OpenMetrics-Endpunkt, Graphen und skalierbare Abfragen bereitstellt.
---
- name: Zentralisierte Metrikabfrage verwalten
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
Siehe README-ostree.md
Lizenz
MIT
Linux system role for metric collection
ansible-galaxy install linux-system-roles.metrics