linux-system-roles.metrics

metryki

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

Jest to rola Ansible, która konfiguruje usługi analizy wydajności dla zarządzanego hosta. Może również zawierać listę zdalnych systemów, które mają być monitorowane przez ten host.

Wymagania

Performance Co-Pilot (PCP) w wersji 5+. Wszystkie pakiety są dostępne w standardowych repozytoriach dla Fedora, CentOS 8 i RHEL 8. W RHEL 7 i RHEL 6 musisz włączyć opcjonalne repozytorium/kanal na zarządzanym hoście.

Rola może opcjonalnie używać Grafany w wersji 6+ (metrics_graph_service) oraz Redis w wersji 5+ (metrics_query_service) na Fedora, CentOS 8, RHEL 8 i późniejszych.

Wymagania dotyczące kolekcji

Rola wymaga roli firewall oraz roli selinux z kolekcji fedora.linux_system_roles, jeśli metrics_manage_firewall i metrics_manage_selinux są ustawione na true.

Jeśli metrics jest rolą z kolekcji fedora.linux_system_roles lub z pakietu RPM dla Fedory, wymóg ten jest już spełniony.

Rola wymaga dodatkowych kolekcji, aby zarządzać systemami rpm-ostree. Jeśli potrzebujesz zarządzać systemami rpm-ostree, uruchom poniższe polecenie, aby zainstalować kolekcje.

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

Zmienne roli

metrics_monitored_hosts: []

Lista zdalnych hostów, które mają być analizowane przez zarządzany host. Te hosty będą miały rejestrowane metryki na zarządzanym hoście, więc należy upewnić się, że na każdą z nich jest wystarczająca ilość miejsca na dysku w /var/log.

Przykład:

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

metrics_webhook_endpoint: ''

Punkt końcowy webhook (URL), gdzie będą wysyłane powiadomienia o wszelkich automatycznie wykrytych problemach z wydajnością. Domyślnie te zdarzenia są rejestrowane tylko w lokalnym dzienniku systemowym.

metrics_retention_days: 14

Zachowaj historyczne dane wydajności przez określoną liczbę dni; po tym czasie dane zostaną usunięte (dzień po dniu).

metrics_graph_service: false

Flaga logiczna pozwalająca na skonfigurowanie hosta z usługami graficznymi. Włączenie tego uruchamia serwery PCP i Grafany do wizualizacji metryk PCP. Ta opcja wymaga Grafany w wersji 6+, która jest dostępna na Fedora, CentOS 8, RHEL 8 lub późniejszych wersjach tych platform.

metrics_query_service: false

Flaga logiczna pozwalająca na skonfigurowanie hosta z usługami zapytań czasowych. Włączenie tego uruchamia serwery PCP i Redis do zapytań o zarejestrowane metryki PCP. Ta opcja wymaga Redis w wersji 5+, która jest dostępna na Fedora, CentOS 8, RHEL 8 lub późniejszych wersjach tych platform.

metrics_into_elasticsearch: false

Flaga logiczna pozwalająca na eksportowanie wartości metrycznych do Elasticsearch.

metrics_from_elasticsearch: false

Flaga logiczna pozwalająca na udostępnienie metryk z Elasticsearch.

metrics_from_postfix: false

Flaga logiczna pozwalająca na udostępnienie metryk z Postfix.

metrics_from_mssql: false

Flaga logiczna pozwalająca na udostępnienie metryk z SQL Server. Włączenie tej flagi wymaga 'zaufanego' połączenia z SQL Server.

metrics_from_bpftrace: false

Flaga logiczna pozwalająca na udostępnienie metryk z bpftrace.

metrics_username: metrics

Konto do ustanowienia uwierzytelnionego dostępu do zdalnych metryk za pośrednictwem demona PCP pmcd. Aby uzyskać więcej informacji, zapoznaj się z https://pcp.readthedocs.io/en/latest/QG/AuthenticatedConnections.html.

Dodatkowo, jeśli skonfigurowane są metryki bpftrace, to konto będzie mogło rejestrować skrypty bpftrace.

metrics_password: metrics

Nie używaj hasła metrics_password w postaci jawnej. Użyj Ansible Vault, aby zaszyfrować hasło.

Obowiązkowe uwierzytelnienie do wykonywania dynamicznych skryptów bpftrace.

metrics_provider: pcp

Zbieracz metryk, który ma być używany do dostarczania metryk.

Obecnie jedynym obsługiwanym dostawcą metryk jest Performance Co-Pilot. Po użyciu dostawcy PCP te porty TCP będą używane - 44321 (pmcd, pobieranie bieżących wartości metryk), 44322 (pmproxy, z metrics_query_service lub metrics_graph_service), 6379 (serwer redis dla metrics_query_service) oraz 3000 (serwer grafana dla metrics_graph_service).

metrics_manage_firewall: false

Flaga logiczna pozwalająca na konfigurowanie zapory sieciowej za pomocą roli zapory. Zarządzaj portem pmcd, portem pmproxy, portem Grafany i portem Redis w zależności od parametrów konfiguracyjnych. Jeśli zmienna jest ustawiona na false, rola metrics nie zarządza zaporą.

UWAGA: metrics_manage_firewall jest ograniczone do dodawania portów. Nie można go używać do usuwania portów. Jeśli chcesz usunąć porty, musisz użyć bezpośrednio roli systemu zapory.

UWAGA: zarządzanie zaporą nie jest obsługiwane w RHEL 6.

metrics_manage_selinux: false

Flaga logiczna pozwalająca na konfigurowanie selinux za pomocą roli selinux. Przypisz port pmcd, port pmproxy, port Grafany i port Redis w zależności od parametrów konfiguracyjnych. Jeśli zmienna jest ustawiona na false, rola metrics nie zarządza selinux.

Należy zauważyć, że usługi pmcd i pmproxy są w "tymczasowym" zakresie i nie wymagają specjalnej konfiguracji, a port Grafany jest "niezarejestrowany". Port Redis jest kontrolowany przez typ SELinux redis_port_t i może wymagać dalszej konfiguracji, jeśli potrzebujesz bezpośredniego dostępu (nie jest to wymagane, jeśli uzyskujesz dostęp z narzędzi roli metrics, takich jak Grafana i PCP). Użyj roli systemowej selinux, aby zarządzać dostępem do portów w kontekście SELinux.

UWAGA: metrics_manage_selinux jest ograniczone do dodawania polityki. Nie można go używać do usuwania polityki. Jeśli chcesz usunąć politykę, musisz użyć bezpośrednio roli systemu selinux.

Przykładowy Playbook

Podstawowa konfiguracja rejestrowania metryk dla każdego zarządzanego hosta, z zachowaniem danych przez jeden tydzień przed ich usunięciem.

---
- name: Zarządzaj usługą metryk
  hosts: all
  vars:
    metrics_retention_days: 7
  roles:
    - linux-system-roles.metrics

Skalowalna konfiguracja rejestrowania metryk, analizy i wizualizacji dla zarządzanych hostów, zapewniająca serwer API REST z punktem końcowym OpenMetrics, wykresami i skalowalnym zapytaniem.

---
- name: Zarządzaj metrykami z usługami graficznymi i zapytaniami
  hosts: all
  vars:
    metrics_graph_service: true
    metrics_query_service: true
  roles:
    - linux-system-roles.metrics

Centralna konfiguracja rejestrowania metryk dla kilku zdalnych hostów oraz skalowalna konfiguracja rejestrowania metryk, analizy i wizualizacji dla lokalnego hosta, zapewniająca serwer API REST z punktem końcowym OpenMetrics, wykresami i skalowalnym zapytaniem.

---
- name: Zarządzaj centralnym zbieraniem metryk
  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

Zobacz README-ostree.md

Licencja

MIT