geerlingguy.filebeat
Rola Ansible: Filebeat dla Stosu ELK
Rola Ansible, która instaluje Filebeat na systemach RedHat/CentOS lub Debian/Ubuntu.
Wymagania
Brak.
Zmienne roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml
):
filebeat_version: 7.x
Kontroluje główną wersję zainstalowanego Filebeat.
filebeat_package: filebeat
filebeat_package_state: present
Określony pakiet do zainstalowania. Możesz podać wersję pakietu, zmieniając jego nazwę zgodnie z odpowiednią składnią dla swojej platformy i menedżera pakietów. Możesz również kontrolować stan pakietu (np. obecny, nieobecny lub najnowszy).
filebeat_create_config: true
Czy stworzyć plik konfiguracyjny Filebeat i zarządzać kopiowaniem klucza SSL oraz certyfikatu dla Filebeat. Jeśli wolisz samodzielnie stworzyć plik konfiguracyjny, możesz ustawić tę opcję na false
.
filebeat_inputs:
- type: log
paths:
- "/var/log/*.log"
Dane wejściowe, które będą wymienione w sekcji inputs
pliku konfiguracyjnego Filebeat. Zapoznaj się z przewodnikiem po konfiguracji wejść Filebeat w celu poznania dodatkowych opcji.
filebeat_output_elasticsearch_enabled: false
filebeat_output_elasticsearch_hosts:
- "localhost:9200"
Czy włączyć wyjście do Elasticsearch i do jakich hostów przesyłać dane wyjściowe.
filebeat_output_elasticsearch_auth:
username: "admin"
password: "S3CR3eeet"
# lub, tylko dla wersji 8+
filebeat_output_elasticsearch_auth:
api_key: "xa-123a-f3ea012d-aaae1"
Konfiguruje autoryzację dla wyjścia do Elasticsearch. Zauważ, że api_key
i username/password
są wzajemnie wykluczające się, a api_key
jest dostępny tylko w wersji 8.
filebeat_output_logstash_enabled: true
filebeat_output_logstash_hosts:
- "localhost:5000"
Czy włączyć wyjście do Logstash i do jakich hostów przesyłać dane wyjściowe.
filebeat_enable_logging: false
filebeat_log_level: warning
filebeat_log_dir: /var/log/filebeat
filebeat_log_filename: filebeat.log
Logowanie Filebeat.
filebeat_ssl_certs_dir: /etc/pki/logstash
filebeat_ssl_private_dir: "{{ filebeat_ssl_certs_dir }}"
Ścieżka, w której będą przechowywane certyfikaty i pliki kluczy.
filebeat_ssl_ca_file: ""
filebeat_ssl_certificate_file: ""
filebeat_ssl_key_file: ""
Lokalne ścieżki do plików certyfikatu SSL i kluczy.
filebeat_ssl_copy_file: true
Czy skopiować certyfikat i klucz do filebeat_ssl_dir
, czy używać istniejących.
Aby zapewnić najwyższe bezpieczeństwo, należy użyć własnego ważnego certyfikatu i pliku klucza oraz zaktualizować zmienne filebeat_ssl_*
w swoim playbooku, aby używały Twojego certyfikatu.
Aby wygenerować parę kluczy/certyfikatów samopodpisanych, możesz użyć polecenia:
$ sudo openssl req -x509 -batch -nodes -days 3650 -newkey rsa:2048 -keyout filebeat.key -out filebeat.crt
Zauważ, że Filebeat i Logstash mogą działać nieprawidłowo z certyfikatami samopodpisanymi, chyba że masz również pełny łańcuch zaufania (w tym jednostkę certyfikującą dla swojego certyfikatu samopodpisanego) dodany na swoim serwerze. Zobacz: https://github.com/elastic/logstash/issues/4926#issuecomment-203936891
filebeat_ssl_insecure: "false"
Ustaw to na "true"
, aby zezwolić na użycie certyfikatów samopodpisanych (gdy CA nie jest dostępna).
Nadpisywanie szablonu Filebeat
Jeśli nie możesz dostosować opcji za pomocą zmiennych, ponieważ opcja nie jest dostępna, możesz nadpisać szablon używany do generowania konfiguracji Filebeat.
filebeat_template: "filebeat.yml.j2"
Możesz skopiować i zmodyfikować dostarczony szablon, lub możesz wskazać plik szablonu w swoim katalogu playbooków, który zostanie użyty zamiast zarządzanego szablonu.
filebeat_template: "{{ playbook_dir }}/templates/filebeat.yml.j2"
Zależności
Brak.
Przykład Playbooka
- hosts: logs
- name: Ustaw zmienną java_packages (Debian/Ubuntu).
set_fact:
java_packages:
- openjdk-8-jdk
when: ansible_os_family == 'Debian'
roles:
- geerlingguy.java
- geerlingguy.elasticsearch
- geerlingguy.logstash
- geerlingguy.filebeat
Licencja
MIT / BSD
Informacje o autorze
Ta rola została stworzona w 2016 roku przez Jeffa Geerlinga, autora Ansible for DevOps.
ansible-galaxy install geerlingguy.filebeat