Как установить сервер 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. Загрузите RPM Oracle JDK:

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-битный хеш для пароля adminпользователя root :

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 =, скопируйте и вставьте преобразованный 256-битный хэш SHA вашего пароля администратора. Найдите #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ранее.

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



Leave a Comment

Как установить Anchor CMS на CentOS 7 LAMP VPS

Как установить Anchor CMS на CentOS 7 LAMP VPS

Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Настройте Magento на CentOS 6

Настройте Magento на CentOS 6

Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья

Как установить AirSonic на CentOS 7

Как установить AirSonic на CentOS 7

Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания

Как установить OrangeScrum на CentOS 7

Как установить OrangeScrum на CentOS 7

OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через

Как установить и настроить OrientDB Community Edition для CentOS 7

Как установить и настроить OrientDB Community Edition для CentOS 7

OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я

Как установить MaraDNS на CentOS 6

Как установить MaraDNS на CentOS 6

MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns

Установка Netdata в CentOS 7

Установка Netdata в CentOS 7

Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:

Как установить Starbound Server в CentOS 7

Как установить Starbound Server в CentOS 7

Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе

Кластеризация RabbitMQ на CentOS 7

Кластеризация RabbitMQ на CentOS 7

RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия

Установите Elgg на CentOS 7

Установите Elgg на CentOS 7

Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и

Установка Bolt CMS на CentOS 7

Установка Bolt CMS на CentOS 7

Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Elasticsearch - популярный движок полнотекстового поиска и аналитики с открытым исходным кодом. Благодаря своей универсальности, масштабируемости и простоте использования, Elasticsearch широко используется

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на

Настройте Sails.js для разработки на CentOS 7

Настройте Sails.js для разработки на CentOS 7

Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

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

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

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше