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_version
Służy do wyboru głównej wersji Filebeat do zainstalowania (aktualne stabilne wersje 5.x lub 6.x). Wartość domyślna to6
.filebeat_last_version
Służy do wyboru konkretnej wersji Filebeat do zainstalowania. Wartość domyślna to6.6.0
.elastic_gpg_key
Klucz GPG z repozytorium Elasticsearch. Wartość domyślna tohttps://artifacts.elastic.co/GPG-KEY-elasticsearch
.filebeat_node_name
Nazwa węzła Filebeat. Wartość domyślna to{{ inventory_hostname }}
. Jeśli ta opcja nie jest zdefiniowana, używana jest nazwa hosta.filebeat_ssl_enabled
Włą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_path
Tymczasowy 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_output
Jest używany do skonfigurowania, jakie wyjście ma być używane podczas wysyłania danych (elasticsearch
lublogstash
). Wartość domyślna toelasticsearch
filebeat_elasticsearch_output.hosts
Tablica hostów do połączenia. Wartość domyślna tolocalhost
.filebeat_elasticsearch_output.port
Wartość do ustawienia niestandardowego portu. Wartość domyślna to9200
.filebeat_logstash_outputs
Tablica hostów i portów do połączenia. Wartość domyślna tolocalhost: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_name
Nazwa skryptu nssm\init, który zarządza usługą Filebeat.filebeat_bulk_max_size
Maksymalna liczba zdarzeń do zgrupowania w jednym żądaniu Logstash. Wartość domyślna to500
.filebeat_worker
Liczba pracowników na hosta Elasticsearch. Wartość domyślna to1
.filebeat_logging_to_syslog
Wysyła wszystkie dane logowania do syslog. Wartość domyślna tofalse
.filebeat_logging_to_files
Wysyła wszystkie dane logowania do plików rotacyjnych. Wartość domyślna totrue
.filebeat_rotateeverybytes
Definiuje limit rozmiaru pliku logu. Wartość domyślna to104857600
=100MB
.filebeat_keepfiles
Liczba plików logów do zachowania. Wartość domyślna to30
.filebeat_ignore_older
Wartość (można używać dowolnych napisów czasowych, takich jak 2h, 5m) powyżej której pliki będą ignorowane. Wartość domyślna to0
(wyłączone).filebeat_scan_frequency
Definiuje, jak często Filebeat sprawdza aktualizacje plików. Wartość domyślna to15s
.filebeat_harvester_buffer_size
Definiuje rozmiar bufora. Wartość domyślna to65535
.filebeat_logname
Nazwa 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