Как да инсталирате Graylog сървър на CentOS 7

Graylog сървърът е готов за предприятие софтуерен пакет за управление на журнали с отворен код. Той събира регистрационни файлове от различни източници и ги анализира, за да открие и разреши проблеми. Graylog сървърът е основно комбинацията от Elasticsearch, MongoDB и Graylog. Elasticsearch е много популярно приложение с отворен код за съхранение на текст и предоставя много мощни възможности за търсене. MongoDB е приложение с отворен код за съхранение на данни във формат NoSQL. Graylog събира регистрационни файлове от различни източници и предоставя уеб-базирано табло за управление и търсене в регистрационните файлове. Graylog също така предоставя REST API както за конфигурация, така и за данни. Той предоставя конфигурируемо табло за управление, което може да се използва за визуализиране на показатели и наблюдение на тенденции, като се използват статистически данни на полето, бързи стойности и диаграми от едно централно място.

В този урок ще се научите да инсталирате Graylog Server на CentOS 7. Това ръководство е написано за Graylog Server 2.3, но може да работи и на по-нови версии. Ще се научите също да инсталирате Java, Elasticsearch и MongoDB. Ние също така ще защитим екземпляра на MongoDB и ще настроим обратен прокси Nginx за уеб базираното табло за управление и API.

Предпоставки

В този урок ще използваме 192.0.2.1като публичен IP адрес на сървъра и graylog.example.comкато име на домейн, насочено към сървъра. Заменете всички поява на 192.0.2.1с вашия публичен IP адрес на Vultr и graylog.example.comс действителното ви име на домейн.

Актуализирайте базовата си система с помощта на ръководството Как да актуализирате CentOS 7 . След като вашата система бъде актуализирана, продължете да инсталирате Java.

Инсталирайте Java

Elasticsearch изисква Java 8, за да работи. Той поддържа както Oracle Java, така и OpenJDK, но винаги се препоръчва да използвате Oracle Java, когато е възможно. Oracle предоставя готови за инсталиране RPM пакети. Изтеглете 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"

Инсталирайте пакета RPM.

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

Ако Java е инсталирана успешно, тогава трябва да можете да проверите нейната версия.

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/

Инсталирайте Elasticsearch

Elasticsearch е разпределено, в реално време, мащабируемо и високодостъпно приложение, използвано за съхраняване на регистрационните файлове и търсене в тях. Той съхранява данните в индекси и търсенето в данните е много бързо. Той предоставя различни набори от API, като HTTP RESTful API и роден Java API. Elasticsearch може да се инсталира директно през хранилището на Elasticsearch. Създайте нов файл на хранилището за Elasticsearch.

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

Импортирайте PGP ключа, използван за подписване на пакетите. Това ще гарантира целостта на пакетите.

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

Инсталирайте пакета Elasticsearch:

sudo yum -y install elasticsearch

След като пакетът е инсталиран, отворете конфигурационния файл по подразбиране на Elasticsearch.

sudo nano /etc/elasticsearch/elasticsearch.yml

Намерете следния ред, разкоментирайте го и променете стойността от my-applicationна graylog.

cluster.name: graylog

Можете да стартирате Elasticsearch и да го активирате да стартира автоматично при стартиране:

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

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

Ако срещнете грешки, изчакайте няколко секунди и опитайте отново, тъй като на Elasticsearch е необходимо време, за да завърши процеса на стартиране. Elasticsearch вече е инсталиран и работи правилно.

Инсталирайте MongoDB

MongoDB е безплатен сървър на база данни NoSQL с отворен код. За разлика от традиционната база данни, която използва таблици за организиране на своите данни, MongoDB е ориентиран към документи и използва подобни на JSON документи без схеми. Graylog използва MongoDB, за да съхранява своята конфигурация и мета информация. Може да се инсталира директно през хранилището на MongoDB. Създайте нов файл на хранилище за MongoDB.

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

Инсталирайте MongoDB, като изпълните:

sudo yum -y install mongodb-org

Стартирайте MongoDB сървъра и го активирайте да стартира автоматично.

sudo systemctl start mongod
sudo systemctl enable mongod

Инсталирайте сървъра Graylog

Изтеглете най-новото хранилище за Graylog сървър.

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

Инсталирайте Graylog, като изпълните:

sudo yum -y install graylog-server

Graylog сървърът вече е инсталиран на вашия сървър. Преди да можете да го стартирате, ще трябва да конфигурирате няколко неща.

