Graylog je bezplatný softwarový nástroj pro správu protokolů s otevřeným zdrojovým kódem, který lze použít ke sledování protokolů síťových systémů z centrálního serveru. Využívá Elasticsearch k ukládání dat protokolů a poskytování možností vyhledávání a MongoDB k ukládání meta informací. Pomáhá vám monitorovat, vyhledávat a analyzovat velké množství dat do jednoduše čitelného formátu.
V tomto tutoriálu vám ukážeme, jak nainstalovat Graylog na server Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04. s minimálně 4 GB RAM
- Heslo uživatele root je nakonfigurováno na.
Začínáme
Nejprve budete muset aktualizovat své systémové balíčky na nejnovější verzi. Všechny je můžete aktualizovat pomocí následujícího příkazu:
apt-get update -y
Po aktualizaci všech balíčků budete také muset nainstalovat některé závislosti na váš server. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y
Jakmile jsou nainstalovány všechny požadované závislosti, můžete přejít k dalšímu kroku.
Instalovat Javu
Graylog vyžaduje, aby byla na vašem serveru nainstalována Java. Pokud není nainstalován, můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install openjdk-11-jre-headless -y
Jakmile je Java nainstalována, můžete ověřit nainstalovanou verzi Java spuštěním následujícího příkazu:
java -version
Měli byste získat následující výstup:
openjdk version "11.0.8" 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalace a konfigurace Elasticsearch
Graylog používá Elasticsearch k ukládání protokolů pocházejících z externího zdroje. Budete tedy muset do svého systému nainstalovat Elasticsearch.
Ve výchozím nastavení není nejnovější verze Elasticsearch k dispozici ve výchozím úložišti Ubuntu. Budete tedy muset do svého systému přidat úložiště Elasticsearch.
Nejprve si stáhněte a přidejte klíč Elasticsearch GPG pomocí následujícího příkazu:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Dále přidejte úložiště Elasticsearch pomocí následujícího příkazu:
echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
Dále aktualizujte úložiště a nainstalujte Elasticsearch pomocí následujícího příkazu:
apt-get update -y
apt-get install elasticsearch-oss -y
Po instalaci Elasticsearch budete muset upravit konfigurační soubor Elasticsearch a definovat název clusteru. Můžete to udělat pomocí následujícího příkazu:
nano /etc/elasticsearch/elasticsearch.yml
Definujte název clusteru do graylogu a přidejte další řádek, jak je znázorněno níže:
cluster.name: graylog action.auto_create_index: false
Po dokončení uložte a zavřete soubor. Poté spusťte službu Elasticsearch a povolte její spuštění při spuštění pomocí následujícího příkazu:
systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch
Stav služby Elasticsearch můžete také ověřit pomocí následujícího příkazu:
systemctl status elasticsearch
Měli byste získat následující výstup:
? elasticsearch.service - Elasticsearch Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 08:41:18 UTC; 9s ago Docs: http://www.elastic.co Main PID: 7085 (java) Tasks: 17 (limit: 2353) Memory: 1.1G CGroup: /system.slice/elasticsearch.service ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -> Sep 05 08:41:18 ubuntu2004 systemd[1]: Started Elasticsearch.
Nyní ověřte odpověď Elasticcsearch pomocí následujícího příkazu:
curl -X GET http://localhost:9200
Měli byste získat následující výstup:
{ "name" : "vzg8H4j", "cluster_name" : "graylog", "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ", "version" : { "number" : "6.8.12", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "7a15d2a", "build_date" : "2020-08-12T07:27:20.804867Z", "build_snapshot" : false, "lucene_version" : "7.7.3", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Instalace serveru MongoDB
Graylog používá MongoDB jako databázi. Takže budete muset nainstalovat databázi MongoDB na váš server. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install mongodb-server -y
Jakmile je MongoDB nainstalována, spusťte službu MongoDB a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start mongodb
systemctl enable mongodb
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat a konfigurovat Graylog
Ve výchozím nastavení není balíček Graylog dostupný ve výchozím úložišti Ubuntu. Takže budete muset nainstalovat úložiště graylog na váš server.
Balíček úložiště Graylog si můžete stáhnout pomocí následujícího příkazu:
wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb
Po dokončení stahování nainstalujte stažený balíček pomocí následujícího příkazu:
dpkg -i graylog-3.3-repository_latest.deb
Dále aktualizujte úložiště a nainstalujte Graylog server pomocí následujícího příkazu:
apt-get update -y
apt-get install graylog-server -y
Po instalaci serveru Graylog budete muset vygenerovat tajemství pro zabezpečení uživatelských hesel. Můžete jej vygenerovat pomocí následujícího příkazu:
pwgen -N 1 -s 96
Měli byste vidět následující výstup:
Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
Dále budete také muset vygenerovat bezpečné heslo pro administrátora Graylog. Toto heslo budete potřebovat pro přihlášení do webového rozhraní Graylog. Můžete jej vygenerovat pomocí následujícího příkazu:
echo -n password | sha256sum
Měli byste vidět následující výstup:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 -
Nyní upravte hlavní konfigurační soubor Graylog a definujte obě hesla:
nano /etc/graylog/server/server.conf
Vložte obě hesla, která jste vygenerovali výše, jak je znázorněno níže:
password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Dále budete také muset definovat pro váš server adresu vazby, jak je uvedeno níže:
http_bind_address = 127.0.0.1:9000
Po dokončení uložte a zavřete soubor, poté spusťte službu Graylog a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server
Dále můžete ověřit stav serveru Graylog pomocí následujícího příkazu:
systemctl status graylog-server
Měli byste vidět následující výstup:
? graylog-server.service - Graylog server Loaded: loaded (/lib/systemd/system/graylog-server.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 08:50:16 UTC; 15min ago Docs: http://docs.graylog.org/ Main PID: 8693 (graylog-server) Tasks: 156 (limit: 2353) Memory: 865.0M CGroup: /system.slice/graylog-server.service ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX> Sep 05 08:50:16 ubuntu2004 systemd[1]: Started Graylog server.
Log serveru Graylog můžete také ověřit pomocí následujícího příkazu:
tail -f /var/log/graylog-server/server.log
Po úspěšném spuštění serveru Graylog byste měli získat následující výstup:
2020-09-05T08:51:36.473Z INFO [ServerBootstrap] Services started, startup times in ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701} 2020-09-05T08:51:36.477Z INFO [ServerBootstrap] Graylog server up and running.
V tomto okamžiku je Graylog server spuštěn a naslouchá na portu 9000.
Nakonfigurujte Nginx jako reverzní proxy pro Graylog
Dále budete muset nainstalovat a nakonfigurovat Nginx jako reverzní proxy pro přístup k serveru Graylog.
Nejprve nainstalujte server Nginx pomocí následujícího příkazu:
apt-get install nginx -y
Po instalaci serveru Nginx vytvořte nový konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
nano /etc/nginx/sites-available/graylog.conf
Přidejte následující řádky:
server { listen 80; server_name graylog.example.org; location / { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Graylog-Server-URL http://$server_name/; proxy_pass http://127.0.0.1:9000; } }
Po dokončení uložte a zavřete soubor. Poté pomocí následujícího příkazu ověřte, zda v Nginx nedošlo k chybě syntaxe:
nginx -t
Měli byste získat následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Dále povolte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
Nakonec restartujte službu Nginx, aby se změny projevily:
systemctl restart nginx
Dále ověřte stav Graylogu pomocí následujícího příkazu:
systemctl status nginx
Měli byste získat následující výstup:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 09:07:50 UTC; 20s ago Docs: man:nginx(8) Process: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 9423 (nginx) Tasks: 3 (limit: 2353) Memory: 10.2M CGroup: /system.slice/nginx.service ??9423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??9424 nginx: worker process ??9425 nginx: worker process Sep 05 09:07:50 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server... Sep 05 09:07:50 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.
Přístup k webovému rozhraní Graylog
Nyní otevřete webový prohlížeč a zadejte adresu URL http://graylog.example.com. Budete přesměrováni na přihlašovací stránku Graylog, jak je uvedeno níže:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit knoflík. Na následující stránce byste měli vidět řídicí panel Graylog:
Nyní klikněte na Systém>> Přehled . Na následující stránce byste měli vidět stav serveru Graylog:
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Graylog server s Nginx jako reverzní proxy na Ubuntu 20.04. Nyní můžete prozkoumat Graylog a vytvořit vstup pro příjem protokolů Rsyslog z externích zdrojů. Pokud máte nějaké dotazy, neváhejte se mě zeptat.