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 vám pomůže nainstalovat Graylog na CentOS 7 / RHEL 7.
Komponenty
- MongoDB – databáze pro ukládání konfigurací a meta informací.
- Elasticsearch – Ukládá protokolové zprávy přijaté ze serveru Graylog a poskytuje možnost je v případě potřeby vyhledávat. Elasticsearch je obchodník se zdroji, stejně jako indexování dat, takže alokujte více paměti a používejte disky SAS nebo SAN.
- Graylog server – Provádí analýzu protokolů, které přicházejí z různých vstupů, a poskytuje vestavěné webové rozhraní pro zpracování těchto protokolů.
Předpoklady
Ujistěte se, že je váš systém nakonfigurován s úložištěm EPEL.
Nainstalujte požadované balíčky pro instalaci Graylog.
yum -y install wget pwgen
Elasticsearch vyžaduje, aby byla na stroji nainstalována Java. Nainstalujte tedy buď OpenJDK nebo Oracle JDK.
yum install -y java-1.8.0-openjdk-headless
Ověřte verzi Java.
verze Java
Výstup:
openjdk verze "1.8.0_191" OpenJDK Runtime Environment (sestavení 1.8.0_191-b12)OpenJDK 64-Bit Server VM (sestavení 25.191-b12, smíšený režim)
Nainstalujte Elasticsearch
Elasticsearch je jednou z důležitých součástí v nastavení Graylog. Ukládá data přicházející ze vstupu Graylog a zobrazuje zprávy vždy, když uživatel požádá prostřednictvím vestavěného webového rozhraní Graylog.
Elasticseach se zde používá hlavně k indexování dat/protokolů a poskytování funkcí vyhledávání, když webové rozhraní Graylog požaduje jakékoli informace.
Tato příručka pokrývá základní konfiguraci vyžadovanou pro Graylog.
Před instalací importujte podpisový klíč GPG.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Vytvořte soubor úložiště, abyste získali nejnovější verzi balíčku Elasticsearch z oficiálního úložiště.
vi /etc/yum.repos.d/elasticsearch.repo
Přidejte níže uvedený obsah do výše uvedeného souboru.
[elasticsearch-6.x]name=Elasticsearch repository for 6.x packagesbaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/ GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md
Nyní nainstalujte balíček Elasticsearch pomocí příkazu yum.
yum install -y elasticsearch
Znovu načtěte démona systemctl a povolte automatické spouštění Elasticsearch při startu systému.
systemctl daemon-reloadsystemctl povolí elasticsearch
Aby Elasticsearch fungoval s nastavením Graylog, musíme nastavit název clusteru na graylog . Upravte soubor elasticsearch.yml.
vi /etc/elasticsearch/elasticsearch.yml
Aktualizujte jej, jak je znázorněno níže.
cluster.name:graylog
Restartujte Elasticsearch.
systemctl restart elasticsearch
Dejte chvilku, aby se Elasticsearch plně restartovalo. Elastisearch by nyní měl naslouchat 9200 pro zpracování HTTP požadavků. Pro kontrolu odpovědi použijte příkaz CURL.
curl -X GET http://localhost:9200
Název clusteru by měl být graylog.
{ "name" :"DF8QK3-", "cluster_name" :"graylog", "cluster_uuid" :"_wAgUfN9RJeQ0npCKBswVA", "version" :{ "number" :"6.6.0", "build_flavor" :"výchozí ", "build_type" :"rpm", "build_hash" :"a9861f4", "build_date" :"2019-01-24T11:27:09.439740Z", "build_snapshot" :false, "lucene.6" :"verze lucene.6." 0 , "minimum_wire_compatibility_version" :"5.6.0", "minimum_index_compatibility_version" :"5.0.0" }, "tagline" :"Víte, pro vyhledávání"} Proveďte kontrolu stavu clusteru Elasticsearch.
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
Ujistěte se, že stav clusteru je zelený .
{ "cluster_name" :"graylog", "status" :"green", "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, "unassigned_shards" :0, "delayed_unassigned_shards" :0, "number_of_pending_tasks" :0, "number_of_in_flight_fetch" :0, "s,number_of_in_flight_fetch" :0, "soubor_0_na_letu" :0, "waiting:0" před> Nainstalujte MongoDB
MongoDB funguje jako databáze pro ukládání konfigurací a meta informací. K získání nejnovější verze MongoDB použijeme oficiální úložiště MongoDB.
vi /etc/yum.repos.d/mongodb-org-4.0.repo
Přidejte informace o úložišti do výše uvedeného souboru.
[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https:// www.mongodb.org/static/pgp/server-4.0.asc
Nainstalujte komunitní edici MongoDB pomocí následujícího příkazu.
yum install -y mongodb-org
Spusťte službu MongoDB a povolte ji ke spuštění systému.
systemctl start mongodsystemctl enable mongod
Nainstalovat Graylog
Server Graylog přijímá a zpracovává zprávy protokolu přicházející z různých vstupů, zobrazuje data pro požadavky, které přicházejí z webového rozhraní graylog.
Stáhněte a nainstalujte úložiště graylog 3.x.
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpm
Nainstalujte server Graylog pomocí následujícího příkazu.
yum -y install graylog-server
Upravte soubor server.conf pro zahájení konfigurace graylog.
vi /etc/graylog/server/server.conf
Pomocí následujícího příkazu vytvořte tajný klíč
pwgen -N 1 -s 96
Výstup:
OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Umístěte tajný klíč jako níže do souboru server.conf
password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Nastavte hash heslo pro uživatele root, tj. správce graylogu. Toto heslo byste potřebovali pro přihlášení na web graylog.
Pokud někdy budete chtít změnit/resetovat zapomenuté heslo administrátora, můžete upravit/aktualizovat server.conf s hašovaným heslem.
Vygenerujte hashované heslo pomocí níže uvedeného příkazu. Nahraďte vaše heslo podle vašeho výběru.
echo -n yourpassword | sha256sum
Výstup:
e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Umístěte hash heslo.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Můžete nastavit e-mailovou adresu pro administrátora.
root_email ="[email protected] "
."
Nastavte časové pásmo uživatele root (admin).
root_timezone =UTC
Definováním níže uvedené proměnné nastavte pouze jeden hlavní uzel, výchozí nastavení je true.
Pokud je tento server vaším druhým Graylogovým uzlem ve vašem prostředí, nastavte jej na false, aby se tento uzel stal podřízeným. Hlavní uzel provádí některé pravidelné úkoly, které podřízené uzly neprovedou.
is_master =pravda
Nastavte 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 =20000000
Následující parametr definuje celkový počet indexů. Po dosažení tohoto čísla bude starý index smazán.
elasticsearch_max_number_of_indices =20
Nastavení ú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 =1
Toto definuje počet replik pro vaše indexy. Pokud máte v clusteru Elasticsearch pouze jeden uzel, nastavte jej na 0.
elasticsearch_replicas =0
Nainstalujte webové rozhraní Graylog
Od verze Graylog 2.x je webové rozhraní obsluhováno přímo serverem Graylog. Povolte webové rozhraní Graylog úpravou souboru server.conf.
vi /etc/graylog/server/server.conf
Upravte položky, aby se webové rozhraní Graylog mohlo připojit k serveru Graylog. Nahraďte 192.168.1.10 svou systémovou IP adresou.
http_bind_address =192.168.1.10 :9000
Restartujte službu Graylog.
systemctl daemon-reloadsystemctl restart graylog-server
Nastavte Graylog server, aby se spouštěl automaticky při startu systému.
systemctl povolit graylog-server
Můžete si prohlédnout protokoly spouštění serveru; bude pro vás užitečné odstraňovat problémy s Graylogem.
tailf /var/log/graylog-server/server.log
Pokud vše půjde dobře, měli byste vidět níže uvedenou zprávu v souboru server.log.
2019-02-25T21:00:23.157+05:30 INFO [ServerBootstrap] Server Graylog běží a běží.
Firewall
V CentOS 7 / RHEL 7 jsou pravidla brány firewall nastavena tak, aby ve výchozím nastavení blokovala většinu provozu přicházejícího z externích počítačů. Aby Graylog fungoval správně, musíte přidat povolovací pravidla.
firewall-cmd --permanent --add-port=9000/tcp
Znovu načtěte firewalld, aby se nová pravidla projevila.
firewall-cmd --reload
Přístup k webovému rozhraní Graylog
Webové rozhraní bude nyní naslouchat na portu 9000. Nasměrujte svůj prohlížeč na.
http://ip.add.re.ss:9000
Př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.
Vytváření Graylog Inputs
Vstup Graylog musí být nakonfigurován tak, aby přijímal protokoly z externích zdrojů, tj. syslog nebo jakýkoli protokolovací systém. V tomto příkladu nastavíme vstup pro příjem protokolů ze syslog na portu číslo UDP 514.
Ale je tu problém. 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 v protokolech Graylog chybu oprávnění odepřeno.
Abychom problém vyřešili, vytvoříme vstup pro spuštění na portu 1514 a přesměrujeme provoz na 514 na 1514 pomocí pravidel brány firewall.
Klikněte na Systém >> Vstupy >> vyberte Syslog UDP a poté klikněte na Spustit nový vstup.
Vyplňte níže uvedené hodnoty.
Uzel: Vyberte svůj uzel Graylog
Název: Pojmenujte svůj vstup
Vázaná adresa: 0.0.0.0 (nechat výchozí)
Port: 1514
Ujistěte se, že vytvořený vstup Syslog je ve spuštěném stavu.
Nakonfigurujte Rsyslog
Jakmile vytvoříte vstupy, nakonfigurujte Rsyslog nebo přepošlete systémové protokoly na váš Graylog server.
Upravte konfigurační soubor Rsyslog.
vi /etc/rsyslog.conf
Typická konfigurace Rsyslog bude vypadat níže pro odesílání protokolů na UDP 514.
Pokud si nepřejete používat UDP 514 a chcete posílat protokoly přímo do UDP 1514 Graylogu, můžete změnit číslo portu v konfiguračním souboru Rsyslog *.info;mail.none;authpriv.none;cron. žádný @192.168.1.10:514
Chcete-li odeslat protokoly, restartujte službu Rsyslog.
systemctl restartujte rsyslog
Firewall
Nakonfigurujte bránu firewall na základě konfigurace Rsyslog, kterou jste provedli v předchozím kroku.
Port 514
Provedením níže uvedených příkazů na serveru Graylog přesměrujte provoz, který přichází na portu UDP 514 na UDP 1514 vstupu Graylog.
firewall-cmd --add-masquerade --permanentfirewall-cmd --add-forward-port=port=514:proto=udp:toport=1514 --permanentfirewall-cmd --reload
Port 1514
Provedením níže uvedených příkazů na serveru Graylog povolte portu číslo UDP 1514 na bráně firewall přijímat protokoly z Rsyslog.
firewall-cmd --permanent --add-port=1514/udpfirewall-cmd --reload
Zobrazení 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 CentOS 7 / RHEL 7 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.
Rancher – Vaše soukromá kontejnerová služba:Spusťte kontejnery ve výrobě – Nainstalujte Rancher na CentOS 7 / Ubuntu 16.04
VnStat PHP frontend – webové rozhraní pro monitorování šířky pásma sítě
Cent OS