Найти тему
17 подписчиков

Установка и настройка GrayLog


1) В файле /etc/sysctl.conf необходимо изменить параметр ядра Linux, который определяет максимальное количество областей памяти процесса:

vm.max_map_count=262144

2) Применяем настрйоки: sudo sysctl -p

3) Создаем пароль для переменной GRAYLOG_PASSWORD_SECRET:

pwgen -N 1 -s 96

и для переменной GRAYLOG_ROOT_PASSWORD_SHA2:

echo -n yourpassword | shasum -a 256

добавляем переменные в .env:

GRAYLOG_PASSWORD_SECRET=...
GRAYLOG_ROOT_PASSWORD_SHA2=...

4) Добавляем docker-compose:

version: "3.8"

services:
mongodb:
image: "mongo:6.0.3" # Используем образ MongoDB версии 5.0
volumes:
- "mongodb_data:/data/db" # Монтируем том для хранения данных MongoDB
restart: "on-failure" # Перезапускаем контейнер в случае сбоя

datanode:
image: "${DATANODE_IMAGE:-graylog/graylog-datanode:6.0.3}" # Используем образ Datanode, по умолчанию graylog/graylog-datanode:6.0.3
hostname: "datanode" # Устанавливаем hostname контейнера
environment:
GRAYLOG_DATANODE_NODE_ID_FILE: "/var/lib/graylog-datanode/node-id" # Путь к файлу идентификатора узла
GRAYLOG_DATANODE_PASSWORD_SECRET: "${GRAYLOG_PASSWORD_SECRET}" # Секретный пароль для Datanode
GRAYLOG_DATANODE_ROOT_PASSWORD_SHA2: "${GRAYLOG_ROOT_PASSWORD_SHA2}" # SHA2 хеш корневого пароля для Datanode
GRAYLOG_DATANODE_MONGODB_URI: "mongodb://mongodb:27017/graylog" # URI для подключения к MongoDB
ulimits:
memlock:
hard: -1
soft: -1
nofile:
soft: 65536
hard: 65536
ports:
- "127.0.0.1:8999:8999/tcp" # Порт для API Datanode
- "127.0.0.1:9200:9200/tcp"
- "127.0.0.1:9300:9300/tcp"
volumes:
- "graylog-datanode:/var/lib/graylog-datanode" # Монтируем том для хранения данных Datanode
restart: "on-failure" # Перезапускаем контейнер в случае сбоя
graylog:
hostname: "server" # Устанавливаем hostname контейнера
image: "${GRAYLOG_IMAGE:-graylog/graylog:6.0.3}" # Используем образ Graylog, по умолчанию graylog/graylog:6.0.3
depends_on:
mongodb:
condition: "service_started" # Запускаем Graylog только после запуска MongoDB
entrypoint: "/usr/bin/tini -- /docker-entrypoint.sh" # Устанавливаем entrypoint для контейнера
environment:
GRAYLOG_NODE_ID_FILE: "/usr/share/graylog/data/data/node-id" # Путь к файлу идентификатора узла
GRAYLOG_PASSWORD_SECRET: "${GRAYLOG_PASSWORD_SECRET}" # Секретный пароль для Graylog
GRAYLOG_ROOT_PASSWORD_SHA2: "${GRAYLOG_ROOT_PASSWORD_SHA2}" # SHA2 хеш корневого пароля для Graylog
GRAYLOG_HTTP_BIND_ADDRESS: "0.0.0.0:9000" # Адрес и порт для HTTP биндинга
GRAYLOG_HTTP_EXTERNAL_URI: "http://localhost:9000/" # Внешний URI для доступа к Graylog
GRAYLOG_MONGODB_URI: "mongodb://mongodb:27017/graylog" # URI для подключения к MongoDB
ports:
- "127.0.0.1:9000:9000/tcp" # Порт для API сервера
- "12201:12201/tcp" # Порт для GELF TCP
- "12201:12201/udp" # Порт для GELF UDP
volumes:
- "graylog_data:/usr/share/graylog/data/data" # Монтируем том для хранения данных Graylog
- "graylog_journal:/usr/share/graylog/data/journal" # Монтируем том для журнала Graylog
restart: "on-failure" # Перезапускаем контейнер в случае сбоя
volumes:
mongodb_data: # Том для хранения данных MongoDB
graylog-datanode: # Том для хранения данных Datanode
graylog_data: # Том для хранения данных Graylog
graylog_journal: # Том для журнала Graylog

6) Добавляем конфиг nginx в /etc/nginx/sites-available/ :

server {
listen 80;
server_name logs.domain.ru;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name logs.domain.ru;

ssl_certificate /etc/nginx/cert/certificate.crt;
ssl_certificate_key /etc/nginx/cert/private.key;

location / {
proxy_pass http://127.0.0.1:9000;
}
}

7) Создаем символическую ссылку:

ln -sf /etc/nginx/sites-available/* /etc/nginx/sites-enabled/

8) Перезагружаем nginx:

service nginx restart
#DevOps
Установка и настройка GrayLog  1) В файле /etc/sysctl.conf необходимо изменить параметр ядра Linux, который определяет максимальное количество областей памяти процесса:  vm.
3 минуты