mircomasa.filebeat
Rola Filebeat
Podsumowanie
Ta rola:
- instaluje Filebeat na Ubuntu, CentOS, Windows
- kopiuje przygotowany plik konfiguracyjny (ścieżka logów, połączenie z Elasticsearch itp.)
Zadania roli
- Przygotuj serwer (dodaj repozytorium Elastic)
- [Opcjonalnie] Utwórz folder(y) dla niestandardowych ścieżek
- Zainstaluj Filebeat
- Skopiuj plik konfiguracyjny
Wymagania
- Minimalna wersja Ansible do instalacji: 2.5
- Podstawowe systemy operacyjne:- CentOS- 6, 7
 
- Ubuntu- 16.04, 18.04
 
- Debian- 8, 9
 
- Windows
 
- CentOS
Zmienne roli
Możesz nadpisać dowolną zmienną poniżej, ustawiając "zmienna: wartość" w playbooku.
- filebeat_versionSłuży do wyboru głównej wersji Filebeat do zainstalowania (aktualne stabilne wersje 5.x lub 6.x). Wartość domyślna to- 6.
- filebeat_last_versionSłuży do wyboru konkretnej wersji Filebeat do zainstalowania. Wartość domyślna to- 6.6.0.
- elastic_gpg_keyKlucz GPG z repozytorium Elasticsearch. Wartość domyślna to- https://artifacts.elastic.co/GPG-KEY-elasticsearch.
- filebeat_node_nameNazwa węzła Filebeat. Wartość domyślna to- {{ inventory_hostname }}. Jeśli ta opcja nie jest zdefiniowana, używana jest nazwa hosta.
- filebeat_ssl_enabledWłącza/wyłącza połączenie SSL między Filebeat a Logstash/Elasticsearch. Opcje SSL powinny być ustawione w odpowiednich polach słownika, jak pokazano poniżej:
  ssl:
    key: "/etc/pki/tls/private/server.key"
    certificate: "/etc/pki/tls/certs/server.crt"
    certificate_authorities: "/etc/pki/CA/ca-root.pem"
w przypadku ustawienia Windows:
  ssl:
    key: 'c:\tls\private\server.key'
    certificate: 'c:\tls\certs\server.pem'
    certificate_authorities: 'c:\CA\ca-root.pem'
Sekcja path opcji konfiguracyjnych definiuje, gdzie Filebeat szuka swoich plików. Na przykład, Filebeat szuka pliku szablonu Elasticsearch w ścieżce konfiguracyjnej i zapisuje pliki logów w ścieżce logów. Filebeat szuka swoich plików rejestru w ścieżce danych. Wartości domyślne dla hostów Linux są ustawione w następujący sposób:
path:
  home: /usr/share/filebeat
  config: /etc/filebeat
  data: /var/lib/filebeat
  logs: /var/log/filebeat
w przypadku ustawienia Windows domyślne ścieżki wyglądają tak:
path:
  home: 'c:\program files\filebeat'
  config: 'c:\program files\filebeat'
  data: 'c:\programdata\filebeat'
  logs: 'c:\programdata\filebeat\logs'
- win_download_pathTymczasowy katalog dla Windows do pobierania i rozpakowywania pakietu Filebeat. Wartość domyślna to- '{{ ansible_env.TEMP }}/filebeat'(wartość ansible_env.TEMP rozwiązuje problem idempotencji)
- input_logpathŚcieżka do plików logów.
Domyślna wartość dla rodziny systemów operacyjnych *NIX to "/var/log/*.log"
Domyślna wartość dla rodziny systemów operacyjnych WIN to 'c:\windows\*.log'
Zmiana filebeat_inputs definiuje rodzaj logów, które będą przetwarzane przez potok, ich ścieżki logów oraz indeks Elasticsearch, który powinien przechowywać ten typ logów.
Możesz określić kilka wejść z różnymi ścieżkami, typami logów i nazwami indeksów, używając formatu yaml, jak w przykładzie poniżej:
    filebeat_inputs:
      - name: hybris
        paths:
          - '/var/log/console*.log'
        fields:
          logtype: hybris
          index_name: hybris-console
      - name: access
        paths:
          - '/var/log/access*.log'
          - '/var/log/nginx_access*.log'
        fields:
          logtype: access
          index_name: nginx-access
Dostosowanie wyjścia:
- filebeat_outputJest używany do skonfigurowania, jakie wyjście ma być używane podczas wysyłania danych (- elasticsearchlub- logstash). Wartość domyślna to- elasticsearch
- filebeat_elasticsearch_output.hostsTablica hostów do połączenia. Wartość domyślna to- localhost.
- filebeat_elasticsearch_output.portWartość do ustawienia niestandardowego portu. Wartość domyślna to- 9200.
- filebeat_logstash_outputsTablica hostów i portów do połączenia. Wartość domyślna to- localhost:5044.
Zaawansowane parametry konfiguracyjne:
Sekcja filebeat(systemd)\initd opcji konfiguracyjnych definiuje, który skrypt inicjalizacyjny będzie używany do zarządzania usługą Filebeat w zależności od systemu *nix. Niestandardowe ścieżki będą brane pod uwagę (jeśli są skonfigurowane).
- filebeat_service_nameNazwa skryptu nssm\init, który zarządza usługą Filebeat.
- filebeat_bulk_max_sizeMaksymalna liczba zdarzeń do zgrupowania w jednym żądaniu Logstash. Wartość domyślna to- 500.
- filebeat_workerLiczba pracowników na hosta Elasticsearch. Wartość domyślna to- 1.
- filebeat_logging_to_syslogWysyła wszystkie dane logowania do syslog. Wartość domyślna to- false.
- filebeat_logging_to_filesWysyła wszystkie dane logowania do plików rotacyjnych. Wartość domyślna to- true.
- filebeat_rotateeverybytesDefiniuje limit rozmiaru pliku logu. Wartość domyślna to- 104857600=- 100MB.
- filebeat_keepfilesLiczba plików logów do zachowania. Wartość domyślna to- 30.
- filebeat_ignore_olderWartość (można używać dowolnych napisów czasowych, takich jak 2h, 5m) powyżej której pliki będą ignorowane. Wartość domyślna to- 0(wyłączone).
- filebeat_scan_frequencyDefiniuje, jak często Filebeat sprawdza aktualizacje plików. Wartość domyślna to- 15s.
- filebeat_harvester_buffer_sizeDefiniuje rozmiar bufora. Wartość domyślna to- 65535.
- filebeat_lognameNazwa plików logów. Wartość domyślna to- "filebeat.log".
Zależności
ca-cert (tylko dla instalacji z SSL)
Przykład Playbooka
Instalacja wersji Filebeat 6.x:
- name: Zainstaluj filebeat
  hosts: all
  roles:
    - role: ansible-role-filebeat
Instalacja wersji Filebeat 6.x z niestandardową ścieżką do plików logów i wyjściem do Elasticsearch:
- name: Zainstaluj filebeat
  hosts: all
  roles:
    - role: ansible-role-filebeat
  vars:
    input_logpath: "/var/log/messages"
    filebeat_elasticsearch_output:
      hosts:
        - elasticsearch.example.com
      port: 9200
Licencja
Apache
Informacje o autorze
autorzy:
- Zespół Lean Delivery team@lean-delivery.com
Role for filebeat installation
ansible-galaxy install mircomasa.filebeat