cloudalchemy.node_exporter

DEPRECATED

Ta rola została wycofana na rzecz kolekcji prometheus-community/ansible.

Rola Ansible: node exporter

Licencja Rola Ansible Tag GitHub

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.

Zainstaluj
ansible-galaxy install cloudalchemy.node_exporter
Licencja
mit
Pobrania
3.3M
Właściciel
Setup your monitoring stack with ansible