Instalace Fleet serveru + Instalace Linux Elastic agenta

By | 27/06/2023

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:

Instalace Fleet serveru Elastic

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.

Instalace Fleet serveru Elastic

Po kliknutí na Fleet Server policy se zobrazí okno níže:

Instalace Fleet serveru Elastic

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.

Instalace Fleet serveru Elastic

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 Elastic

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:

fleet

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *