linux-system-roles.metrics

Metriken

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

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