Предуслови
Инсталирајте Јава
Инсталирајте Еластицсеарцх
Инсталирајте МонгоДБ
Инсталирајте Граилог сервер
Конфигуришите Грејлог
Конфигуришите Нгинк као обрнути прокси
Конфигуришите заштитни зид и СЕЛинук
Закључак
Граилог сервер је софтверски пакет за управљање евиденцијама отвореног кода спреман за предузећа. Прикупља евиденције из различитих извора и анализира их да би открио и решио проблеме. Граилог сервер је у основи комбинација Еластицсеарцх-а, МонгоДБ-а и Граилог-а. Еластицсеарцх је веома популарна апликација отвореног кода за складиштење текста и пружа веома моћне могућности претраживања. МонгоДБ је апликација отвореног кода за складиштење података у НоСКЛ формату. Граилог прикупља евиденције из различитих извора и обезбеђује контролну таблу засновану на вебу за управљање и претраживање евиденције. Граилог такође пружа РЕСТ АПИ за конфигурацију и податке. Обезбеђује подесиву контролну таблу која се може користити за визуелизацију метрике и посматрање трендова коришћењем статистике поља, брзих вредности и графикона са једне централне локације.
У овом водичу ћете научити да инсталирате Граилог Сервер на ЦентОС 7. Овај водич је написан за Граилог Сервер 2.3, али може радити и на новијим верзијама. Такође ћете научити да инсталирате Јава, Еластицсеарцх и МонгоДБ. Такође ћемо обезбедити МонгоДБ инстанцу и поставити Нгинк реверсе проки за веб-базирану контролну таблу и АПИ.
Предуслови
У овом водичу користићемо 192.0.2.1као јавну ИП адресу сервера и graylog.example.comкао име домена које указује на сервер. Замените сва појављивања 192.0.2.1са вашом јавном ИП адресом Вултр и graylog.example.comса вашим стварним именом домена.
Ажурирајте свој основни систем помоћу водича Како да ажурирате ЦентОС 7 . Када се ваш систем ажурира, наставите са инсталирањем Јаве.
Инсталирајте Јава
Еластицсеарцх захтева Јава 8 за покретање. Подржава и Орацле Јава и ОпенЈДК, али се увек препоручује да користите Орацле Јава када је то могуће. Орацле обезбеђује РПМ пакете спремне за инсталацију. Преузмите Орацле ЈДК РПМ:
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"
Инсталирајте РПМ пакет.
sudo yum -y install jdk-8u144-linux-x64.rpm
Ако је Јава успешно инсталирана, требало би да будете у могућности да проверите њену верзију.
java -version
Видећете следећи излаз.
[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)
Поставите JAVA_HOMEи JRE_HOMEпроменљиву окружења покретањем:
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
Сада, извор датотеке користећи следећу команду.
source ~/.bash_profile
Покрените echo $JAVA_HOMEкоманду да проверите да ли је променљива окружења подешена или не.
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_144/
Инсталирајте Еластицсеарцх
Еластицсеарцх је дистрибуирана, скалабилна и веома доступна апликација у реалном времену која се користи за чување дневника и претрагу кроз њих. Похрањује податке у индексе и претраживање података је веома брзо. Пружа различите скупове АПИ-ја, као што су ХТТП РЕСТфул АПИ и изворни Јава АПИ. Еластицсеарцх се може инсталирати директно преко Еластицсеарцх спремишта. Креирајте нову датотеку спремишта за Еластицсеарцх.
sudo nano /etc/yum.repos.d/elasticsearch.repo
Попуните датотеку следећим садржајем.
[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
Увезите ПГП кључ који се користи за потписивање пакета. Ово ће осигурати интегритет пакета.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Инсталирајте пакет Еластицсеарцх:
sudo yum -y install elasticsearch
Када се пакет инсталира, отворите подразумевану конфигурациону датотеку Еластицсеарцх.
sudo nano /etc/elasticsearch/elasticsearch.yml
Пронађите следећи ред, скините коментар са њега и промените вредност из my-applicationу graylog.
cluster.name: graylog
Можете покренути Еластицсеарцх и омогућити му да се аутоматски покреће при покретању:
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
Еластицсеарцх сада ради на порту 9200. Проверите да ли исправно ради тако што ћете покренути:
curl -XGET 'localhost:9200/?pretty'
Требало би да видите излаз сличан следећем.
[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"
}
Ако наиђете на грешке, сачекајте неколико секунди и покушајте поново, јер је потребно време да Еластицсеарцх заврши процес покретања. Еластицсеарцх је сада инсталиран и ради исправно.
Инсталирајте МонгоДБ
МонгоДБ је бесплатан НоСКЛ сервер базе података отвореног кода. За разлику од традиционалне базе података која користи табеле за организовање својих података, МонгоДБ је оријентисан на документе и користи документе сличне ЈСОН-у без шема. Граилог користи МонгоДБ за складиштење своје конфигурације и мета информација. Може се инсталирати директно преко МонгоДБ спремишта. Креирајте нову датотеку спремишта за МонгоДБ.
sudo nano /etc/yum.repos.d/mongodb.repo
Попуните датотеку следећим садржајем.
[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
Инсталирајте МонгоДБ тако што ћете покренути:
sudo yum -y install mongodb-org
Покрените МонгоДБ сервер и омогућите му аутоматско покретање.
sudo systemctl start mongod
sudo systemctl enable mongod
Инсталирајте Граилог сервер
Преузмите најновије спремиште за Граилог сервер.
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.rpm
sudo yum -y update
Инсталирајте Граилог тако што ћете покренути:
sudo yum -y install graylog-server
Граилог сервер је сада инсталиран на вашем серверу. Пре него што га покренете, мораћете да конфигуришете неколико ствари.
Инсталирајте pwgenуслужни програм за генерисање јаких лозинки.
sudo yum -y install pwgen
Сада генеришите јаку тајну лозинке.
pwgen -N 1 -s 96
Изаћи ћете слично:
[user@vultr ~]$ pwgen -N 1 -s 96
pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
Такође, генеришите 256-битни хеш за лозинку роот adminкорисника:
echo -n StrongPassword | sha256sum
Замените StrongPasswordлозинком коју желите да поставите за adminкорисника. Видећеш:
[user@vultr ~]$ echo -n StrongPassword | sha256sum
05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223 -
Отворите Граилог конфигурациону датотеку:
sudo nano /etc/graylog/server/server.conf
Пронађите password_secret =, копирајте и налепите лозинку генерисану pwgenкомандом. Пронађите root_password_sha2 =, копирајте и налепите конвертовани СХА 256-битни хеш ваше администраторске лозинке. Пронађите #root_email =, уклоните коментаре и наведите своју адресу е-поште. Уклоните коментаре и поставите своју временску зону на root_timezone. На пример:
password_secret = pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
root_email = mail@example.com
root_timezone = Asia/Kolkata
Омогућите Граилог интерфејс на вебу тако што ћете опозвати коментарисање #web_enable = falseи поставити вредност на true. Такође декоментирајте и промените следеће редове како је наведено.
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/
Сачувајте датотеку и изађите из уређивача текста.
Поново покрените Граилог услугу тако што ћете покренути:
sudo systemctl restart graylog-server
Подразумевано, Граилог веб интерфејс слуша localhostна порту 9000, а АПИ слуша на порту 9000 са УРЛ-ом /api. У овом водичу ћемо користити Нгинк као обрнути прокси тако да се апликацији може приступити преко стандардног ХТТП порта. Инсталирајте Нгинк веб сервер тако што ћете покренути:
sudo yum -y install nginx
Отворите подразумевани виртуелни хост куцањем.
sudo nano /etc/nginx/nginx.conf
Пронађите serverблок испод httpи замените цео serverблок следећим редовима.
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;
}
}
Покрените Нгинк и омогућите му да се аутоматски покреће при покретању:
sudo systemctl start nginx
sudo systemctl enable nginx
Ако користите заштитни зид на свом серверу, мораћете да конфигуришете заштитни зид да постави изузетак за одређене портове. Дозволите сервису Еластицсеарцх и обрнутом проксију Нгинк да се повежу изван мреже.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-port=9200/tcp
sudo firewall-cmd --reload
Ако имате омогућен СЕЛинук на вашем систему, мораћете да додате неколико изузетака у СЕЛинук смернице.
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
Закључак
Инсталација и основна конфигурација Граилог сервера је сада завршена. Сада можете приступити Грејлог серверу на http://192.0.2.1или http://graylog.example.comако сте конфигурисали ДНС. Пријавите се користећи корисничко име adminи текстуалну верзију лозинке коју сте раније поставили root_password_sha2.
Честитамо - имате потпуно исправан Граилог сервер инсталиран на вашем ЦентОС 7 серверу.