Инструменты пользователя

Инструменты сайта


миникомпендиум

Установка Graylog на Debian 9

Из названия, должно быть понятно, что куда ставим :-). Со времен падения Берлинской стены, установка GrayLog представляет собой весьма тривиальное занятие. Как Graylog, так и Elasticsearch основаны на Java, поэтому нам необходимо установить последнюю версию Java в вашей системе.

apt-get install openjdk-8-jre-headless -y

Чухаем, что установилось:

java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1~deb9u1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

Установите дополнительные пакеты в систему:

apt-get install apt-transport-https uuid-runtime pwgen -y

Установите и настройте Elasticsearch

Graylog использует Elasticsearch для хранения сообщений журнала, а также предлагает средство поиска. По умолчанию Elasticsearch недоступен в репозитории Debian 9. Итак, вам нужно будет добавить репозиторий Elasticsearch в вашу систему.

  1. Загрузим и установим ключ GPG:
    wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -
  2. Добавим репозиторий Elasticsearch в apt:
    echo "deb https://packages.elastic.co/elasticsearch/2.x/debian stable main" | tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
  3. Обновите репозиторий:
    apt-get update -y
  4. После завершения обновления системы установим Elasticsearch:
    apt-get install elasticsearch -y
  5. Запустим службу Elasticsearch и добавим демон в автозагрузку:
    systemctl start elasticsearch
    systemctl enable elasticsearch
  6. Далее вам нужно будет отредактировать /etc/elasticsearch/elasticsearch.yml:
    cluster.name: graylog
    network.host: 127.0.0.1
    discovery.zen.ping.timeout: 10s
    discovery.zen.ping.multicast.enabled: false
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300"]
    script.inline: false
    script.indexed: false
    script.file: false

Данное руководство использует Elasticsearch на одном сервере. Если Elasticsearch будет использоваться на другом сервере, то нужно замените IP-адрес 127.0.0.1 на IP-адрес сервера.

Перезапустим демон Elasticsearch:

systemctl restart elasticsearch
netstat -tulnp | grep 9200
tcp6       0      0 10.10.10.14:9200       :::*                    LISTEN      3181/java

Убедимся, что после перезапуска Elasticsearch работает правильно. Elasticsearch должен прослушивать HTTP-порт 9200. Узлы кластера обмениваются данными 9300.

curl -X GET http://localhost:9200

{
  "name" : "Baron Von Blitzschlag",
  "cluster_name" : "graylog",
  "cluster_uuid" : "DuwBAsOfQ_SXZwc2sGfjgw",
  "version" : {
    "number" : "2.4.6",
    "build_hash" : "5376dca9f70f3abef96a77f4bb22720ace8240fd",
    "build_timestamp" : "2017-07-18T12:17:44Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.4"
  },
  "tagline" : "You Know, for Search"
}

Также, убедимся в хорошем самочувствие пациента:

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

Установка MongoDB

Graylog использует MongoDB в качестве базы данных для хранения метаинформации и конфигураций. MongoDB доступен в репозитории Debian 9 по умолчанию. Установим MongoDB:

apt-get install mongodb-server -y

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

Чтобы установить сервер Graylog, необходимо загрузить и установить репозиторий Graylog в Debian 9.

wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb
dpkg -i graylog-2.2-repository_latest.deb

Обновим репозиторий Graylog, и установим сервер Graylog:

apt-get update -y
apt-get install graylog-server -y

Теперь нужно установить пароль и хеш-пароль для пользователя root. Сначала установим пароль с помощью команды pwgen:

pwgen -N 1 -s 96

Получаем случайным образом сгенерированный пароль. У меня получилась вот такая колбаса:

EmAUh2eWnBq5TGmvXaYm0eKzcbCJLjKAy68bSzSDfkOsQkJoGle99Z9ZNc1lBLnoniDwVEQyuuvYNeUPG2BGc7q8L4Vf9rhh

Установим хеш-пароль для пользователя root. Используем следующую команду, обязательно заменим hashedpassword на желаемый пароль.

echo -n hashedpassword | sha256sum

Получаем вывод:

c23aa8d275460d146d0cee8f493496f715546819014680f3d5764f3e55ccd7e1

Редактируем основной файл конфигурации серверов Graylog - /etc/graylog/server/server.conf. Заменим root_password_sha2 и password_sercret на консольный вывод полученный ранее

is_master = true
node_id_file = /etc/graylog/server/node-id
password_secret = EmAUh2eWnBq5TGmvXaYm0eKzcbCJLjKAy68bSzSDfkOsQkJoGle99Z9ZNc1lBLnoniDwVEQyuuvYNeUPG2BGc7q8L4Vf9rhh
root_username = admin
root_password_sha2 = c23aa8d275460d146d0cee8f493496f715546819014680f3d5764f3e55ccd7e1
root_timezone = UTC
plugin_dir = /usr/share/graylog-server/plugin
rest_listen_uri = http://0.0.0.0:9000/api/
rest_enable_cors = true
web_listen_uri = http://0.0.0.0:9000/
rotation_strategy = count
elasticsearch_max_docs_per_index = 20000000
elasticsearch_max_number_of_indices = 7
retention_strategy = delete
elasticsearch_shards = 4
elasticsearch_replicas = 1
elasticsearch_index_prefix = graylog
allow_leading_wildcard_searches = true
allow_highlighting = false
elasticsearch_cluster_name = graylog
elasticsearch_discovery_zen_ping_unicast_hosts = your-server-ip-address:9300
elasticsearch_http_enabled = false
elasticsearch_network_host = 0.0.0.0
elasticsearch_discovery_initial_state_timeout = 3s
elasticsearch_analyzer = standard
output_batch_size = 500
output_flush_interval = 1
output_fault_count_threshold = 5
output_fault_penalty_seconds = 30
ring_size = 65536
inputbuffer_ring_size = 65536
inputbuffer_processors = 2
inputbuffer_wait_strategy = blocking
processbuffer_processors = 5
outputbuffer_processors = 3
processor_wait_strategy = blocking
message_journal_enabled = true
message_journal_dir = /var/lib/graylog-server/journal
async_eventbus_processors = 2
lb_recognition_period_seconds = 3
alert_check_interval = 60
mongodb_uri = mongodb://localhost/graylog
mongodb_max_connections = 1000
mongodb_threads_allowed_to_block_multiplier = 5
transport_email_enabled = true
content_packs_dir = /usr/share/graylog-server/contentpacks
content_packs_auto_load = grok-patterns.json
proxied_requests_thread_pool_size = 32

Ну и последний штрих. Стартуем демон и отправляем его в автозагрузку

systemctl start graylog-server
systemctl enable graylog-server

Тут можно посмотреть логи. Уот так уот!

tail -f /var/log/graylog-server/server.log

Graylog. Вэбморда

Graylog будет доступен в браузере по адресу http://10.10.10.14:9000.

Нужно ограничить возможность доступа Graylog к частной сети, Если Graylog развертывается в производственной среде. В контексте данного руководства экземпляры 10.10.10.14 могут быть заменены любым публичным IP-адресом

Для входа используем имя пользователя - admin и пароль, как было hashedpassword сгенерировано ранее.

Собсна на этом, установку данного коллектора можно считать завершенной.

ite misa est

Другие статьи

Получение и отправка логов в Graylog

миникомпендиум.txt · Последнее изменение: 2019/10/16 09:26 — admin