На этой странице представлено описание установки и настройки сервера для централизованного сбора логов с оборудования в локальной сети.

Rsyslog – это высокопроизводительный сервер логов на Linux с возможностью сохранять информацию в базу данных. Поставляется вместе с пакетами Ubuntu20. Официальный сайт.

Loganalyzer – это веб-интерфейс для доступа к базе данных логов от Rsyslog. Через него можно просматривать и анализировать сообщения логов. Официальный сайт.

Все это ПО распространяется бесплатно.

Логи поступают от различного сетевого оборудования внутри локальной сети.

От Интернета сеть отделена сетевым экраном и считается условно безопасной. Вопросы информационной безопасности в описании не рассматриваются, но обязательны.

 

Сервер установлен на ПК(не ВМ) со следующими параметрами:

Процессор: Intel Core I5-3450 3.1ГГцх4.

ОЗУ: 8Гб.

HDD: 2Tb.

Сетевая карта 1Гбит/сек.

Сервер подключен в сеть, ему раздается IP-адрес по DHCP с доступом к Интернету.

 

Установка ОС.

Скачиваем Ubuntu 20.  Desktop image с графическим интерфейсом.

Создаем установочную флэшку и переносим скачанный образ на нее.

Подготовка установочной флэшки.

Создание происходит с помощью ПО Rufus. Выбираем флэшку, скачанный образ Ubuntu, нажимаем кнопку «Старт».

Возможно, появится сообщение о загрузке необходимых данных. Нажимаем ДА.

 

Режим записи – Записать в ISO-образ режиме. ОК.

 

Следует учитывать, что все данные на флэшке будут уничтожены. Подтверждаем это.

Через пару минут флэшка готова.

С использованием созданной флэшки устанавливаем операционную систему.

Установка ОС Ubuntu20 - кратко.

Загружаемся с установочной флэшки.

Выбираем – Try or Install Ubuntu.

Далее откроется мастер установки.

Выбраны следующие параметры:

Install Ubuntu – установить Ubuntu.

English – язык системы.

Keyboard layout – English – язык клавиатуры.

Normal installation – тип установки – нормальная.

Download updates while installing Ubuntu – загрузить обновления вовремя установки (если подключен Интернет).

Erase disk and install Ubuntu – стереть диск и установить Ubuntu (все данные с диска удаляются!).

Where are you – выбираем часовой пояс.

Who are you – имя ПК, логин, пароль.

 

После установки вытаскиваем из ПК флэшку и нажимаем кнопку «Ввод» на клавиатуре.

Система установлена. Вводим указанный ранее логин и пароль и попадаем на рабочий стол.

Компьютер подключен в сеть. IP-адрес присвоился по DHCP.

 

Запускаем терминал Ctrl+Alt+T.

Входим с правами root.

Вводим пароль админа. Ввод пароля не отображается.

Далее все действия в терминале выполняются с правами root!

В командах ниже это ни как не обозначено (например $ или sudo перед командой).

Настраиваем удаленный доступ к серверу.

Настройка удаленного доступа.

Работы будут выполняться в локальной сети. Подключение будет происходить от ПК с Windows 10 к ПК с Ubuntu 20 по этому решено воспользоваться протоколом RDP.

Запускаем терминал.

Вводим команды.

(-y = yes подтверждение установки)

 

Проверка статуса

Подключаемся по RDP из Windows на IP-адрес ПК с Ubuntu.

Предварительно пользователь на Ubuntu должен выйти из системы, чтоб удаленный пользователь из Windows вошел.

 

Переходим на ПК с Windows.

Пуск >> Все программы >> Стандартные — Windows >> Подключение к удаленному рабочему столу.

Или через командную строку:

Win+R >> mstsc.

Вводим IP-адрес.

Вводим логин-пароль (без указания домена).

Попадаем на рабочий стол Ubuntu.

Если дополнительно появится окно аутентификации, то нужно ввести пароль и подтвердить 2 раза (или нажать отмену).

 

Существуют другие альтернативные варианты удаленного доступа, например с использованием AnyDesk и подобных программ.

AnyDesk скачивается через браузер с официального сайта и устанавливается через менеджер установок (Software install).

 

