Last Updated on 27/10/2023 by administrator
Instalace Fleet serveru (Elastic stack)
Instalace Fleet serveru
Prerekvizita:
Prerekvizita pro tuto instalaci Fleet serveru je Instalace Ubuntu Elasticsearch Kibana Logstash Filebeat (Elastic Stack)
Instalace Ubuntu Elasticsearch Kibana Logstash Filebeat (Elastic Stack)
Motivace:
Fleet Server v Elastic slouží jako prostředník mezi Fleet Managementem a Elastic Agenty. Hlavní účel Fleet Serveru je poskytnout centralizovanou řídící rovinu pro správu Elastic Agentů. Po této instalaci je možné následně využít Elastic Agenty, nainstalované na Windows, Linux či MAC stanicích
OS:
Instalace byla prováděna na Ubuntu 22.04 LTS pro Elasticsearch 8.8.1. Postup byl také odzkoušen na Elasticsearch 8.10.4. Vše konkrétně otestováno přes VirtualBox 7.0.8.
Implementace
1. Instalace Fleet serveru:
V okně pro vyhledávání napsat fleet a zvolit Fleet Management:
Kliknout na Add Fleet Server:
Zvolit libovolné jméno serveru, v tomto případě je to fleet_server1. Jako URL vložit IP adresu, na které bude Fleet server nainstalovaný. V tomto případě bude Fleet Server instalován na stejný server (OS Ubuntu 22) jako je Elasticseach, Kibana, Logstash a Filebeet z minulého návodu. Elasticseach, Kibana, Logstash, Filebeet a Fleet Server tedy poběží pod jednou IP adresou a tou je 192.168.0.162. Fleet server používá standardní port TCP/8220. V tomto případě bude v poli URL https://192.168.0.162:8220
Pozn. Nevkládat do URL doménové jméno, či localhost nebo 127.0.0.1, jelikož to způsobovalo problémy.
Po kliknutí na Fleet Server policy se zobrazí okno níže:
2. Instalace Elastic Agenta:
V bodě 2 bude tázáno pro jaký OS bude Fleet Server nainstalován. V tomto případě bude Fleet Server instalován na stejný server (OS Ubuntu 22) jako je Elasticseach, Kibana, Logstash a Filebeet z minulého návodu. Zvolit proto Linux Tar a zkopírovat předpřipravené příkazy pro instalaci Fleet serveru do Ubuntu 22 CLI.
Fleet Server je v podstatě Elastic Agent, který je enrollnutý ve Fleet Server policy.
Při výstupu instalace sudo ./elastic-agent install .. je potřeba potvrdit, zda bude Elastic Agent nainstalovat a pojede jako služba. Po úspěšné instalaci by se měla objevit hláška Successfully enrolled the Elastic Agent. Elastic Agent has been successfully installed:
elastic-agent-8.8.1-linux-x86_64/data/elastic-agent-4ac18b/components/pf-host-agent elastic-agent-8.8.1-linux-x86_64/data/elastic-agent-4ac18b/components/pf-host-agent.spec.yml elastic-agent-8.8.1-linux-x86_64/data/elastic-agent-4ac18b/elastic-agent elastic-agent-8.8.1-linux-x86_64/elastic-agent Elastic Agent will be installed at /opt/Elastic/Agent and will run as a service. Do you want to continue? [Y/n]:Y {"log.level":"info","@timestamp":"2023-06-17T10:37:18.987Z","log.origin":{"file.name":"cmd/enroll_cmd.go","file.line":410},"message":"Generating self-signed certificate for Fleet Server","ecs.version":"1.6.0"} {"log.level":"info","@timestamp":"2023-06-17T10:37:21.909Z","log.origin":{"file.name":"cmd/enroll_cmd.go","file.line":756},"message":"Waiting for Elastic Agent to start","ecs.version":"1.6.0"} {"log.level":"info","@timestamp":"2023-06-17T10:37:25.911Z","log.origin":{"file.name":"cmd/enroll_cmd.go","file.line":787},"message":"Fleet Server - Running on policy with Fleet Server integration: fleet-server-policy; missing config fleet.agent.id (expected during bootstrap process)","ecs.version":"1.6.0"} {"log.level":"info","@timestamp":"2023-06-17T10:37:26.085Z","log.origin":{"file.name":"cmd/enroll_cmd.go","file.line":478},"message":"Starting enrollment to URL: https://sec:8220/","ecs.version":"1.6.0"} {"log.level":"info","@timestamp":"2023-06-17T10:37:28.800Z","log.origin":{"file.name":"cmd/enroll_cmd.go","file.line":276},"message":"Successfully triggered restart on running Elastic Agent.","ecs.version":"1.6.0"} Successfully enrolled the Elastic Agent. Elastic Agent has been successfully installed.
Ověření, zda služba elastic-agent je aktivní:
ss -tulpn | grep elastic-agent
Výstup příkazu ss -tulpn | grep elastic-agent ukazuje, že agent naslouchá na portu TCP/6789 a TCP/6791
tcp LISTEN 0 4096 127.0.0.1:6789 0.0.0.0:* users:(("elastic-agent",pid=1505,fd=11)) tcp LISTEN 0 4096 127.0.0.1:6791 0.0.0.0:* users:(("elastic-agent",pid=1505,fd=9))
Fleet Server by se měl automaticky připojit jako ukazuje obrázek níže:
Instalace Fleet serveru je hotova! V okně pro vyhledávání napsat fleet a zvolit Fleet Management:
A server by měl mít status Healthy:
Hotovo!
3. Restart Elastic agenta
Přejít do slozky kde byl elastic-agent stažen:
cd elastic-agent-8.10.4-linux-x86_64/
Restart Elastic agenta:
elastic-agent uninstall
4. Odinstalování Elastic agenta
Odinstalování Elastic agenta po Linuxem se může hodit např. pokud je u daného Hosta, měněna Agent policy. Nicméně to je jeden z mnoha případů.
Přejít do slozky kde byl elastic-agent stažen:
cd elastic-agent-8.10.4-linux-x86_64/
Odinstalace Elastic agenta:
elastic-agent uninstall
Výstup příkazu elastic-agent uninstall ukazuje, že byl Elastic Agent odinstalován:
Elastic Agent will be uninstalled from your system at /opt/Elastic/Agent. Do you want to continue? [Y/n]:y Elastic Agent has been uninstalled.
Řešení problémů:
1. Chyba – Error: fail to enroll: fail to execute request to fleet-server: x509: certificate signed by unknown authority.
Při zadání příkazu níže:
sudo ./elastic-agent install --url=https://192.168.0.162:8220 --enrollment-token=Qjh5VUlJa0I0M1lWU2VIZGtJVlI6UUlULVRocUlSZS1rSVZYLUVYMFNLQQ==
se zobrazí chyba
Error: fail to enroll: fail to execute request to fleet-server: x509: certificate signed by unknown authority For help, please see our troubleshooting guide at https://www.elastic.co/guide/en/fleet/8.10/fleet-troubleshooting.html Error: enroll command failed with exit code: 1 For help, please see our troubleshooting guide at https://www.elastic.co/guide/en/fleet/8.10/fleet-troubleshooting.html
Řešení problému:
Na konci řádku posledního příkazu je potřeba zadat parametr –insecure
Příklad:
sudo ./elastic-agent install --url=https://192.168.0.162:8220 --enrollment-token=Qjh5VUlJa0I0M1lWU2VIZGtJVlI6UUlULVRocUlSZS1rSVZYLUVYMFNLQQ== --insecure
Zdroj:
[1] https://www.elastic.co/guide/en/fleet/current/add-fleet-server-on-prem.html