Конфигуриране на Graylog

Инсталирайте pwgenпомощна програма за генериране на силни пароли.

sudo yum -y install pwgen

Сега генерирайте силна тайна парола.

pwgen -N 1 -s 96

Ще изведете подобно на:

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

Също така генерирайте 256-битов хеш за паролата на root adminпотребителя:

echo -n StrongPassword | sha256sum

Заменете StrongPasswordс паролата, която искате да зададете за adminпотребител. Ще видиш:

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

Отворете конфигурационния файл Graylog:

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

Намерете password_secret =, копирайте и поставете паролата, генерирана чрез pwgenкоманда. Намерете root_password_sha2 =, копирайте и поставете конвертирания SHA 256-битов хеш на вашата администраторска парола. Намерете #root_email =, декоментирайте и посочете своя имейл адрес. Декоментирайте и задайте часовата си зона на root_timezone. Например:

password_secret = pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
root_email = [email protected]
root_timezone = Asia/Kolkata

Активирайте уеб базирания Graylog интерфейс, като декомментирате #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/

Запазете файла и излезте от вашия текстов редактор.

Рестартирайте услугата Graylog, като изпълните:

sudo systemctl restart graylog-server

Конфигурирайте Nginx като обратен прокси

По подразбиране уеб интерфейсът на Graylog слуша localhostна порт 9000, а API слуша на порт 9000 с URL /api. В този урок ще използваме Nginx като обратен прокси, така че приложението да може да има достъп чрез стандартен HTTP порт. Инсталирайте уеб сървъра на Nginx, като изпълните:

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

Стартирайте Nginx и го активирайте да стартира автоматично при стартиране:

sudo systemctl start nginx
sudo systemctl enable nginx

Конфигурирайте защитната стена и SELinux

Ако използвате защитна стена на вашия сървър, ще трябва да конфигурирате защитната стена, за да зададе изключение за определени портове. Позволете на услугата Elasticsearch и обратното прокси Nginx да се свързват извън мрежата.

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

Ако имате активиран SELinux във вашата система, тогава ще трябва да добавите няколко изключения в правилата на 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

Заключение

Инсталацията и основната конфигурация на Graylog сървъра вече са завършени. Вече можете да получите достъп до сървъра Graylog на http://192.0.2.1или http://graylog.example.comако имате конфигуриран DNS. Влезте с потребителското име adminи версията с обикновен текст на паролата, която сте задали по- root_password_sha2рано.

Поздравления - имате напълно работещ Graylog сървър, инсталиран на вашия CentOS 7 сървър.


Инсталирайте Plesk на CentOS 7

Инсталирайте Plesk на CentOS 7

Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни

Как да инсталирате Squid Proxy на CentOS

Как да инсталирате Squid Proxy на CentOS

Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте

Конфигуриране на статична мрежа и IPv6 на CentOS 7

Конфигуриране на статична мрежа и IPv6 на CentOS 7

VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока

Как да инсталирате Microweber на CentOS 7

Как да инсталирате Microweber на CentOS 7

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате Mattermost 4.1 на CentOS 7

Как да инсталирате Mattermost 4.1 на CentOS 7

Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място

Lets Encrypt на Plesk

Lets Encrypt на Plesk

Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати

Позволява криптиране на cPanel

Позволява криптиране на cPanel

Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие ​​и вашият клиент

Как да инсталирате Concrete5 на CentOS 7

Как да инсталирате Concrete5 на CentOS 7

Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и

Как да инсталирате табло за преглед на CentOS 7

Как да инсталирате табло за преглед на CentOS 7

Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер

Настройте HTTP удостоверяване с Nginx на CentOS 7

Настройте HTTP удостоверяване с Nginx на CentOS 7

В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва

Как да инсталирате YOURLS на CentOS 7

Как да инсталирате YOURLS на CentOS 7

YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е

Използване на Etckeeper за контрол на версиите на /etc

Използване на Etckeeper за контрол на версиите на /etc

Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

Много системни администратори управляват големи количества сървъри. Когато файловете трябва да бъдат достъпни на различни сървъри, влизането във всеки от тях поотделно ок

Настройване на сървър на Half Life 2 на CentOS 6

Настройване на сървър на Half Life 2 на CentOS 6

Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou

Как да инсталирате Laravel GitScrum на CentOS 7

Как да инсталирате Laravel GitScrum на CentOS 7

Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече