Отправка логов через syslog-ng в сервер логов syslog-ng(elasticsearch,postgresql)

Пишем логи nginx, php, nodejs в базу postgres через syslog-ng напрямую в базу или через сервер логов

Установка syslog-ng

Удаляем rsyslog

Ставим необхдимые системные пакеты

Ставим java на debian 8

Ставим java на ubuntu

Устанавливаем переменную окружения

Ставим syslog-ng последней версии на debian 8

Ставим syslog-ng последней версии на ubuntu 16.04

Ставим последний elasticsearch и kibana

настраиваем kibana и elasticsearch

Конфиг elasticsearch

Конфиг kibana

Рестартуес сервисы

Подготовка формата логов nginx,php и nodejs

Настройка формата логов в nginx

Настройка логов php — отправка их в nginxerror.log

Добаляем в конфиг

Настройка формата логов nodejs, запускаемой через pm2

Делаем запуск с такими параметрами

На этом подготовка формата логов окончена

Настройка отправки логов через syslog-ng в postgres

Создаем базу в pg

Правим файл

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

Далее часть конфига с отправкой полного формата логов nginx access, nginx error, nodejs. Таблички в базе создаеются по имени хоста,дате.

Проверяем

Если всё ок — стартуем

Отправка логов на сервер syslog-ng от syslog-ng и вставка логов в postgresql,elasticsearch

Для того чтобы писать не напрямую в базу а в сервер логов syslog-ng, который уже будет отпралять это в базу NOsql elasticsearch или в SQL postgres нам понадобится внести изменения. Наш клиент будет отправлять логи на сервер по udp.

Настройка на клиенте.

Создадим отдельный файл с конфигом отправки логов. Удалим последние изменения — именно удалим блок с отправкой логов и создадим файл в

Вставим туда следующее содержимое

Настройка на сервере.

Создадим отдельный файл с конфигом отправки логов. Удалим последние изменения — именно удалим блок с отправкой логов и создадим файл в.

Все рестартуем агенты на сервере и отправителе.

Заходим в kibana на

Добавляем индекс

В поле timestamp выбираем

Смотрим в discover наши логи


Все разложено как и надо по парам!!!

Скрипт очистки логов nginx чтобы не засирать систему. Тут также td-agent — не обращаем на него внимания.

Добавляем его по крону каждые 2 часа

Profit!!

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *