Základní nastavení Graylogu po instalaci
Základní nastavení Graylogu po instalaci
Samotná instalace Graylogu ještě neznamená, že je prostředí připravené pro běžný provoz. V tomto článku si ukážeme, co přesně po instalaci nastavit, kde to v aktuálním Graylogu najít a co zkontrolovat, aby se později nemusely předělávat inputy, streamy, retence nebo dashboardy.
Tento článek navazuje na Instalaci Graylog Open na Debianu 12.
1. Nastavení veřejné URL Graylogu v server.conf
První praktická věc po instalaci je správně nastavit veřejnou URL Graylogu. Používá se ve webovém rozhraní i v odkazech, které Graylog generuje například v e-mailových notifikacích.
Na graylog01 upravíme soubor:
/etc/graylog/server/server.conf
a nastavíme:
http_external_uri = https://logs.example.cz/
Pokud Graylog publikujeme přes reverzní proxy nebo certifikát s veřejným názvem, musí zde být právě tato výsledná adresa, nikoliv interní hostname serveru.
Pak restartujeme službu:
sudo systemctl restart graylog-server
Ověření:
- otevřeme Graylog v prohlížeči přes cílovou URL
- zkontrolujeme, že se přesměrování nebo odkazy nevracejí na interní jméno serveru
📌 Pokud http_external_uri nenastavíme správně, budou některé odkazy z Graylogu směřovat na špatnou adresu.
2. Nastavení retence a rotace v index setech
Graylog ukládá zprávy do index setů. Právě zde určujeme, jak budou data rotovat a jak dlouho zůstanou dostupná.
V prostředí, které máš na screenshotu, je praktická cesta:
System / Indices
Tady:
- otevřeme existující
Default index set - nebo klikneme na
Create index set - nastavíme hodnoty přímo na konkrétním index setu
Pro menší nebo střední on-premise prostředí v Graylog Open dává smysl zkontrolovat nebo nastavit:
- Index Analyzer:
standard - Shards per Index:
1 - Replicas:
0 - Max. Number of Segments:
1 - Field type refresh interval:
5 minutes
V části Rotation & Retention zkontrolujeme, jaká strategie je nastavená.
Prakticky nastavíme:
- Rotation strategy:
Index Time Size Optimizing - Retention strategy:
Delete
Ve formuláři pak pracujeme hlavně s položkami:
- Min. in storage
- Max. in storage
Pokud používáme Index Time Size Optimizing, je praktičtější nenechávat obě hodnoty stejné. Mezi Min. in storage a Max. in storage necháme rezervu, aby Graylog mohl rotaci posunout podle velikosti shardů. Výchozí hodnoty 30 days / 40 days jsou pro pochopení principu dobrý příklad.
Po úpravě změny uložíme.
📌 V prostředí s několika málo streamy je často praktičtější vytvořit si správně hned konkrétní index sety přímo v System / Indices.
2.1 Co nastavit prakticky
Pokud organizace nespadá pod ZoKB:
Default index set:Min. in storage = 30 dní,Max. in storage = 40 dníserver-logs:Min. in storage = 90 dní,Max. in storage = 100 dní, pokud chceme delší retenci serverů
Pokud organizace spadá do nižšího režimu podle ZoKB:
Default index set:Min. in storage = 30 dní,Max. in storage = 40 dníserver-logs:Min. in storage = 365 dní,Max. in storage = 395 dní
Pokud organizace spadá do vyššího režimu podle ZoKB:
Default index set:Min. in storage = 30 dní,Max. in storage = 40 dníserver-logs:Min. in storage = 548 dní,Max. in storage = 578 dní
3. Vytvoření samostatného index setu pro serverové logy
Pokud mají logy koncových stanic i síťové syslogy stejnou retenci jako výchozí nastavení Graylogu, nemá smysl pro ně zakládat další index sety. V takovém případě necháme:
Default index setpro běžné endpointy a síťové logy- samostatný
server-logsjen pro servery, AD a bezpečnostní logy s delší retencí
V aktuálním UI otevřeme:
System / Indices
Klikneme na:
Create index set
A v tomto modelu vytvoříme jen:
server-logs
Praktický základ:
- Title:
Server Logs - Index prefix:
server-logs - Analyzer:
standard - Index shards:
1 - Index replicas:
0
V části Rotation & Retention pak nastavíme retenci podle typu dat.
Praktické mapování:
- logy koncových stanic ->
Default index set - síťové syslogy ->
Default index set - logy serverů včetně AD a bezpečnostních událostí -> index set
server-logs
📌 Pokud organizace spadá do režimu vyšších povinností, je samostatný index set pro serverové a bezpečnostní logy prakticky nutnost.
📌 Pokud mají dva typy logů stejnou retenci, samostatný stream stačí a další index set jen zbytečně přidává správu navíc.
4. Založení prvních inputů a routování do správných streamů
Po instalaci Graylogu ještě žádná data sama netečou. Další krok je vytvoření inputů.
V menší organizaci bývá praktický začátek:
- Beats input pro Winlogbeat
- Syslog UDP nebo Syslog TCP pro síťové prvky
Inputy otevřeme v:
System / Inputs
4.1 Beats input pro Winlogbeat
- V
System / Inputsv poli Select input vyberemeBeats. - Klikneme na Launch new input.
- Vyplníme minimálně:
- Title:
Winlogbeat - Bind address:
0.0.0.0 - Port:
5044
- Title:
- Pokud nemáme důvod input vázat jen na jeden uzel, zvolíme Global.
- Klikneme na Launch input.
Pak se otevře Input Setup Wizard. Ten je potřeba dokončit, jinak input ještě neběží.
Praktický postup v průvodci:
- zvolíme Skip Illuminate
- v části routování vybereme Create Stream
- jako název streamu zadáme například
Windows Endpoints - jako Index Set ponecháme
Default index set - dokončíme průvodce přes Start Input
4.2 Syslog input pro síťové prvky
Stejný princip použijeme pro MikroTik a UniFi:
- v
System / InputsvyberemeSyslog UDPneboSyslog TCP - klikneme na Launch new input
- nastavíme port podle návrhu prostředí
- zvolíme Global
- po spuštění dokončíme Input Setup Wizard
V routování nastavíme například:
- stream
Network Syslog - index set
Default index set
Praktická pravidla:
- pokud není důvod k izolaci na konkrétní uzel, použijeme Global input
- pokud to zdroj podporuje, je spolehlivější TCP než UDP
- input bez dokončeného Input Setup Wizard ještě není v plném provozu
- stream a index set je lepší určit hned při vzniku inputu
- serverové a bezpečnostní logy je vhodné směrovat do samostatného streamu s delší retencí
4.3 Jak oddělit koncové stanice a servery
Pokud chceme mít logy koncových stanic na 30 dní, ale logy serverů na 12 nebo 18 měsíců, nestačí jen jeden společný stream.
Praktický postup:
- vytvoříme stream
Windows Endpointss index setemDefault index set - vytvoříme druhý stream
Server Logs - tomuto streamu přiřadíme index set
server-logs - do streamu
Server Logspřidáme pravidla například pro:- hostname serverů a doménových řadičů
winlogbeat_winlog_channel:"Security"winlogbeat_winlog_channel:"Microsoft-Windows-PowerShell/Operational"winlogbeat_winlog_channel:"Microsoft-Windows-Sysmon/Operational"winlogbeat_winlog_channel:"Directory Service"
Stream vytvoříme v:
Streams
Tím získáme:
- kratší retenci pro koncové stanice a síťové logy v
Default index set - delší retenci pro serverové a bezpečnostní logy
- jednodušší dashboardy, alerty a oprávnění
5. První uživatelé a přístupy v Graylog Open
Graylog používá role i sdílení entit. V Open edici je ale potřeba počítat s tím, že možnosti sdílení jsou jednodušší než v Enterprise.
V aktuálním UI otevřeme:
System / Users and Teams
Na kartě Users klikneme na:
Create user
Praktický základ:
- vytvořit osobní administrátorský účet pro správce
- vestavěný účet
adminponechat spíš jako nouzový účet - běžným technikům dát roli
Reader - jen uživatelům, kteří mají spravovat Graylog, dát
Admin
Praktická poznámka pro Open edici:
- dokumentace uvádí, že Graylog Open umí sdílení jen přes Share with Everyone
- pokud tedy chceme, aby běžní technici viděli společné dashboardy nebo saved searches, je v Open edici nejjednodušší tyto entity sdílet právě takto
Prakticky to znamená:
- otevřeme například dashboard nebo saved search
- klikneme na Share
- zvolíme Share with Everyone
- nastavíme úroveň přístupu, typicky
Viewer
Pokud chceme zkontrolovat dostupné role, otevřeme:
System / Roles
📌 Každý uživatel musí mít alespoň roli Reader nebo Admin.
📌 Samotná role nestačí ke všemu. U entit, jako jsou dashboardy nebo saved searches, stále hraje roli sdílení.
6. SMTP pro budoucí e-mailové alerty
Pokud chceme v budoucnu používat e-mailové alerty, je rozumné SMTP nastavit hned na začátku.
Na graylog01 upravíme:
/etc/graylog/server/server.conf
a doplníme například:
transport_email_enabled = true
transport_email_hostname = smtp.example.cz
transport_email_port = 587
transport_email_use_auth = true
transport_email_auth_username = graylog@example.cz
transport_email_auth_password = <HESLO>
transport_email_use_tls = true
transport_email_from_email = graylog@example.cz
transport_email_web_interface_url = https://logs.example.cz/
Poté restartujeme Graylog server:
sudo systemctl restart graylog-server
Praktický test:
- otevřeme
Alerts / Notifications - klikneme na Create notification
- jako typ vybereme Email Notification
- použijeme Execute Test Notification
Tím si ověříme, že SMTP funguje ještě předtím, než začneme vytvářet alerty.
📌 transport_email_web_interface_url by měla odpovídat stejné veřejné adrese jako http_external_uri.
7. Kontrola po prvním ingestu
Jakmile do Graylogu začnou téct první data, uděláme krátkou provozní kontrolu.
7.1 Ověření inputů
Otevřeme:
System / Inputs
Zkontrolujeme:
- že inputy nejsou jen v setup módu
- že přibývají zprávy
- že nejsou vidět chyby při spuštění inputu
7.2 Ověření streamů a index setů
Při vytváření inputů zkontrolujeme, že:
- logy koncových stanic tečou do streamu
Windows Endpointsa používajíDefault index set - logy serverů tečou do streamu
Server Logsa používajíserver-logs - síťové logy tečou do streamu
Network Sysloga používajíDefault index set
7.3 Ověření polí na reálné zprávě
V Search si otevřeme jednu reálnou Windows zprávu a zkontrolujeme pole:
winlogbeat_winlog_computer_namewinlogbeat_winlog_channelwinlogbeat_event_code
Pokud tato pole nevidíme tak, jak očekáváme, je lepší problém vyřešit hned na začátku, než později opravovat dashboardy, saved searches nebo alerty.
7.4 Ověření Data Node a journalu
Nakonec zkontrolujeme:
- že je Data Node připojený
- že journal neroste neobvykle rychle
- že se v prostředí neobjevují dlouhodobé backlogy
- že zdroje mají správně synchronizovaný čas
To je důležité hlavně v prvních dnech po nasazení. U režimu vyšších povinností je navíc nepřetržitá synchronizace jednotného času technických aktiv výslovný požadavek vyhlášky.
Shrnutí
✅ Po instalaci je vhodné nejdřív nastavit http_external_uri a ověřit výslednou URL
✅ Retenci a rotaci nastavujeme přímo přes System / Indices
✅ Default index set může zůstat pro běžné endpointy a síťové logy
✅ Pro ZoKB dává smysl mít delší retenci v index setu server-logs
✅ Každý input je potřeba nejen spustit, ale i dokončit v Input Setup Wizard
✅ V Graylog Open je praktické počítat s jednoduchým modelem rolí a sdílení
✅ SMTP a první provozní kontrolu je lepší udělat hned na začátku