Перед дальнейшей установкой желательно выполнить обновление.

Обновляем систему.

После второй команды начнется обновление всех установленных пакетов. Это может происходить продолжительное время.

 

Установка Rsyslog.

 Для работы Rsyslog потребуются следующие компоненты:

Apache

PHP

MYSQL

Loganalyzer

 

Установка Apache2.

 Устанавливаем apach2 и модуль работы с php.

 

Включаем автозапуск.

 

Запускаем службу

 

Проверяем статус

 

Active (running) – значит работает.

Можно посмотреть страницу приветствия перейдя в браузере по адресу:

 

Установка PHP.

Информация о пакете php.

(текущая версия 7.4)

 

Можно посмотреть какие есть модули.

 

Установка.

 

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

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

(работа с bd mysql)

 

(библиотека для передачи через протоколы http https)

 

(взаимодействие с xml)

 

(работа с графикой, без этого модуля не отображаются диаграммы статистики)

 

Эти два модуля возможно уже присутствуют.

(сериализация объектов в текст )

 

(кэш кода php для ускорения обработки большого кол-ва запросов)

 

Проверка работы php.

В командной строке создаем файл info.php с помощью редактора vi.

 

Содержание файла

 

Выходим из редактора vi — нажимаем кнопку Esc

Затем пишем в командной строке.

(сохранить и закрыть)

 

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

 

В браузере проверяем ссылку.

Если видим эту страницу, значит все сделано правильно и php работает.

 

Установка MYSQL.

 

Модуль для Rsyslog

В появившемся сообщении нажимаем <No> создадим БД позже.

Добавление в автозагрузку и старт

 

Проверка версии mysql

 

Результат.

 

Проверка статуса mysql

Результат.

После всех установок нужно перезапустить веб-сервер

 

Установка RSYSLOG.

Проверяем какой Rsyslog уже есть в UBUNTU

 

Создадим базу данных для логов с названием rsyslog.

Заходим в mysql с правами root.

(пароля нет)

 

Далее создаем БД с названием rsyslog.

 

Создаем пользователя для доступа к базе данных.

Имя пользователя любое, например syslogmaster.

Пароль – password.

 

Назначаем привилегии.

 

Перечитываем конфигурацию.

 

Выходим.

 

Импорт схемы для БД.

(-u -юзер, -D-бд, -p-пароль)

вводим пароль password

Если не выполнить эту настройку, то в БД не создадутся таблицы.

Просмотр содержания БД.

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

(вход в mysql)

 

(список пользователей)

 

(список баз данных)

 

Содержание БД rsyslog.

Выбираем БД.

 

Вводим команду чтоб показать таблицы.

 

Изменим конфигурацию rsyslog в файле rsyslog.conf, чтоб он слушал UDP и TCP 514 порт.

Переходим в редактор vi. Выбираем файл.

Стрелками спускаемся до нужной строки и удаляем # (которая означает начало комментария).

Раcкомментируем строки как на картинке:

Выходим из редактора vi

Нажимаем Esc, затем:

(сохранить и закрыть)

 

Настроим отправку логов в базу данных.

Отредактируем файл mysql.conf через редактор vi.

Изменим имя БД, пользователя и его пароль, см картинку.

Наводим на букву в строке, нажимаем i, редактируем, нажимаем Esc. Идем дальше…

Удаление пустых строк быстрое нажатие dd.

Если что-то неправильно введено, то нужно выйти без сохранения с помощью команды:

Выходим из редактора vi

Esc

(сохранить и закрыть)

 

Перезапускаем rsyslog

 

Проверка статуса Rsyslog

 

 

Установка Loganalyzer.

Подготовка БД.

Создаем базу данных для Loganalyzer, так ее и назовем.

(все буквы нижнего регистра)

База нужна в основном для пользователей.

 

Создаем пользователя для БД.

 

Назначаем привилегии.

 

Перечитываем конфигурацию.

 

Выходим.

 

Установка приложения Loganalyzer.

Скачиваем и устанавливаем.

Переходим во временную папку.

 

Скачиваем последнюю актуальную версию ПО.

 

Распаковываем архив.

 

Возврат в корень.

 

Создаем папку для Loganalyzer в apach2

 

Копируем из временной папки в созданную

 

Создаем файл конфигурации.

Переходим в папку.

 

Создаем пустой файл конфигурации.

 

Меняем владельца.

(www-data:www-data это пользователь и группа которой мы даем права на файл  config.php)

 

Задаем права на чтение и запись для config.php .

Цифра 6 означает права на чтение и запись.

6 – для владельца.

6 – для группы.

6 – для пользователя.

 

Возвращаемся в корень.

 

Меняем владельца всех файлов в папке на www-data

(-R указывается чтоб применилось для всех вложенных объектов)

Теперь переходим в браузере по адресу

Видим страницу.

Если ничего не открылось нужно перезапустить все службы и попробовать еще раз (или перезагрузить ПК).

Проверить все статусы и файлы конфигурации, сверится с эталоном настроек из описания выше.

Нажимаем на ссылку Click here to Install Adiscon LogAnalyzer.

На первом шаге просто нажимаем Next.

 

Шаг 2 — проверка разрешения файла – перезаписываемый (Writeable).

 

Шаг 3 — вводим данные для БД. В данном случае это база loganalyzer.

Пользователь logan, пароль password (создан ранее). Нажимаем Next.

 

Может возникнуть ошибка при неправильном вводе логина-пароля. Вводим правильно.

Шаг 4 — нажимаем Next.

 

Шаг 5 — проверка SQL, нажимаем Next.

 

Шаг 6 — создание аккаунта администрирования. Пользователь может быть любой. Пароль придумываем. Нажимаем Next.

 

На следующем шаге 7  указываем источник логов – это база rsyslog. Вводим логин и пароль для этой базы.

Название таблицы — SystemEvents (с учетом регистра букв).

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

Нажимаем кнопку Finish.

 

Проверяем.

Логи от разных устройств начали приходить. Они были предварительно настроены на IP-адрес этого сервера логов.

 

К веб-интерфейсу можно подключатся по IP-адресу с других компьютеров, например так:

Следует помнить про информационную безопасность и разрешить доступ к серверу логов только с доверенных адресов.

В процессе настроек могут появиться некоторые ошибки.

Syslog file is not readable, read access may be denied.

 

Решается эта проблема добавлением строчки в файле конфигурации

Открываем редактор vi в терминале

Добавляем в самом низу строчку

Выходим с сохранением.

Перезапускаем apach2.

Could not find the configured database.

Ошибка связана с несоответствующей базой данных указанной в шаге №7.

Переходим в Admin Center >> Sources и редактируем настройку БД.

Проверяем или изменяем параметры.

LogAnalyzer is already configured.

Если в процессе настроек страница зависла и потом открылось начало настроек. Клик на ссылку не реагирует.

Нужно удалить файл config.php и начать настройку заново.

/var/www/html/loganalyzer/config.php

Белая страница

Ошибка – белая страница после определенного шага.

Смотрим лог в apache2 /var/log/apache2/error.log

Часто такая ошибка связана с неправильной работой PHP. Возможна несовместимость версий Loganalyzer и php или mysql.

Проверяем версии, устанавливаем php другой версии. Выполняем настройку сначала.

С php8.1 на Ubuntu22, Loganalyzer 4.1.12 не работает.

Краказябры в логах на кириллице

Чтоб не получить краказябры, нужно указать кодировку utf8 в административном центре Loganalyzer.

Так же нужно проверить кодировку БД mysql. Она тоже должна быть utf8.

Проверка кодировки БД.

Результат вывода таблиц.

Просмотр.

Если не удобно работать с БД mysql через командную строку, то можно воспользоваться веб-интерфейсом phpMyAdmin.

Установка phpMyAdmin

Установка phpMyAdmin

 

Модуль для работы с utf8.

 

Проверяем страницу входа.

 

Удаление (при необходимости).

 

Чтоб иметь доступ к всем БД проще создать нового пользователя и задать ему необходимые привилегии, чем пытаться настроить пользователя root.

Входим в mysql

 

Выбираем БД.

 

Создаем пользователя для доступа к БД.

Имя пользователя любое, например phplocal.

Пароль – password.

