linux-system-roles.metrics
metryki
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
Linux system role for metric collection
ansible-galaxy install linux-system-roles.metrics