
Graylog (dříve známý jako Graylog2) je platforma pro správu protokolů s otevřeným zdrojovým kódem, která vám pomáhá shromažďovat, indexovat a analyzovat protokoly všech strojů na centralizovaném místě. Tato příručka vám pomůže nainstalovat Graylog2 na CentOS 7 / RHEL 7 a také se zaměřit na instalaci čtyř dalších komponent, díky kterým je Graylog2 výkonným nástrojem pro správu úplných protokolů.
Tento návod je pro zastaralou verzi Graylog2. Nová verze je k dispozici zde:Jak nainstalovat Graylog na CentOS 7 / RHEL 7.Graylog můžeme nainstalovat dvěma způsoby,
1. Pomocí zdrojového balíčku.
2. Pomocí oficiálních binárních balíčků (doporučeno).
V tomto tutoriálu ukážu instalaci graylog pomocí binárních balíčků.
Součásti:
1. MongoDB – Ukládá konfigurace a meta informace.
2. Elasticsearch – Ukládá zprávy protokolu a nabízí vyhledávací zařízení, uzly by měly mít velkou paměť, protože zde probíhají všechny I/O operace.
3. GrayLog – Log parser, shromažďuje logy z různých vstupů.
4. Webové rozhraní GrayLog =poskytuje vám webový portál pro správu protokolů.
Předpoklady:
1. Vzhledem k tomu, že Elasticsearch je založen na Javě, museli bychom nainstalovat buď openJDK nebo Oracle JDK. Doporučuje se nainstalovat Oracle JDK.
Chcete-li používat openJDK, nainstalujte jej pomocí níže uvedeného příkazu.
# yum install java
Ověřte verzi Java pomocí následujícího příkazu.
# java -version java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
2. Nakonfigurujte úložiště EPEL na CentOS 7 / RHEL 7.
Instalovat Elasticsearch:
Elasticsearch je open source vyhledávací server, který 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, když webové rozhraní graylog požaduje úplné vyplnění uživatelského požadavku přes webové rozhraní.
Toto téma pokrývá nastavení konfigurace, které je vyžadováno pro Graylog, můžete se také podívat na Install Elasticsearch na CentOS 7 / Ubuntu 14.10 / Linux Mint 17.1, kde najdete podrobné pokyny.
Pojďme nainstalovat Elasticsearch, můžete si jej stáhnout z oficiálních stránek.
Importujte klíč GPG.
# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Přidejte úložiště Elasticsearch.
# vi /etc/yum.repos.d/elasticsearch.repo [elasticsearch-1.7] name=Elasticsearch repository for 1.7.x packages baseurl=http://packages.elastic.co/elasticsearch/1.7/centos gpgcheck=1 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1
Nainstalujte nejnovější verzi pomocí příkazu yum
# yum -y install elasticsearch
Nakonfigurujte Elasticseach tak, aby se spouštěl během spouštění systému.
# systemctl daemon-reload # systemctl enable elasticsearch.service
Jediná důležitá věc je nastavit název clusteru jako „graylog2 “, který používá graylog. Nyní upravte konfigurační soubor Elasticsearch.
# vi /etc/elasticsearch/elasticsearch.yml cluster.name: graylog2
Zakažte dynamické skripty, abyste se vyhnuli vzdálenému spouštění, což lze provést přidáním následujícího řádku na konec výše uvedeného souboru.
script.disable_dynamic: true
Jakmile bude hotovo, můžeme vyrazit. Předtím restartujte služby Elasticsearch, aby se načetla upravená konfigurace.
# systemctl restart elasticsearch.service
Počkejte alespoň minutu, než se Elasticsearch plně restartuje, jinak se testování nezdaří. Elastisearch by nyní měl poslouchat na 9200 pro zpracování HTTP požadavku, můžeme použít CURL k získání odpovědi. Ujistěte se, že se vrací s názvem clusteru „graylog2 ”
# curl -X GET http://localhost:9200 { "status" : 200, "name" : "Silver Fox", "cluster_name" : "graylog2", "version" : { "number" : "1.7.2", "build_hash" : "e43676b1385b8125d647f593f7202acbd816e8ec", "build_timestamp" : "2015-09-14T09:49:53Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" }
Volitelné: Pomocí následujícího příkazu zkontrolujte stav clusteru Elasticsearch. Aby Graylog fungoval, musíte získat stav clusteru jako „zelený“.
# curl -XGET 'http://localhost:9200/_cluster/health?pretty=true' { "cluster_name" : "graylog2", "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 }
Nainstalovat MongoDB:
MongoDB je k dispozici ve formátu RPM a lze jej stáhnout z oficiálních stránek. Chcete-li nainstalovat MongoDB pomocí yum, přidejte do systému následující informace o úložišti.
# vi /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1
Nainstalujte MongoDB pomocí následujícího příkazu.
# yum -y install mongodb-org
Pokud používáte SELinux, musíte nainstalovat níže uvedený balíček pro konfiguraci určitých prvků zásad SELinux.
# yum -y install policycoreutils-python
Spuštěním následujícího příkazu nakonfigurujte SELinux tak, aby umožnil spuštění MongoDB.
# semanage port -a -t mongod_port_t -p tcp 27017
Nebo, pokud si nepřejete používat SELinux v systému, zvažte deaktivaci SELinuxu.
Spusťte službu MongoDB a povolte její automatické spouštění během spouštění systému.
# service mongod start # chkconfig mongod on
Výše uvedené kroky jsou dostatečné pro konfiguraci graylog2, podrobnou konfiguraci naleznete zde.
Instalovat Graylog2:
Graylog-server přijímá a zpracovává zprávy protokolu, také vytváří RESTAPI pro požadavky, které přicházejí z graylog-web-interface. Stáhněte si nejnovější verzi graylog z graylog.org.
Pomocí následujícího příkazu nainstalujte úložiště graylog2.
# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-1.2-repository-el7_latest.rpm
Nainstalujte nejnovější server graylog.
# yum -y install graylog-server
Upravte soubor server.conf.
# vi /etc/graylog/server/server.conf
Ve výše uvedeném souboru nakonfigurujte následující proměnné.
Nastavte tajemství pro zabezpečení uživatelských hesel, použijte následující příkaz k vygenerování tajemství, použijte alespoň 64 znaků.
# pwgen -N 1 -s 96 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB
Pokud se zobrazí „pwgen:příkaz nenalezen “, použijte k instalaci pwgen následující příkaz.
Poznámka:Nezapomeňte nakonfigurovat úložiště EPEL na CentOS 7 / RHEL 7.
# yum -y install pwgen
Umístěte tajemství.
password_secret = 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB
Dále je potřeba nastavit hash heslo pro uživatele root (neplést se systémovým uživatelem, root uživatelem graylog je admin). Toto heslo budete používat pro přihlášení do webového rozhraní, heslo administrátora nelze pomocí webového rozhraní změnit, pro nastavení je nutné upravit tuto proměnnou.
Nahraďte „vaše heslo “ podle vlastního výběru.
# echo -n yourpassword | sha256sum e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Umístěte hash heslo.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Můžete nastavit e-mailovou adresu uživatele root (admin).
root_email = "[email protected]"."
Nastavte časové pásmo uživatele root (admin).
root_timezone = UTC
Graylog se pokusí najít uzly Elasticsearch automaticky, k tomu používá režim multicast. Ale pokud jde o větší síť, doporučuje se použít režim unicast, který je nejvhodnější pro produkční nastavení. Přidejte tedy následující dvě položky do souboru graylog server.conf, nahraďte ipaddress s živým názvem hostitele nebo IP adresou lze přidat více hostitelů oddělených čárkou.
elasticsearch_http_enabled = false elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300
Definováním níže uvedené proměnné nastavte pouze jeden hlavní uzel, výchozí nastavení je true, musíte jej nastavit jako false, aby se konkrétní uzel stal podřízeným. Hlavní uzel provádí některé pravidelné úkoly, které podřízený uzel neprovede.
is_master = true
Následující proměnná nastavuje počet zpráv protokolu, které se mají uchovávat na index, doporučuje se mít několik menších indexů namísto větších.
elasticsearch_max_docs_per_index = 20000000
Ná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 = 20
Nastavení Shards opravdu závisí na počtu uzlů v clusteru Elasticsearch, pokud máte pouze jeden uzel, nastavte jej na 1.
elasticsearch_shards = 1
Počet replik pro vaše indexy, pokud máte pouze jeden uzel v clusteru Elasticsearch; nastavte ji na 0.
elasticsearch_replicas = 0
Přidejte ověřovací informace MongoDB.
mongodb_useauth = false
Spusťte server graylog pomocí následujícího příkazu.
# systemctl restart graylog-server
Můžete se podívat na protokoly spouštění serveru, bude pro vás užitečné při odstraňování problémů s graylogem v případě jakéhokoli problému.
# tailf /var/log/graylog-server/server.log
Po úspěšném spuštění graylog-serveru byste měli v log souboru obdržet následující zprávu.
2015-09-16T21:26:05.689-04:00 INFO [ServerBootstrap] Graylog server up and running.
Instalace webového rozhraní Graylog:
Chcete-li nakonfigurovat webové rozhraní graylog, musíte mít alespoň jeden uzel serveru graylog. Nainstalujte webové rozhraní pomocí níže uvedeného příkazu.
# yum -y install graylog-web
Upravte konfigurační soubor a nastavte následující parametry.
# vi /etc/graylog/web/web.conf
Toto je seznam uzlů serveru graylog, můžete přidat více uzlů oddělených čárkami.
graylog2-server.uris="http://127.0.0.1:12900/"."
Nastavte scret aplikace, můžete jej vygenerovat pomocí pwgen -N 1 -s 96.
application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"."
Restartujte gralog-web-interface pomocí následujícího příkazu,
# systemctl restart graylog-web
Přístup k webovému rozhraní Graylog:
Webové rozhraní bude naslouchat na portu 9000, nakonfigurovat firewall tak, aby umožňoval provoz na portu 9000.
# firewall-cmd --permanent --zone=public --add-port=9000/tcp # firewall-cmd --reload
Nasměrujte svůj prohlížeč na http://ip-add-ress:9000 . Přihlaste se pomocí uživatelského jména „admin“ a hesla, které jste nakonfigurovali na root_password_sha2 na server.conf .

Jakmile se přihlásíte, dostanete se na následující vyhledávací stránku.

To je vše!, úspěšně jste nainstalovali Graylog2 na CentOS 7 / RHEL 7.
Tato příručka je pro zastaralou verzi Graylog2. Nová verze je k dispozici zde:Jak nainstalovat Graylog na CentOS 7 / RHEL 7.