Jak zainstalować Graylog Server na CentOS 7

Serwer Graylog to gotowy do zarządzania pakietem oprogramowania do zarządzania logami typu open source. Zbiera dzienniki z różnych źródeł i analizuje je w celu wykrycia i rozwiązania problemów. Serwer Graylog to w zasadzie połączenie Elasticsearch, MongoDB i Graylog. Elasticsearch to bardzo popularna aplikacja typu open source do przechowywania tekstu i zapewniająca bardzo zaawansowane możliwości wyszukiwania. MongoDB to aplikacja typu open source do przechowywania danych w formacie NoSQL. Graylog zbiera dzienniki z różnych źródeł i udostępnia internetowy pulpit nawigacyjny do zarządzania i przeszukiwania dzienników. Graylog zapewnia również interfejs API REST dla konfiguracji i danych. Zapewnia konfigurowalny pulpit nawigacyjny, za pomocą którego można wizualizować metryki i obserwować trendy za pomocą statystyk polowych, szybkich wartości i wykresów z jednej centralnej lokalizacji.

W tym samouczku nauczysz się instalować Graylog Server na CentOS 7. Ten przewodnik został napisany dla Graylog Server 2.3, ale może również działać na nowszych wersjach. Nauczysz się także instalować Java, Elasticsearch i MongoDB. Zabezpieczymy również instancję MongoDB i skonfigurujemy zwrotny serwer proxy Nginx dla internetowego pulpitu nawigacyjnego i interfejsu API.

Wymagania wstępne

  • Instancja serwera Vultr CentOS 7 z co najmniej 4 GB pamięci RAM.
  • Użytkownik sudo .

W tym samouczku użyjemy 192.0.2.1jako publicznego adresu IP serwera i graylog.example.comnazwy domeny wskazanej na serwerze. Zastąp wszystkie wystąpienia 192.0.2.1swoim publicznym adresem IP Vultr i graylog.example.comrzeczywistą nazwą domeny.

Zaktualizuj system podstawowy za pomocą przewodnika Jak zaktualizować CentOS 7 . Po zaktualizowaniu systemu przejdź do instalacji Java.

Zainstaluj Javę

Elasticsearch wymaga Java 8 do uruchomienia. Obsługuje zarówno Oracle Java, jak i OpenJDK, ale zawsze zaleca się używanie Oracle Java, jeśli to możliwe. Oracle zapewnia gotową instalację pakietów RPM. Pobierz 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"

Zainstaluj pakiet RPM.

sudo yum -y install jdk-8u144-linux-x64.rpm

Jeśli Java została zainstalowana pomyślnie, powinieneś mieć możliwość zweryfikowania jej wersji.

java -version

Zobaczysz następujące dane wyjściowe.

[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)

Ustaw zmienną środowiskową JAVA_HOMEi JRE_HOMEuruchom ją:

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

Teraz źródłowy plik za pomocą następującego polecenia.

source ~/.bash_profile

Uruchom echo $JAVA_HOMEpolecenie, aby sprawdzić, czy zmienna środowiskowa jest ustawiona, czy nie.

