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.repoPř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.ascNainstalujte komunitní edici MongoDB pomocí následujícího příkazu.
yum install -y mongodb-orgSpusťte službu MongoDB a povolte ji ke spuštění systému.
systemctl start mongodsystemctl enable mongodNainstalovat 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.rpmNainstalujte server Graylog pomocí následujícího příkazu.
yum -y install graylog-serverUpravte soubor server.conf pro zahájení konfigurace graylog.
vi /etc/graylog/server/server.confPomocí následujícího příkazu vytvořte tajný klíč
pwgen -N 1 -s 96Výstup:
OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gPUmístěte tajný klíč jako níže do souboru server.conf
password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gPNastavte 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 | sha256sumVýstup:
e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951Umístěte hash heslo.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951Můžete nastavit e-mailovou adresu pro administrátora.
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, 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 =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ů. Po dosažení tohoto čísla bude starý index 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 definuje počet replik pro vaše indexy. Pokud máte v clusteru Elasticsearch pouze jeden uzel, nastavte jej na 0.
elasticsearch_replicas =0Nainstalujte 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.confUpravte 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 :9000Restartujte službu Graylog.
systemctl daemon-reloadsystemctl restart graylog-serverNastavte Graylog server, aby se spouštěl automaticky při startu systému.
systemctl povolit graylog-serverMůž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.logPokud 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/tcpZnovu načtěte firewalld, aby se nová pravidla projevila.
firewall-cmd --reloadPří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: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.
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.confTypická 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:514Chcete-li odeslat protokoly, restartujte službu Rsyslog.
systemctl restartujte rsyslogFirewall
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 --reloadPort 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 --reloadZobrazení 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