sadsfae.ansible_elk
ansible-elk
=========== Ansible Playbook do konfiguracji stosu ELK/EFK oraz klienta Filebeat na zdalnych hostach

Co to robi?
- Automatyczna instalacja pełnego stosu ELK lub EFK w wersji 6.x (Elasticsearch, Logstash/Fluentd, Kibana)- Wersje ELK 5.6i2.4są utrzymywane jako gałęzie, a gałąźmasterbędzie obecnie w wersji 6.x.
- Używa Nginx jako odwróconego proxy dla Kibany, albo opcjonalnie Apache poprzez apache_reverse_proxy: true
- Generuje certyfikaty SSL dla Filebeat lub Logstash-forwardera
- Dodaje reguły iptables lub firewalld, jeśli zapora jest aktywna
- Dostosowuje rozmiar sterty Elasticsearch do połowy twojej pamięci, maksymalnie do 32G
- Wdraża klientów ELK z użyciem SSL i Filebeat dla Logstash (domyślnie)
- Wdraża rsyslog, jeśli wybrano Fluentd zamiast Logstash, zbiera ten sam zestaw logów związanych z OpenStack w /var/log/*
- Wszystkie porty usług można zmienić w install/group_vars/all.yml
- Opcjonalnie można zainstalować curator
- Opcjonalnie można zainstalować Elastic X-Pack Suite
- To jest również dostępne na Ansible Galaxy
 
- Wersje ELK 
Wymagania
- Serwer/klient RHEL7 lub CentOS7 bez modyfikacji
- RHEL7/CentOS7, Rocky lub Fedora dla klientów ELK używających Filebeat
- Serwer ELK/EFK z co najmniej 8G pamięci (możesz spróbować z mniejszą, ale seria 5.x jest dość wymagająca - spróbuj serii 2.4, jeśli masz ograniczone zasoby).
- Możesz chcieć zmodyfikować vm.swappiness, ponieważ ELK/EFK jest wymagający, a swapping zabija responsywność.- Pozostawiam to do Twojej oceny.
 
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p
Uwagi
- Aktualna wersja ELK to 6.x, ale możesz przejść do gałęzi 5.6 lub 2.4, jeśli chcesz tej serii
- Zaktualizuję ten playbook dla głównych wersji ELK w przyszłości, gdy czas pozwoli.
- Ustawienia htpasswd nginx początkowo na admin/admin
- Domyślne porty nginx to 80/8080 dla Kibany i pobierania certyfikatów SSL (można konfigurować)
- Używa OpenJDK do Javy
- Jest dość szybki, zajmuje około 3 minut na testowej maszynie wirtualnej
- Fluentd można zastąpić domyślnym Logstash- Ustaw logging_backend: fluentdwgroup_vars/all.yml
 
- Ustaw 
- Zainstaluj curator, ustawiając install_curator_tool: truewinstall/group_vars/all.yml
- Zainstaluj Elastic X-Pack Suite dla Elasticsearch, LogStash lub Kibany za pomocą:- install_elasticsearch_xpack: true
- install_kibana_xpack: true
- install_logstash_xpack: true
- Uwaga: Wdrażanie X-Pack owinie Twój ES dodatkowymi uwierzytelnieniami i bezpieczeństwem, Kibana będzie miała teraz własne dane logowania - domyślnie użytkownik: elastici hasło:changeme
 
Instrukcje dla serwera ELK/EFK
- Skopiuj repozytorium i skonfiguruj swój plik hosts
git clone https://github.com/sadsfae/ansible-elk
cd ansible-elk
sed -i 's/host-01/elkserver/' hosts
sed -i 's/host-02/elkclient/' hosts
- Jeśli używasz użytkownika nie-root do Ansible, np. AWS EC2 lubi używać ec2-user, ustaw poniżej, domyślnie jest root.
ansible_system_user: ec2-user
- Uruchom playbook
ansible-playbook -i hosts install/elk.yml
- (zobacz komunikaty z playbooka)
- Przejdź do ELK pod adresem http://host-01:80 (domyślnie, nginx) lub http://host-01/kibana (apache)
- Domyślne dane logowania to:- użytkownik: admin
- hasło: admin
 
- użytkownik: 
Utwórz wzór indeksu Kibana
- Następnie zalogujesz się do swojej instancji Kibana i utworzysz wzór indeksu Kibana.

- Uwaga: Przykładowe dane mogą być przydatne, możesz spróbować później.




- W tym momencie możesz skonfigurować swoich klientów do wysyłania danych za pomocą Filebeat/SSL
Instrukcje dla klientów ELK
- Uruchom playbook klienta przeciwko wygenerowanej zmiennej elk_server
ansible-playbook -i hosts install/elk-client.yml --extra-vars 'elk_server=X.X.X.X'
- Po zakończeniu wróć do swojego ELK, a zobaczysz wyniki logów przychodzące z klientów ELK/EFK przez filebeat

ELK/EFK 5.6 (Nieaktualne)
- Seria 5.6 ELK/EFK jest również dostępna, aby z niej skorzystać, użyj gałęzi 5.6
git clone https://github.com/sadsfae/ansible-elk
cd ansible-elk
git checkout 5.6
ELK/EFK 2.4 (Nieaktualne)
- Seria 2.4 ELK/EFK jest również dostępna, aby z niej skorzystać, użyj gałęzi 2.4
git clone https://github.com/sadsfae/ansible-elk
cd ansible-elk
git checkout 2.4
- Możesz obejrzeć film dotyczący wdrażania tutaj:
Hierarchia plików
.
├── hosts
├── install
│   ├── elk_client.yml
│   ├── elk.yml
│   ├── group_vars
│   │   └── all.yml
│   └── roles
│       ├── apache
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       ├── 8080vhost.conf.j2
│       │       └── kibana.conf.j2
│       ├── curator
│       │   ├── files
│       │   │   └── curator.repo
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       ├── curator-action.yml.j2
│       │       └── curator-config.yml.j2
│       ├── elasticsearch
│       │   ├── files
│       │   │   ├── elasticsearch.in.sh
│       │   │   └── elasticsearch.repo
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       └── elasticsearch.yml.j2
│       ├── elk_client
│       │   ├── files
│       │   │   └── elk.repo
│       │   └── tasks
│       │       └── main.yml
│       ├── filebeat
│       │   ├── meta
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       ├── filebeat.yml.j2
│       │       └── rsyslog-openstack.conf.j2
│       ├── firewall
│       │   ├── handlers
│       │   │   └── main.yml
│       │   └── tasks
│       │       └── main.yml
│       ├── fluentd
│       │   ├── files
│       │   │   ├── filebeat-index-template.json
│       │   │   └── fluentd.repo
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       ├── openssl_extras.cnf.j2
│       │       └── td-agent.conf.j2
│       ├── heartbeat
│       │   ├── meta
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       └── heartbeat.yml.j2
│       ├── instructions
│       │   └── tasks
│       │       └── main.yml
│       ├── kibana
│       │   ├── files
│       │   │   └── kibana.repo
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       └── kibana.yml.j2
│       ├── logstash
│       │   ├── files
│       │   │   ├── filebeat-index-template.json
│       │   │   └── logstash.repo
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       ├── 02-beats-input.conf.j2
│       │       ├── logstash.conf.j2
│       │       └── openssl_extras.cnf.j2
│       ├── metricbeat
│       │   ├── meta
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       └── metricbeat.yml.j2
│       ├── nginx
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       ├── kibana.conf.j2
│       │       └── nginx.conf.j2
│       ├── packetbeat
│       │   ├── meta
│       │   │   └── main.yml
│       │   ├── tasks
│       │   │   └── main.yml
│       │   └── templates
│       │       └── packetbeat.yml.j2
│       └── xpack
│           └── tasks
│               └── main.yml
└── meta
    └── main.yml
56 katalogów, 52 pliki
O projekcie
 Playbook for setting up an ELK/EFK stack and clients.
Zainstaluj
 ansible-galaxy install sadsfae.ansible_elkLicencja
 
            apache-2.0
          
Pobrania
 
            1.3k
          
Właściciel
 hobo devop/sysadmin/SRE

