Graylog je nástroj pro správu protokolů s otevřeným zdrojovým kódem, který vám pomáhá centrálně shromažďovat, indexovat a analyzovat jakékoli protokoly stroje. Tato příručka se zaměřuje na instalaci Graylog na Ubuntu 18.04 / Ubuntu 16.04.
Komponenty
MongoDB – Funguje jako databáze, ukládá konfigurace a meta informace.
Elastické vyhledávání – Ukládá zprávy protokolu a nabízí možnost vyhledávání. Pro uzly Elasticsearch se doporučuje alokovat více paměti a používat disky SAS nebo SAN. Zde, kde probíhá veškeré vaše hledání.
Graylog Server – Log Parser. Shromažďuje protokoly z různých vstupů a poskytuje výstup do vestavěného webového rozhraní pro správu protokolů.
Předpoklady
Jak víte, Elasticsearch je aplikace založená na java. Chcete-li pokračovat dále, nainstalujte do počítače buď OpenJDK nebo Oracle JDK.
Tady půjdu na OpenJDK 8.
sudo apt updatesudo apt install -y apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen curl dirmngr
Ověřte verzi Java.
verze Java
Výstup:
verze openjdk "1.8.0_191" Runtime Environment OpenJDK (sestavení 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)OpenJDK 64bitový server VM (sestavení 25.12, smíšený režim)Nainstalujte Elasticsearch
Elasticsearch je jednou z hlavních komponent, která vyžaduje ke spuštění Graylog, funguje jako vyhledávací server, nabízí distribuované vyhledávání a analýzy v reálném čase s webovým rozhraním RESTful.
Elasticsearch ukládá všechny protokoly odeslané serverem Graylog a zobrazuje zprávy, kdykoli uživatel požádá prostřednictvím vestavěného webového rozhraní.
Stáhněte a nainstalujte podpisový klíč GPG.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -Nastavte úložiště Elasticsearch spuštěním příkazu níže.
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listAktualizujte mezipaměť úložiště a nainstalujte balíček Elasticsearch.
sudo apt updatesudo apt install -y elasticsearchZajistěte automatické spouštění služby Elasticsearch při spuštění systému.
sudo systemctl povolit elasticsearchJediná důležitá věc je nastavit název clusteru jako graylog . Upravte konfigurační soubor Elasticsearch a odpovídajícím způsobem jej aktualizujte.
sudo nano /etc/elasticsearch/elasticsearch.ymlNastavte název clusteru zobrazený níže.
cluster.name:graylogSpusťte službu Elasticsearch a přečtěte si nové konfigurace.
sudo systemctl restart elasticsearchPočkejte alespoň minutu, než se Elasticsearch plně restartuje. Elastisearch by nyní měl na 9200 naslouchat zpracování požadavku HTTP. Pro kontrolu odpovědi použijte CURL.
curl -X GET http://localhost:9200Výstup:
Ujistěte se, že se název clusteru zobrazuje jako graylog .
{ "name" :"bgVbYrc", "cluster_name" :"graylog ", "cluster_uuid" :"-wECQlwnSZWftd_XdWSz-g", "version" :{ "číslo" :"6.6.1", "build_flavor" :"default", "build_type" :"deb", "build_hash" :"1fd8f69 ", "build_date" :"2019-02-13T17:10:04.160291Z", "build_snapshot" :false, "lucene_version" :"7.6.0", "minimum_wire_compatibility_version" :"5.6.0" "minimum_patibility" 5.0.0" }, "tagline" :"Víte, pro vyhledávání"}Volitelné: Otestujte stav clusteru Elasticsearch.
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'Výstup:
Ujistěte se, že výstup dává stav clusteru zelený .
{ "cluster_name" :"graylog", "status" :"zelená ", "timed_out" :false, "number_of_nodes" :1, "number_of_data_nodes" :1, "active_primary_shards" :0, "active_shards" :0, "relocating_shards" :0, "initializing_shards" :0, "initializing_shards" :0, "delayed_unassigned_shards" :0, "number_of_pending_tasks" :0, "number_of_flight_fetch" :0, "task_max_waiting_in_queue_millis" :0, "active_shards_percent_as_number" :100Nainstalujte MongoDB
Stáhněte si a nainstalujte nejnovější verzi MongoDB z oficiálních stránek. Začněte importem veřejného klíče do terminálu.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4Přidejte úložiště mongodb vytvořením
/etc/apt/sources.list.d/mongodb-org.list
soubor pomocí následujícího příkazu.### Ubuntu 18.04 ### echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list### Ubuntu 16.04 ### echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.listNainstalujte MongoDB pomocí následujícího příkazu.
sudo apt updatesudo apt install -y mongodb-orgSpusťte MongoDB a povolte jej při startu systému.
sudo systemctl spustit mongodsudo systemctl povolit mongodNainstalovat Graylog
Graylog Server přijímá a zpracovává zprávy protokolu a poté je zobrazuje pro požadavky, které přicházejí z webového rozhraní graylog.
Stáhněte a nainstalujte úložiště graylog 3.x.
wget https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.debsudo dpkg -i graylog-3.0-repository_latest.debAktualizujte mezipaměť úložiště.
aktualizace sudo aptNainstalujte server Graylog pomocí následujícího příkazu.
sudo apt install -y graylog-serverNakonfigurujte Graylog
Pro zabezpečení uživatelských hesel musíte nastavit tajemství. K tomu použijte příkaz pwgen.
pwgen -N 1 -s 96Výstup:
fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9MUpravte soubor server.conf soubor pro zahájení konfigurace graylog.
sudo nano /etc/graylog/server/server.confUmístěte tajemství jako níže.
password_secret = fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9MDále je potřeba nastavit hash (sha256) heslo pro uživatele root (nezaměňovat se systémovým uživatelem, root uživatelem graylog je admin).
Toto heslo budete potřebovat pro přihlášení do webového rozhraní Graylog. Heslo správce nelze změnit pomocí webového rozhraní. Musíte tedy upravit tuto proměnnou, abyste ji mohli nastavit.
Nahraďte vaše heslo podle vašeho výběru.
echo -n yourpassword | sha256sumVýstup:
e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951Upravte soubor server.conf soubor znovu.
sudo nano /etc/graylog/server/server.confUmístěte hash heslo.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951Můžete nastavit e-mailovou adresu jako správce.
root_email ="[email protected] "."Nastavte časové pásmo uživatele root (admin).
root_timezone =UTCDefinováním níže uvedené proměnné nastavte pouze jeden hlavní uzel. Pokud přidáte druhý uzel Graylog, nastavte toto na hodnotu false, aby se druhý uzel stal podřízeným, protože hlavní uzel provádí některé pravidelné úkoly, které podřízené uzly neprovedou.
is_master =pravdaNastavte počet zpráv protokolu, které se mají uchovávat na index; doporučuje se mít několik menších indexů místo větších.
elasticsearch_max_docs_per_index =20000000Následující parametr definuje celkový počet indexů, pokud je tohoto počtu dosaženo, starý index bude smazán.
elasticsearch_max_number_of_indices =20Nastavení úlomků závisí na počtu uzlů v konkrétním clusteru Elasticsearch. Pokud máte pouze jeden uzel, nastavte jej na 1.
elasticsearch_shards =1Toto nastavení definuje počet replik pro vaše indexy. Pokud máte v clusteru Elasticsearch pouze jeden uzel, nastavte jej na 0.
elasticsearch_replicas =0Nastavení webového rozhraní Graylog
Od verze 2.x je webové rozhraní obsluhováno přímo Graylog serverem. Nakonfigurujte webové rozhraní Graylog úpravou server.conf soubor.
sudo nano /etc/graylog/server/server.confAktualizujte níže uvedený záznam svou systémovou IP adresou, ze které budete přistupovat k webovému rozhraní Graylog.
http_bind_address =ip-vašeho-serveru :9000Restartujte službu Graylog.
sudo systemctl restart graylog-serverNastavte Graylog server, aby se spouštěl automaticky při startu systému.
sudo systemctl povolit graylog-serverMůžete se podívat na protokoly spouštění serveru a v případě problému bude pro vás užitečné řešit potíže s Graylogem.
sudo tail -f /var/log/graylog-server/server.logPo úspěšném spuštění graylog-serveru byste měli v log souboru obdržet následující zprávu.
2019-02-22T10:07:49.398+05:30 INFO [ServerBootstrap] Server Graylog je v provozu.Zpřístupněte Graylog
Webové rozhraní bude nyní naslouchat na portu 9000, nasměrujte svůj prohlížeč na
http://ip.add.re.ss:9000Přihlaste se pomocí uživatelského jména admin a heslo, které jste nakonfigurovali na root_password_sha2 na server.conf .
Jakmile se přihlásíte, uvidíte stránku Začínáme.
Klikněte na Systém>> Přehled zjistit stav serveru Graylog.
Vytvoření Graylog Inputs
Vstup Graylog musí být nakonfigurován pro příjem protokolů z externích zdrojů, tj. syslog nebo jakéhokoli protokolovacího systému.
V tomto příkladu nastavíme vstup pro příjem protokolů ze syslogu na portu číslo UDP 1514. Protože pokud začnete zkoušet vstup na jednom z privilegovaných portů, na jakémkoli portu TCP/UDP s číslem nižším než 1024, uvidíte, že oprávnění bude odepřeno chyba v protokolech Graylog.
Vytvoříme tedy vstup, který začne na portu 1514.
Klikněte na Systém >> Vstupy >> vyberte Syslog UDP a poté klikněte na Spustit nový vstup.
Vyplňte hodnoty a poté klikněte na Uložit.
Uzel: Vyberte svůj uzel Graylog
Název: Pojmenujte svůj vstup
Vázaná adresa: 0.0.0.0 (nechat výchozí)
Port: 1514
Nakonfigurujte Rsyslog
Jakmile vytvoříte vstupy, nakonfigurujte Rsyslog nebo přepošlete systémové protokoly na váš Graylog server.
Upravte konfigurační soubor Rsyslog.
sudo nano /etc/rsyslog.confTypická konfigurace Rsyslog bude vypadat níže pro odesílání protokolů na UDP 1514.
*.info;mail.none;authpriv.none;cron.none @192.168.1.10:1514Chcete-li odeslat protokoly, restartujte službu Rsyslog.
systemctl restartujte rsyslogZobrazení protokolů pomocí Graylog
Počkejte několik minut. Při vygenerování události byste měli začít přijímat zprávy protokolu z klientského počítače.
Následující snímek obrazovky ukazuje protokoly přijaté Graylogem (Graylog konzole >> Searc h ).
Závěr
Úspěšně jste nainstalovali Graylog 3.0 na Ubuntu 18.04 / Ubuntu 16.04 a nakonfigurovali Graylog pro příjem protokolů Rsyslog z externích zdrojů. Jako další čtení můžete zkusit nakonfigurovat Nginx nebo Apache jako reverzní proxy a nastavit HTTPS pro webové rozhraní Graylog.
Nastavení ELK Stack na Ubuntu 16.04 – Nainstalujte ElasticSearch, Logstash a Kibana na Ubuntu 16.04 Jak nainstalovat VirtualBox na Ubuntu 18.04 / 18.10 / 19.04 a Ubuntu 16.04Ubuntu