Preduvjeti
Instalirajte Javu
Instalirajte Elasticsearch
Instalirajte MongoDB
Instalirajte Graylog poslužitelj
Konfigurirajte Graylog
Konfigurirajte Nginx kao obrnuti proxy
Konfigurirajte vatrozid i SELinux
Zaključak
Graylog poslužitelj je softverski paket za upravljanje zapisnicima otvorenog koda spreman za poduzeća. Prikuplja zapisnike iz različitih izvora i analizira ih kako bi otkrio i riješio probleme. Graylog poslužitelj je u osnovi kombinacija Elasticsearch, MongoDB i Graylog. Elasticsearch je vrlo popularna aplikacija otvorenog koda za pohranu teksta i pružanje vrlo moćnih mogućnosti pretraživanja. MongoDB je aplikacija otvorenog koda za pohranu podataka u NoSQL formatu. Graylog prikuplja zapisnike iz različitih izvora i pruža nadzornu ploču temeljenu na webu za upravljanje i pretraživanje zapisnika. Graylog također nudi REST API za konfiguraciju i podatke. Omogućuje konfigurabilnu nadzornu ploču koja se može koristiti za vizualizaciju metrike i promatranje trendova pomoću statistike polja, brzih vrijednosti i grafikona s jedne središnje lokacije.
U ovom vodiču naučit ćete instalirati Graylog Server na CentOS 7. Ovaj vodič je napisan za Graylog Server 2.3, ali može raditi i na novijim verzijama. Također ćete naučiti instalirati Javu, Elasticsearch i MongoDB. Također ćemo osigurati MongoDB instancu i postaviti Nginx reverse proxy za web-baziranu nadzornu ploču i API.
Preduvjeti
- Instanca poslužitelja Vultr CentOS 7 s najmanje 4 GB RAM-a.
- Korisnik sudoa .
U ovom vodiču ćemo koristiti 192.0.2.1kao javnu IP adresu poslužitelja i graylog.example.comkao naziv domene koji ukazuje na poslužitelj. Zamijenite sva pojavljivanja 192.0.2.1sa svojom javnom IP adresom Vultr i graylog.example.comsa svojim stvarnim imenom domene.
Ažurirajte svoj osnovni sustav pomoću vodiča Kako ažurirati CentOS 7 . Nakon što se vaš sustav ažurira, nastavite s instalacijom Jave.
Instalirajte Javu
Elasticsearch zahtijeva Java 8 za rad. Podržava i Oracle Java i OpenJDK, ali uvijek se preporučuje da koristite Oracle Javu kada je to moguće. Oracle nudi RPM pakete spremne za instalaciju. Preuzmite Oracle JDK RPM:
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm"
Instalirajte RPM paket.
sudo yum -y install jdk-8u144-linux-x64.rpm
Ako je Java uspješno instalirana, trebali biste moći provjeriti njezinu verziju.
java -version
Vidjet ćete sljedeći izlaz.
[user@vultr ~]$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
Postavite JAVA_HOMEi JRE_HOMEvarijablu okruženja pokretanjem:
echo "export JAVA_HOME=/usr/java/jdk1.8.0_144/" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_144/jre" >> ~/.bash_profile
Sada otvorite datoteku pomoću sljedeće naredbe.
source ~/.bash_profile
Pokrenite echo $JAVA_HOMEnaredbu da provjerite je li varijabla okruženja postavljena ili ne.
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_144/
Instalirajte Elasticsearch
Elasticsearch je distribuirana, skalabilna i vrlo dostupna aplikacija u stvarnom vremenu koja se koristi za pohranu zapisnika i pretraživanje kroz njih. Podatke pohranjuje u indekse i pretraživanje podataka je vrlo brzo. Pruža različite skupove API-ja, kao što su HTTP RESTful API i izvorni Java API. Elasticsearch se može instalirati izravno kroz spremište Elasticsearch. Napravite novu datoteku spremišta za Elasticsearch.
sudo nano /etc/yum.repos.d/elasticsearch.repo
Popunite datoteku sljedećim sadržajem.
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
Uvezite PGP ključ koji se koristi za potpisivanje paketa. To će osigurati integritet paketa.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Instalirajte paket Elasticsearch:
sudo yum -y install elasticsearch
Nakon što je paket instaliran, otvorite zadanu konfiguracijsku datoteku Elasticsearch.
sudo nano /etc/elasticsearch/elasticsearch.yml
Pronađite sljedeći redak, dekomentirajte ga i promijenite vrijednost iz my-applicationu graylog.
cluster.name: graylog
Možete pokrenuti Elasticsearch i omogućiti mu da se automatski pokrene prilikom pokretanja:
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
Elasticsearch sada radi na portu 9200. Provjerite radi li ispravno tako što ćete pokrenuti:
curl -XGET 'localhost:9200/?pretty'
Trebali biste vidjeti izlaz sličan sljedećem.
[user@vultr ~]$ curl -XGET 'localhost:9200/?pretty'
{
"name" : "-kYzFA9",
"cluster_name" : "graylog",
"cluster_uuid" : "T3JQKehzSqmLThlVkEKPKg",
"version" : {
"number" : "5.5.1",
"build_hash" : "19c13d0",
"build_date" : "2017-07-18T20:44:24.823Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
Ako naiđete na pogreške, pričekajte nekoliko sekundi i pokušajte ponovno jer Elasticsearchu treba vremena da dovrši proces pokretanja. Elasticsearch je sada instaliran i radi ispravno.
Instalirajte MongoDB
MongoDB je besplatan NoSQL poslužitelj baze podataka otvorenog koda. Za razliku od tradicionalne baze podataka koja koristi tablice za organiziranje svojih podataka, MongoDB je orijentiran na dokumente i koristi dokumente slične JSON-u bez shema. Graylog koristi MongoDB za pohranu svoje konfiguracije i meta informacija. Može se instalirati izravno kroz MongoDB spremište. Napravite novu datoteku spremišta za MongoDB.
sudo nano /etc/yum.repos.d/mongodb.repo
Popunite datoteku sljedećim sadržajem.
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
Instalirajte MongoDB tako što ćete pokrenuti:
sudo yum -y install mongodb-org
Pokrenite MongoDB poslužitelj i omogućite njegovo automatsko pokretanje.
sudo systemctl start mongod
sudo systemctl enable mongod
Instalirajte Graylog poslužitelj
Preuzmite najnovije spremište za Graylog poslužitelj.
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.rpm
sudo yum -y update
Instalirajte Graylog pokretanjem:
sudo yum -y install graylog-server
Graylog poslužitelj je sada instaliran na vašem poslužitelju. Prije nego što ga možete pokrenuti, morat ćete konfigurirati nekoliko stvari.
Instalirajte pwgenuslužni program za generiranje jakih lozinki.
sudo yum -y install pwgen
Sada generirajte jaku tajnu lozinke.
pwgen -N 1 -s 96
Izaći ćete slično kao:
[user@vultr ~]$ pwgen -N 1 -s 96
pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
Također, generirajte 256-bitni hash za lozinku root adminkorisnika:
echo -n StrongPassword | sha256sum
Zamijenite StrongPasswordlozinkom koju želite postaviti za adminkorisnika. Vidjet ćeš:
[user@vultr ~]$ echo -n StrongPassword | sha256sum
05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223 -
Otvorite konfiguracijsku datoteku Graylog:
sudo nano /etc/graylog/server/server.conf
Pronađite password_secret =, kopirajte i zalijepite lozinku generiranu pwgennaredbom. Pronađite root_password_sha2 =, kopirajte i zalijepite pretvoreni SHA 256-bitni hash vaše administratorske lozinke. Pronađite #root_email =, dekomentirajte i navedite svoju adresu e-pošte. Dekomentirajte i postavite svoju vremensku zonu na root_timezone. Na primjer:
password_secret = pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
root_email = mail@example.com
root_timezone = Asia/Kolkata
Omogućite Graylog sučelje temeljeno na webu dekomentiranjem #web_enable = falsei postavljanjem vrijednosti na true. Također dekomentirajte i promijenite sljedeće retke kako je navedeno.
rest_listen_uri = http://0.0.0.0:9000/api/
rest_transport_uri = http://45.76.214.19:9000/api/
web_enable = true
web_listen_uri = http://0.0.0.0:9000/
Spremite datoteku i izađite iz uređivača teksta.
Ponovno pokrenite Graylog uslugu tako što ćete pokrenuti:
sudo systemctl restart graylog-server
Prema zadanim postavkama, Graylog web sučelje sluša localhostna portu 9000, a API sluša na portu 9000 s URL-om /api. U ovom vodiču koristit ćemo Nginx kao obrnuti proxy tako da se aplikaciji može pristupiti putem standardnog HTTP porta. Instalirajte Nginx web poslužitelj tako što ćete pokrenuti:
sudo yum -y install nginx
Otvorite zadani virtualni host upisivanjem.
sudo nano /etc/nginx/nginx.conf
Pronađite serverblok ispod httpi zamijenite cijeli serverblok sljedećim redovima.
server
{
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name graylog.example.com 192.0.2.1;
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/api;
proxy_pass http://127.0.0.1:9000;
}
}
Pokrenite Nginx i omogućite mu automatsko pokretanje prilikom pokretanja:
sudo systemctl start nginx
sudo systemctl enable nginx
Ako na svom poslužitelju koristite vatrozid, morat ćete konfigurirati vatrozid da postavi iznimku za određene portove. Dopustite usluzi Elasticsearch i obrnutom proxyju Nginx da se povežu izvan mreže.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-port=9200/tcp
sudo firewall-cmd --reload
Ako imate omogućen SELinux na svom sustavu, morat ćete dodati nekoliko iznimaka u SELinux pravila.
sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp 27017
Zaključak
Instalacija i osnovna konfiguracija Graylog poslužitelja je sada završena. Sada možete pristupiti Graylog poslužitelju na http://192.0.2.1ili http://graylog.example.comako ste konfigurirali DNS. Prijavite se koristeći korisničko ime admini inačicu običnog teksta lozinke koju ste prethodno postavili root_password_sha2.
Čestitamo - imate potpuno ispravan Graylog poslužitelj instaliran na vašem CentOS 7 poslužitelju.