ernestas-poskus.ansible-prometheus

ansible-prometheus

Status Budowy

Playbook Ansibla do instalacji systemu monitorowania Prometheus.

Playbook instaluje i zarządza usługami przy użyciu systemd. Aktualnie wspierane:

  • Prometheus
  • Node Exporter (zbiera metryki z maszyny gospodarza)
  • Alert manager
  • Push gateway
  • SNMP exporter
  • Blackbox exporter

Playbook zawiera rozbudowane opcje konfiguracyjne, sprawdź domyślny plik main.yml.

Wkład

Jeśli nie możesz znaleźć potrzebnego eksportera, sprawdź te przykłady #47 lub #50 i stwórz pull request.

Instalacja

ansible-galaxy install ernestas-poskus.ansible-prometheus

Wymagania

Systemd

Zmienne roli

---
# plik domyślny dla ansible-prometheus

prometheus_install: true
prometheus_node_exporter_install: true
prometheus_alert_manager_install: true
prometheus_push_gateway_install: false
prometheus_snmp_exporter_install: false
prometheus_blackbox_exporter_install: false

prometheus_owner: 'prometheus'
prometheus_group: 'prometheus'

prometheus_install_dir: '/usr/local/opt'
prometheus_config_dir: '/etc/prometheus'
prometheus_lib_dir: '/var/lib/prometheus'
prometheus_rules_dir: "{{ prometheus_config_dir }}/rules"

prometheus_data_dir: "{{ prometheus_lib_dir }}/prometheus2"
prometheus_alert_manager_data_dir: "{{ prometheus_lib_dir }}/alertmanager"
prometheus_alert_manager_config_dir: "{{ prometheus_config_dir }}/alertmanager"
prometheus_alert_manager_templates_dir: "{{ prometheus_config_dir }}/alertmanager/templates"
prometheus_snmp_exporter_config_dir: "{{ prometheus_config_dir }}/snmpexporter"
prometheus_blackbox_exporter_config_dir: "{{ prometheus_config_dir }}/blackboxexporter"

# Prometheus
prometheus_version: '2.25.1'
prometheus_platform_architecture: 'linux-amd64'

# Liczba otwartych plików, wartość dla LimitNOFILE
prometheus_service_limitnofile: infinity

# Node exporter
prometheus_node_exporter_version: '1.1.2'

# Alert manager
prometheus_alert_manager_version: '0.21.0'

# Pushgateway
prometheus_push_gateway_version: '1.4.0'

# SNMP exporter
prometheus_snmp_exporter_version: '0.20.0'

# Blackbox exporter
prometheus_blackbox_exporter_version: '0.18.0'

DOCS: Zmienne Prometheus

DOCS: Zmienne Node exporter

DOCS: Zmienne Alert manager

DOCS: Zmienne Pushgateway

DOCS: Zmienne SNMP exporter

DOCS: Zmienne Blackbox exporter

Zależności

Brak.

Przykładowy Playbook

Oto przykład użycia roli (np. z przekazanymi jako parametry zmiennymi):

- name: Instalacja Prometheus na maszynie hostującej
  hosts: vagrant1
  sudo: yes
  roles:
    - role: ansible-prometheus
      prometheus_config_scrape_configs:
        - job_name: 'prometheus'
          honor_labels: true
          scrape_interval: '15s'
          scrape_timeout: '3s'
          metrics_path: '/metrics'
          scheme: 'http'
          static_configs:
            - targets:
                - 'localhost:9090' # Prometheus sam w sobie
                - 'localhost:9100' # Node exporter
        - job_name: 'usługi consul'
          consul_sd_configs:
            - server: "localhost:8500"

Licencja

Copyright (c) 2021, Ernestas Poskus Wszelkie prawa zastrzeżone.

Wszelkie prawo do redistribucji i używania w formie źródłowej oraz binarnej, z lub bez modyfikacji, jest dozwolone pod warunkiem spełnienia następujących warunków:

  • Redistribucja kodu źródłowego musi zachować powyższe powiadomienie o prawach autorskich, tę listę warunków oraz następujące zastrzeżenie.

  • Redistribucja w formie binarnej musi reprodukować powyższe powiadomienie o prawach autorskich, tę listę warunków oraz następujące zastrzeżenie w dokumentacji i/lub innych materiałach dostarczonych z dystrybucją.

  • Ani nazwa ansible-prometheus, ani nazwy jego współtwórców nie mogą być używane do promowania produktów pochodzących z tego oprogramowania bez wcześniejszej pisemnej zgody.

TO OPROGRAMOWANIE JEST DOSTARCZANE PRZEZ POSIADACZY PRAW AUTORSKICH I WSPÓŁTWÓRCÓW "TAK JAK JEST" I WSZELKIE WYRAŹNE LUB IMPLICITNE GWARANCJE, W TYM, ALE NIE OGRANICZAJĄC SIĘ DO, IMPLICITNYCH GWARANCJI PRZYDATNOŚCI HANDLOWEJ I PRZYDATNOŚCI DO OKREŚLONEGO CELU SĄ ODRZUCONO. W ŻADNYM WYPADKU POSIADACZ PRAW AUTORSKICH LUB WSPÓŁTWÓRCY NIE SĄ ODPOWIEDZIALNI ZA ŻADNE BEZPOŚREDNIE, POŚREDNIE, INCYDENTALNE, SZCZEGÓLNE, EXEMPLARNE LUB WYNIKOWE ODSZKODOWANIA (W TYM, ALE NIE OGANICZAJĄC SIĘ DO, NABYCIA ZASTĘPCZYCH TOWARÓW LUB USŁUG; UTRATĘ UŻYTKU, DANYCH, LUB ZYSKÓW; LUB ZAKŁÓCENIE DZIAŁALNOŚCI) W JAKIJKOLWIEK SPOSÓB I NA JAKIEJKOLWIEK TEORII ODPOWIEDZIALNOŚCI, CZY TO W UMOWACH, ŚCISŁEJ ODPOWIEDZIALNOŚCI, LUB DELIKCIE (W TYM NIEDBALSTWIE LUB INNYMI) POWSTAŁE W JAKIKOLWIEK SPOSÓB W WYNIKU UŻYCIA TEGO OPROGRAMOWANIA, NAWET JEŚLI ZOSTAŁ BYŁ OSTRZEŻONY O MOŻLIWOŚCI TAKIEGO SZKODU.

Informacje o autorze

Twitter: @ernestas_poskus

Zainstaluj
ansible-galaxy install ernestas-poskus.ansible-prometheus
Licencja
bsd-3-clause
Pobrania
6.6k
Właściciel
pragmatic & ambitious