ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

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

 

Что такое Graylog?

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

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

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

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

 

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

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

 

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

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

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

 

Установка 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 }

 

Установка 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

 

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

# 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 с открытым исходным кодом.

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

Exit mobile version