Логотип

Настройка Graylog на сервере для управления журналами в Linux

Настройка Graylog на сервере для управления журналами в Linux

Задумывались ли вы об управлении большим количеством журналов? Мы думаем что каждый сисадмин задавал себе этот вопрос. Решение очень простое: «Настройка сервера Graylog».

В предыдущем статье мы показали, как начать работу с Buildah для управления контейнерами Linux. В этой статье мы покажем вам, как настроить сервер Graylog для управления огромным количеством журналов (большие данные).

 

Что такое Graylog?

Graylog — это платформа с открытым исходным кодом для управления журналами. Это позволяет собирать и объединять журналы из разных мест назначения. Затем он также позволяет визуализировать журналы в веб-интерфейсе.

Для установки и настройки сервера Graylog существуют следующие условия:

  1. Установка openJDK
  2. Установка MongoDB
  3. Установка Elasticsearch

Настройка Graylog Server для управления журналами в Linux

 

Основными компонентами сервера Graylog являются:

  • MongoDB : база данных, которая хранит конфигурацию и метаинформацию.
  • Elasticsearch : двигатель, который делает поиск эффективным. Также он хранит сообщения журнала. Это облегчает поиск. Все операции ввода/вывода происходят в этом движке.
  • GrayLog Server: анализатор, который собирает журналы из разных мест назначения.
  • Graylog Web Interface: панель управления конфигурациями, связанными с журналом, с использованием графического интерфейса пользователя. Веб-интерфейс предоставляет более простой и аккуратный подход к работе с конфигурациями.

Начнем с установки сервера Graylog. Мы пройдем процедуру шаг за шагом.

 

Необходимое условие для сервера Graylog

Давайте сначала начнем с установки необходимых компонентов сервера Graylog.

Обратите внимание, что в этой статье мы используем Red Hat Linux, поэтому на этапах установки показан менеджер пакетов Yum. Если вы используете какой-то другой дистрибутив, вы должны использовать менеджер пакетов вашего дистрибутива.

Читать  MX Linux против Ubuntu

 

Установка openJDK

Сначала мы установим openJDK. Зачем тебе OpenJDK? Потому что Elasticsearch основан на Java. Вы также можете использовать OracleJDK, но я предпочитаю версию OpenJDK с открытым исходным кодом.

# yum install java-1.8.0-openjdk-headless.x86_64 -y

# yum install epel-release -y

# yum install pwgen -y

 

Установка Elasticsearch

После установки openJDK перейдем к Elasticsearch. Этот движок играет прекрасную роль на сервере Graylog. Движок Elasticsearch может хранить и искать огромное количество данных. Вот почему он предпочтителен при работе с большими данными.

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

Мы собираемся импортировать ключ GPG, используя следующую команду:

# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

 

Поскольку репозиторий Elasticsearch по умолчанию недоступен в Centos 7/Rhel 7, нам нужно будет создать файл repo вручную, включая следующие записи в файле репозитория Elasticsearch.

# vi /etc/yum.repos.d/elasticsearch.repo