[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_144/

Zainstaluj Elasticsearch

Elasticsearch to rozproszona, skalowalna i wysoce dostępna aplikacja do przechowywania dzienników i przeszukiwania ich w czasie rzeczywistym. Przechowuje dane w indeksach, a przeszukiwanie danych jest bardzo szybkie. Zapewnia różne zestawy interfejsów API, takie jak HTTP RESTful API i natywny API Java. Elasticsearch można zainstalować bezpośrednio za pośrednictwem repozytorium Elasticsearch. Utwórz nowy plik repozytorium dla Elasticsearch.

sudo nano /etc/yum.repos.d/elasticsearch.repo

Wypełnij plik następującą zawartością.

[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

Zaimportuj klucz PGP użyty do podpisania paczek. Zapewni to integralność pakietów.

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Zainstaluj pakiet Elasticsearch:

sudo yum -y install elasticsearch

Po zainstalowaniu pakietu otwórz domyślny plik konfiguracyjny Elasticsearch.

sudo nano /etc/elasticsearch/elasticsearch.yml

Znajdź następujący wiersz, usuń komentarz i zmień wartość z my-applicationna graylog.

cluster.name: graylog

Możesz uruchomić Elasticsearch i włączyć automatyczne uruchamianie w czasie uruchamiania:

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Elasticsearch działa teraz na porcie 9200. Sprawdź, czy działa poprawnie, uruchamiając:

curl -XGET 'localhost:9200/?pretty'

Powinieneś zobaczyć dane wyjściowe podobne do poniższych.

[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"
}

Jeśli wystąpią błędy, poczekaj kilka sekund i spróbuj ponownie, ponieważ Elasticsearch potrzebuje czasu na zakończenie procesu uruchamiania. Elasticsearch jest teraz zainstalowany i działa poprawnie.

Zainstaluj MongoDB

MongoDB to darmowy serwer bazy danych NoSQL typu open source. W przeciwieństwie do tradycyjnej bazy danych, która używa tabel do organizowania swoich danych, MongoDB jest zorientowana na dokumenty i używa dokumentów podobnych do JSON bez schematów. Graylog używa MongoDB do przechowywania konfiguracji i meta informacji. Można go zainstalować bezpośrednio za pośrednictwem repozytorium MongoDB. Utwórz nowy plik repozytorium dla MongoDB.

sudo nano /etc/yum.repos.d/mongodb.repo

Wypełnij plik następującą zawartością.

[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

Zainstaluj MongoDB, uruchamiając:

sudo yum -y install mongodb-org

Uruchom serwer MongoDB i włącz go, aby uruchamiał się automatycznie.

sudo systemctl start mongod
sudo systemctl enable mongod

Zainstaluj serwer Graylog

Pobierz najnowsze repozytorium dla serwera Graylog.

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.rpm
sudo yum -y update

Zainstaluj Graylog, uruchamiając:

sudo yum -y install graylog-server

Serwer Graylog jest teraz zainstalowany na twoim serwerze. Zanim zaczniesz, musisz skonfigurować kilka rzeczy.

Skonfiguruj Graylog

Zainstaluj pwgennarzędzie do generowania silnych haseł.

sudo yum -y install pwgen

Teraz wygeneruj silne hasło tajne.

pwgen -N 1 -s 96

Wyjdziesz podobny do:

[user@vultr ~]$ pwgen -N 1 -s 96
pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v

Ponadto wygeneruj 256-bitowy skrót dla hasła adminużytkownika root :

echo -n StrongPassword | sha256sum

Zastąp StrongPasswordhasło, które chcesz ustawić dla adminużytkownika. Zobaczysz:

[user@vultr ~]$ echo -n StrongPassword | sha256sum
05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223  -

Otwórz plik konfiguracyjny Graylog:

sudo nano /etc/graylog/server/server.conf

Znajdź password_secret =, skopiuj i wklej hasło wygenerowane za pomocą pwgenpolecenia. Znajdź root_password_sha2 =, skopiuj i wklej przekonwertowany 256-bitowy skrót SHA hasła administratora. Znajdź #root_email =, odkomentuj i podaj swój adres e-mail. Odkomentuj i ustaw swoją strefę czasową na root_timezone. Na przykład:

password_secret = pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
root_email = mail@example.com
root_timezone = Asia/Kolkata

Włącz internetowy interfejs Graylog, usuwając komentarz #web_enable = falsei ustawiając wartość na true. Odkomentuj i zmień następujące wiersze, jak określono.

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/

Zapisz plik i wyjdź z edytora tekstu.

Uruchom ponownie usługę Graylog, uruchamiając:

sudo systemctl restart graylog-server

Skonfiguruj Nginx jako zwrotny serwer proxy

Domyślnie interfejs sieciowy Graylog nasłuchuje localhostna porcie 9000, a interfejs API nasłuchuje na porcie 9000 z adresem URL /api. W tym samouczku użyjemy Nginx jako odwrotnego proxy, aby aplikacja mogła uzyskać dostęp przez standardowy port HTTP. Zainstaluj serwer WWW Nginx, uruchamiając:

sudo yum -y install nginx

Otwórz domyślnego wirtualnego hosta, wpisując.

sudo nano /etc/nginx/nginx.conf

Znajdź serverblok pod httpi zastąp cały serverblok następującymi liniami.

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;
    }
}

Uruchom Nginx i włącz go, aby uruchamiał się automatycznie podczas uruchamiania:

sudo systemctl start nginx
sudo systemctl enable nginx

Skonfiguruj firewall i SELinux

Jeśli używasz zapory na swoim serwerze, musisz skonfigurować zaporę, aby ustawić wyjątek dla niektórych portów. Zezwalaj usłudze Elasticsearch i zwrotnemu proxy Nginx na łączenie się spoza sieci.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-port=9200/tcp
sudo firewall-cmd --reload

Jeśli masz włączony system SELinux w swoim systemie, musisz dodać kilka wyjątków w zasadach SELinux.

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

Wniosek

Instalacja i podstawowa konfiguracja serwera Graylog została zakończona. Możesz teraz uzyskać dostęp do serwera Graylog na http://192.0.2.1lub http://graylog.example.comjeśli masz skonfigurowany DNS. Zaloguj się przy użyciu nazwy użytkownika admini zwykłego tekstu hasła ustawionego root_password_sha2wcześniej.

Gratulacje - na serwerze CentOS 7 zainstalowano w pełni działający serwer Graylog.

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.