(password — для примера, в реальности сложный пароль из букв разного регистра, цифр и спец.символов).

 

Назначаем привилегии root чтоб видеть все БД.

 

Перечитываем конфигурацию.

 

Выходим.

 

Заходим через любой браузер.

Вводим параметры созданного ранее пользователя.

Видим все БД и можем с ними работать.

Отправка логов на сервер.

Чтоб логи приходили на сервер с различных сетевых устройств нужно на этих устройствах выполнить настройку. Для примера представлена краткая настройка некоторого оборудования. Принцип везде примерно одинаковый. Нужно указать IP-адрес сервера логов и порт на котором Rsyslog принимает сообщения.

Отправка логов на сервер из сетевого хранилища QSAN.

Control Panel >> Notification >> Syslog.

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

Device можно изменить на Local 0.

Сохраняем настройку.

Отправка логов на сервер из сетевого хранилища QNAP D2 D4.

 

В зависимости от версии прошивки в NAS настройка может выполнятся из QuLog Center.

Отправка логов на сервер из сетевого экрана Kerio Control.

На вкладке журналов выбираем нужный тип логов.

Далее на поле где сообщения правой кнопкой мыши выбираем из меню настройку логов (Log Settings).

На вкладке внешнего логирования активируем галочкой отправку логов на Syslog-сервер и указываем его IP-адрес.

Отправка логов на сервер из роутера MikroTik.

System >> Logging >> Actions

В правиле remote указываем IP-адрес сервера логов и порт с которым он работает

На вкладке Rules выбираем тип логов для отправки.

Отправка логов на сервер из ПК с ОС Windows.

Самый простой и бесплатный способ – Event Log to Syslog. Приложение в виде службы отправляет логи по указанному IP-адресу.

Скачиваем архив последней версии для обычного размера пакетов, без LP.

Распаковываем в папку C:\Windows\System32

Запускаем через cmd с правами админа и с указанием IP-адреса сервера.

Запускаем службу.

Проверяем в службах режим запуска и состояние.

Подробную настройку для отправки конкретных типов логов, можно посмотреть в файле PDF который, находится в архиве вместе с программой.

Изменение параметров можно выполнить в реестре

Отправка логов на сервер из ПК с ОС Ubuntu.

На ПК должен быть предварительно установлен и настроен Rsyslog.

Создаем файл конфигурации в папке rsyslog.d через vi редактор.

 

Указываем в этом файле сервер логов и порт.

Выходим из редактора vi

Esc

(сохранить и закрыть)

 

Перезапускаем rsyslog

Все логи начнут передаваться на указанный IP-адрес. Можно выбрать конкретные типы логов для отправки.

Альтернативный вариант — отправка через модуль omfwd.

Отправка логов на сервер из управляемого коммутатора.

Коммутатор TL-SG3428XMP

Настройка находится в Maintenance >> Remote Logs.

Указываем IP-адрес сервера логов, порт по умолчанию 514.

Severity — уровень серьезности. Чем он ниже, тем серьезнее событие. (см. описание протокола Syslog)

Status — Enable.

Коммутатор GS1900-24.

Configuration >> Management >> Syslog >> Remote.

Тут то же самое. Указываем IP-адрес, порт, Severity и Facility (идентификатор источника сообщения).

Сохраняем настройку.

Отключение локальных логов.

На сервере логов запускаем терминал Ctrl+Alt+T.

Входим с правами root.

 

Пароль.

Переходим в папку.

 

Создаем файл.

 

Имя файла должно быть таким, чтоб он располагался выше чем файл с именем 50-deafault.conf

Отредактируем файл через редактор vi.

 

Копируем туда строчку.

Синтаксис.

:property, [!]compare-operation, «value»

[свойство] [операция] [значение]

:fromhost — с хоста

isequal — сравнение

LOGSERVER — имя хоста

stop — остановить

 

Выходим.

 

Возвращаемся в корень.

 

Перезапускаем Rsyslog.

 

Проверяем статус Rsyslog.

 

В результате логи с самого сервера логов перестали появляться в Loganalizer.

Фильтровать можно не только по имени, но так же по IP-адресу, источнику, тэгу и другим параметрам. Подробнее в документации на rsyslog.