cloudalchemy.node_exporter
DEPRECATED
Ta rola została wycofana na rzecz kolekcji prometheus-community/ansible.
Rola Ansible: node exporter
Ostrzeżenie
Z powodu ograniczeń galaxy.ansible.com mus mieliśmy przenieść rolę na https://galaxy.ansible.com/cloudalchemy/node_exporter i użyć _
zamiast -
w nazwie roli. To jest zmiana, która łamie kompatybilność i niestety wpływa na wszystkie wersje roli node_exporter, ponieważ ansible galaxy nie oferuje żadnej formy przekierowania. Przepraszamy za niedogodności.
Opis
Zainstaluj prometheus node exporter używając ansible.
Wymagania
- Ansible >= 2.7 (Może działać na wcześniejszych wersjach, ale nie możemy tego zagwarantować)
- gnu-tar na hoście deplojującym Mac (
brew install gnu-tar
) - Passlib jest wymagany, gdy używasz funkcji podstawowej autoryzacji (
pip install passlib[bcrypt]
)
Zmienne roli
Wszystkie zmienne, które mogą być nadpisane, są przechowywane w defaults/main.yml i są wymienione w poniższej tabeli.
Nazwa | Wartość domyślna | Opis |
---|---|---|
node_exporter_version |
1.1.2 | Wersja pakietu node exporter. Przyjmuje także 'latest' jako parametr. |
node_exporter_binary_local_dir |
"" | Umożliwia użycie lokalnych pakietów zamiast tych dystrybuowanych na githubie. Parametr może być ustawiony na katalog, w którym znajduje się binarny plik node_exporter na hoście, na którym uruchamiany jest ansible. To nadpisuje parametr node_exporter_version |
node_exporter_web_listen_address |
"0.0.0.0:9100" | Adres, na którym node exporter będzie nasłuchiwał |
node_exporter_web_telemetry_path |
"/metrics" | Ścieżka, pod którą będą eksponowane metryki |
node_exporter_enabled_collectors |
["systemd",{textfile: {directory: "{{node_exporter_textfile_dir}}"}}] |
Lista słowników definiujących dodatkowo włączone kolektory i ich konfigurację. Dodaje kolektory do tych, które są włączone domyślnie. |
node_exporter_disabled_collectors |
[] | Lista wyłączonych kolektorów. Domyślnie node_exporter wyłącza kolektory wymienione tutaj. |
node_exporter_textfile_dir |
"/var/lib/node_exporter" | Katalog używany przez Textfile Collector. Aby uzyskać uprawnienia do zapisu metryk w tym katalogu, użytkownicy muszą być w systemowej grupie node-exp . Uwaga: Więcej informacji w przewodniku TROUBLESHOOTING.md. |
node_exporter_tls_server_config |
{} | Konfiguracja dla autoryzacji TLS. Klucze i wartości są takie same jak w dokumentacji node_exporter. |
node_exporter_http_server_config |
{} | Konfiguracja dla wsparcia HTTP/2. Klucze i wartości są takie same jak w dokumentacji node_exporter. |
node_exporter_basic_auth_users |
{} | Słownik użytkowników i haseł dla podstawowej autoryzacji. Hasła są automatycznie haszowane za pomocą bcrypt. |
Przykład
Playbook
Użyj go w playbooku w następujący sposób:
- hosts: all
roles:
- cloudalchemy.node_exporter
Konfiguracja TLS
Przed uruchomieniem roli node_exporter użytkownik musi przygotować swój certyfikat i klucz.
- hosts: all
pre_tasks:
- name: Utwórz katalog certyfikatów node_exporter
file:
path: "/etc/node_exporter"
state: directory
owner: root
group: root
- name: Utwórz certyfikat i klucz
openssl_certificate:
path: /etc/node_exporter/tls.cert
csr_path: /etc/node_exporter/tls.csr
privatekey_path: /etc/node_exporter/tls.key
provider: selfsigned
roles:
- cloudalchemy.node_exporter
vars:
node_exporter_tls_server_config:
cert_file: /etc/node_exporter/tls.cert
key_file: /etc/node_exporter/tls.key
node_exporter_basic_auth_users:
randomuser: examplepassword
Strona demonstracyjna
Oferujemy przykładową stronę, która demonstruje pełne rozwiązanie monitorujące oparte na prometheus i grafana. Repozytorium z kodem i linkami do działających instancji jest dostępne na githubie a strona jest hostowana na DigitalOcean.
Testowanie lokalne
Preferowany sposób lokalnego testowania roli to użycie Dockera i molecule (v3.x). Będziesz musiał zainstalować Dockera na swoim systemie. Zobacz "Zacznij" dla odpowiedniego pakietu Dockera. Uruchomienie testów jest tak proste jak wykonanie molecule test
.
Integracja ciągła
Łączenie molecule i circle CI pozwala nam testować, jak nowe PR-y będą zachowywać się przy użyciu wielu wersji ansible i wielu systemów operacyjnych. Pozwala to również na tworzenie scenariuszy testowych dla różnych konfiguracji roli. W efekcie mamy dość dużą matrycę testową, co może zająć więcej czasu niż testy lokalne, więc prosimy o cierpliwość.
Wkład
Zobacz wytyczne dla współpracowników.
Rozwiązywanie problemów
Zobacz rozwiązywanie problemów.
Licencja
Ten projekt jest licencjonowany na mocy Licencji MIT. Zobacz LICENCJA po więcej szczegółów.
ansible-galaxy install cloudalchemy.node_exporter