[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

 

Теперь вы готовы установить пакет Elasticsearch.

# yum install elasticsearch -y

 

После установки пакета Elasticsearch будет создан файл конфигурации esticsearch.yml, установите для имени кластера значение graylog, как показано ниже.

# vi /etc/elasticsearch/elasticsearch.yml

cluster.name: graylog

 

Все готово чтобы начать и включить elasticsearch.service

# chkconfig --add elasticsearch
# systemctl daemon-reload
# systemctl enable elasticsearch.service
# systemctl start elasticsearch.service

 

После того, как вы начали, и включили elasticsearch.service ; Запустите команду curl:

# curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

{ "cluster_name" : "graylog", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 1, "active_shards" : 1, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 100.0 }

 

Читать  Установить MyBB на Ubuntu 16.04

Установка MongoDB

Нам нужно добавить репозиторий MongoDB с указанными ниже записями в репо-файле MongoDB, так как он по умолчанию недоступен в Centos 7/Rhel 7.

 # vi /etc/yum.repos.d/mongodb-org-3.2.repo

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

 

Установите пакет MongoDB.

# yum install mongodb-org -y

 

Запустите и включите mongod.service.

# chkconfig --add mongod
# systemctl daemon-reload
# systemctl enable mongod.service
# systemctl start mongod.service

 

Установка и настройка сервера Graylog

После того, как все предпосылки выполнены и проверены. Пришло время настроить и установить сервер Graylog. Вы можете скачать последнюю версию сервера Graylog с открытым исходным кодом по ссылке ниже:

# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.rpm

 

Установите сервер Graylog:

# yum install graylog-server -y

 

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

# pwgen -N 1 -s 96 
eWOm6Gf0zEWQti9PQ65DKOoW9NoY7ekwJ0qlpkiDCNd5I2G622v1wIYrcXnp9JkrUxYKVU5CWFXY0tFEXLGxBymYgP0pQAwH

 

Установите хеш-пароль для пользователя root. Обратите внимание, что вы будете использовать этот пароль при регистрации в веб-интерфейсе Graylog.

# echo -n AndreyExPassword | sha256sum
98dabf085d96d5e4614172a4e8087ce3d3cd724b6d07dc590dac2948926df887

 

Теперь введите пароль root и сгенерированный ключ в файле server.conf. Также добавьте другие обязательные параметры.

# vi /etc/graylog/server/server.conf

password_secret = eWOm6Gf0zEWQti9PQ65DKOoW9NoY7ekwJ0qlpkiDCNd5I2G622v1wIYrcXnp9JkrUxYKVU5CWFXY0tFEXLGxBymYgP0pQAwHZ
root_password_sha2 = 98dabf085d96d5e4614172a4e8087ce3d3cd724b6d07dc590dac2948926df887
root_email = youremail@gmail.ru
root_timezone=UTC
elasticsearch_discovery_zen_ping_unicast_hosts = <your-server-ip-address>:9300
elasticsearch_shards=1
script.inline: false
script.indexed: false
script.file: false

 

Введите эти два параметра с указанным значением в одном файле, чтобы получить доступ к веб-интерфейсу Graylog. Веб-интерфейс Graylog будет прослушивать TCP-порты 12900 и 9000 в веб-браузере.

rest_listen_uri = http://192.168.1.200:12900/
web_listen_uri = http://192.168.1.200:9000/
# chkconfig --add graylog-server
# systemctl daemon-reload
# systemctl enable graylog-server.service
# systemctl start graylog-server.service

 

Настройка портов брандмауэра

Мы видели ранее, мы упоминали некоторые порты в файлах конфигурации для веб-интерфейса. Мы управляем этими портами с помощью брандмауэра. Ниже приведены инструкции по постоянному добавлению этих tcp-портов в настройки брандмауэра. Пожалуйста, выполните следующие команды для управления портами:

# firewall-cmd --permanent --zone=public --add-port=9000/tcp
# firewall-cmd --permanent --zone=public --add-port=12900/tcp
# firewall-cmd --permanent --zone=public --add-port=1514/tcp

 

Читать  Команда Modprobe в Linux

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

# firewall-cmd --reload

 

Для управления политики SELinux, мы собираемся установить policycoreutils-python

# yum install policycoreutils-python -y

 

Команда ниже гарантирует, что ваш веб-интерфейс имеет доступ к сети

# setsebool -P httpd_can_network_connect 1

 

Используя команду semanage, мы хотим разрешить API-интерфейс Graylog REST и HTTP-интерфейс Elasticsearch HTTP. Если вы хотите знать синтаксис команды semanage, вы можете обратиться к man-странице semanage.

# semanage port -a -t http_port_t -p tcp 9000
# semanage port -a -t http_port_t -p tcp 9200

 

Разрешение порта по умолчанию MongoDB.

# semanage port -a -t mongod_port_t -p tcp 27017

 

Доступ к веб-интерфейсу Graylog

Откройте веб-браузер и введите URL-адрес http://your_ip_address: 9000. Вы будете перенаправлены на следующую страницу.

Настройка Graylog Server для управления журналами в Linux

 

Чтобы войти в веб-интерфейс Graylog, введите имя пользователя admin и пароль — AndreyExPassword (который мы установили, как указано выше в команде). Имя пользователя и пароль по умолчанию для веб-интерфейса Graylog — «admin», «admin».

Вот и все. Теперь вы можете визуально управлять журналами приложений/сервера благодаря великолепному серверу Graylog с открытым исходным кодом.

Мы надеемся, что вы найдете эту статью полезным. Пожалуйста, оставьте свои предложения в разделе комментариев.

Редактор: AndreyEx

Рейтинг: 4.6 (38 голосов)
Если статья понравилась, то поделитесь ей в социальных сетях:

Это может быть вам интересно


Thanks!

Our editors are notified.

Прокрутить страницу до начала