Syslog server linux web interface

Rsyslog и LogAnalyzer — поднимаем сервер логирования на Linux

rsyslog81

LogAnalyzer – это web приложение, которое предназначено для просмотра логов системных событий, полученных от syslog, при помощи веб-браузера.

Rsyslog – это приложение, представляющее собой расширение стандартного демона syslog , одной из особенностью которого является возможность сохранять события в БД MySQL .

При помощи двух этих программ, можно создать централизованный сервер логов, где можно будет просматривать все события от различных устройств в сети, с удобным архивированным поиском событий на всех сетевых устройствах в сети. В данной статье будет описана процедура установки на Linux CentOS ( как установить Centos ? ) службы Rsyslog (сбор событий s yslog ) и LogAnalyzer (предоставляет отличный интерфейс для просмотра и поиска по собранным логам).

Сначала необходимо установить ряд дополнительных пакетов RPM. Т.к. службы LogAnalyzer , Rsyslog и MySQL будут работать на одном сервере, нужно установить следующие пакеты:

# yum install httpd php mysql php-mysql mysql-server wget rsyslog rsyslog-mysql

Теперь нужно удостоверится, что MySQL и Apache настроены на автоматический запуск, после чего запустим их:

# chkconfig mysqld on # chkconfig httpd on # service mysqld start # service httpd start

По умолчанию, пользователь root БД MySQL , имеет пустой пароль, поэтому следует обезопасить конфигурацию, задав новый пароль:

# mysqladmin - u root password NewPassword

Далее импортируем схему базы данных rsyslog в MySQL . В зависимости от версии rsyslog , измените путь к файлу “ createDB.sql ”.

Рекомендуется ограничение доступа приложений к базе данных, поэтому мы создадим специального пользователя для доступа к БД rsyslog . Для ещё большего затягивания настроек безопасности, можно создать отдельные учетные записи для rsyslog и LogAnalyzer . Необходимо предоставить доступ пользователя rsyslog к базе MySQL только с локального интерфейса localhost . Также мы должны выполнить MySQL команду “ flush privileges ” для немедленного применения всех прав.

# mysql - u root - p mysql mysql> GRANT ALL ON Syslog.* TO rsyslog@localhost IDENTIFIED BY 'Password'; mysql> flush privileges; mysql> exit

Теперь пора перейти к редактированию файла” /etc/rsyslog.conf ”. Здесь нужно настроить пересылку сообщений syslog в базу данных MySQL . Первая команда загружает драйвер MySQL . Во второй строке мы говорим, что необходимо принимать логи любого уровня важности от “ authpriv ”, куда включены большинство важных сообщений. Если необходимо сохранять все системные сообщения в MySQL , нужно указать *.*. Мой сервер БД MySQL слушает на адресе 127.0.0.1, Syslog – это имя базы MySQL, и, наконец, указываем имя и пароль MySQL пользователя rsyslog . Здесь можно настроить сбор и запись любых сообщений, каждую комбинацию нужно отделять «;» (например, mail.*;authpriv.* : ommysql…).

$ModLoad ommysql authpriv.* : ommysql:127.0.0.1,Syslog,rsyslog,Password

Теперь нам нужно выключить существующую службу syslog и включить rsyslog :

# chkconfig syslog off # service syslog stop # chkconfig rsyslog on # service rsyslog start

Настала пора скачать LogAnalyzer . Последнюю версию можно найти тут: http://loganalyzer.adiscon.com/downloads.

Читайте также:  Arch linux arm none eabi

Или скачать LogAnalyzer прямо с Linux сервера (должен быть установлен wget ):

# cd ~ # wget http://download.adiscon.com/loganalyzer/loganalyzer-3.0.0.tar.gz

Распакуем файлы LogAnalyzer :

# tar zxvf loganalyzer-3.0.0.tar.gz

Теперь нужно скопировать файлы LogAnalyzer в каталог веб-сервера Apache (стандартный конфиг).

# mv loganalyzer-3.0.0/src /var/www/html/loganalyzer # mv loganalyzer-3.0.0/contrib/* /var/www/html/loganalyzer/

Перейдем в созданный каталог LogAnalyzer , запустим скрипт configure.sh . В результате создастся пустой файл конигурации config.php , который наполнится в следующих шагах.

# cd /var/www/html/loganalyzer # chmod u+x configure.sh secure.sh # ./configure.sh

Настраиваем LogAnalyser

Для дальнейшей настройки LogAnalyzer нам понадобится веб-браузер. В любимом интернет-браузере наберите http://web1/loganalyzer. (web1 – имя нашего web1 сервера, loganalyzer – каталог apache)

1

В середине окна выберем ссылку “Click here to Install” и далее кнопку «Next».

2

Настроим параметры отображения журналов и опять нажмем «Next».

3

Теперь нужно указать адрес сервера с базой данных, имя пользователя и пароль для доступа к ней (БД называется rsyslog ). Нажав кнопку «Next», видим результат проверки правильности введенных данных и корректность подключения.

4

5

В том случае, если все настроено правильно, должна открыться главная страница LogAnalyzer , на которой по мере получения будут отображаться логи. Т.к. в настройках стоят — логирование событий типа “ authpriv ”, это означает, что в лог будут попадать такие события, как вход/выход пользователя, или же вызов команды переключения пользователя ( su ).

Настройка Rsyslog для удаленного сбора логов

Теперь, когда нам есть чем обрабатывать логи, можно переходить к настройке службы rsyslog для сбора, непосредственно, самих событий syslog с различных сетевых устройств. Сначала необходимо сконфигурировать сетевой экран, чтобы он пропускал входящий трафик по 514 порту. Можно добавить два правила, разрешающих как TCP , так и UDP трафик. По умолчанию syslog принимает только сообщения, отправленные по порту 514 UDP , однако в rsyslog добавлена возможность принимать и TCP трафик. Добавьте в файл “ /etc/sysconfig/iptables ” следующие правила:

-A RH-Firewall-1-INPUT - p udp - m udp --dport 514 - j ACCEPT
-A RH-Firewall-1-INPUT - p tcp - m tcp --dport 514 - j ACCEPT

Теперь нужно настроить rsyslog для приема входящих сообщений syslog . Настраиваем прием сообщений по TCP/ UDP от localhost и всех хостов в подсети 192.168.20.0. В файл “ /etc/rsyslog.conf ” нужно добавить следующие строки (перед стройкой, где настраивалась связь с базой MySQL ).

$AllowedSender UDP, 127.0.0.1, 192.168.20.0/24
$AllowedSender TCP, 127.0.0.1, 192.168.20.0/24

Не забудьте перезапустить службу rsyslog на центральном сервере ведения логов:

Следующий этап – настройка удаленных клиентов для отправки событий на центральный сервер rsyslog . Если на клиенте запущен rsyslog , в файл “ /etc/rsyslog.conf ” необходимо добавить, например, следующую строку:

Перезапускаем сервер rsyslog на клиенте и пробуем зайти/выйти на данную систему. Если мы ничего не упустили, на веб странице LogAnalyzer появится соответствующее событие!

Читайте также:  Virtual devices in linux

Сервер логирования готов к работе!

Источник

Сервер централизованного логирования на Linux CentOS при помощи Rsyslog и LogAnalyzer

date

17.09.2019

user

itpro

directory

Linux

comments

Один комментарий

LogAnalyzer – это web приложение, которое предназначено для просмотра логов системных событий, полученных от syslog, при помощи веб-браузера. Rsyslog – это приложение, представляющее собой расширение стандартного демона syslog, одной из особенностью которого является возможность сохранять события в БД MySQL. При помощи этих двух замечательных программ, возможно создать централизованный сервер, куда будут перенаправляться все события от различных устройств в сети, который бы реализовывал функции по удобному архивированию и поиску событий по всем событиям на всех сетевых устройствах в периметре сети. В данной статье я опишу процедуру установки на Linux CentOS службы rsyslog (сбор и агрегирование событий syslog) и LogAnalyzer (предоставляет дружественный интерфейс для просмотра и поиска по собранным логам).

Сначал необходимо установить ряд дополнительных пакетов RPM. Т.к. службы LogAnalyzer, Rsyslog и MySQL будут работать на одном сервере, нужно установить следующие пакеты с помощью yum:

# yum install httpd php mysql php-mysql mysql-server wget rsyslog rsyslog-mysql

Теперь нужно удостоверится, что MySQL и Apache настроены на автоматический запуск, после чего запустим их:

# chkconfig mysqld on # chkconfig httpd on # service mysqld start # service httpd start

По умолчанию, пользователь root БД MySQL, имеет пустой пароль, поэтому следует обезопасить конфигурацию, задав новый пароль:

# mysqladmin - u root password NewPassword

Далее импортируем схему базы данных rsyslog в MySQL. В зависимости от версии rsyslog, измените путь к файлу “createDB.sql”.

Хорошим тоном считается ограничение доступа приложений к базе данных, поэтому мы создадим специального пользователя для доступа к БД rsyslog. Для ещё большего затягивания настроек безопасности, можно создать отдельные учетные записи для rsyslog и LogAnalyzer. Необходимо предоставить доступ пользователя rsyslog к базе MySQL только с локального интерфейса localhost. Также мы должны выполнить MySQL команду “flush privileges” для немедленного применения всех прав.

# mysql - u root - p mysql mysql> GRANT ALL ON Syslog.* TO [email protected] IDENTIFIED BY 'Password'; mysql> flush privileges; mysql> exit

Теперь пора перейти к редактированию файла”/etc/rsyslog.conf”. Здесь мы должны настроить пересылку сообщений syslog в базу данных MySQL. Первая команда загружает драйвер MySQL. Во второй строке мы говорим, что необходимо принимать логи любого уровня важности от “authpriv”, куда включены большинство важных сообщений. Если необходимо сохранять все системные сообщения в MySQL, нужно указать *.*. Мой сервер БД MySQL слушает на адресе 127.0.0.1, Syslog – это имя базы MySQL, и, наконец, указываем имя и пароль MySQL пользователя rsyslog. Здесь можно настроить сбор и запись любых сообщений, каждую комбинацию нужно отделять «;» (например, mail.*;authpriv.* : ommysql…).

$ModLoad ommysql authpriv.* : ommysql:127.0.0.1,Syslog,rsyslog,Password

Сейчас нужно выключить существующую службу syslog и включить rsyslog:

# chkconfig syslog off # service syslog stop # chkconfig rsyslog on # service rsyslog start

Настала пора скачать LogAnalyzer. Последнюю версию можно найти тут: http://loganalyzer.adiscon.com/downloads.

Читайте также:  Queue depth in linux

Или скачать LogAnalyzer прямо с Linux сервера (должен быть установлен wget):

# cd ~ # wget http://download.adiscon.com/loganalyzer/loganalyzer-3.0.0.tar.gz

Распакуем файлы LogAnalyzer:

# tar zxvf loganalyzer-3.0.0.tar.gz

Теперь нужно скопировать файлы LogAnalyzer в каталог веб-сервера Apache (стандартный конфиг).

# mv loganalyzer-3.0.0/src /var/www/html/loganalyzer # mv loganalyzer-3.0.0/contrib/* /var/www/html/loganalyzer/

Перейдите в созданный каталог LogAnalyzer, запустите скрипт configure.sh. В результате создастся пустой файл конигурации config.php, который наполнится в следующих шагах.

# cd /var/www/html/loganalyzer # chmod u+x configure.sh secure.sh # ./configure.sh

Для дальнейшей настройки LogAnalyzer нам понадобится веб-браузер. В любимом интернет-браузере наберите http://web1/loganalyzer. (web1 – имя нашего web1 сервера, loganalyzer – каталог apache)

В середине окна выберите ссылку “Click here to Install”.

Настройте параметры отображения журналов и опять нажмите Next.

Теперь нужно указать адрес сервера с базой данных, имя пользователя и пароль для доступа к ней (если вы не забыли БД называется rsyslog). Нажав кнопку Next, вы увидите результат проверки правильности введенных данных и корректность подключения.

В том случае, если вы настроили все правильно, перед вами появится главная страница LogAnalyzer, на которой по мере получения будут отображаться логи. Можете попробовать сгенерировать различные системные события и посмотреть что будет происходить на страничке LogAnalyzer. Т.к. я настроил логирование событий типа “authpriv”, это означает, что в лог будут попадать такие события, как вход/выход пользователя, или же вызов команды переключения пользователя (su).

Настройка Rsyslog для удаленного сбора логов

Следующий шаг – настройка службы rsyslog для сбора событий syslog с различных сетевых устройств. Сначала необходимо сконфигурировать сетевой экран iptables, чтобы он пропускал входящий трафик по 514 порту. Я добавлю два правила, разрешающих как TCP, так и UDP трафик. По умолчанию syslog принимает только сообщения, отправленные по порту 514 UDP, однако в rsyslog добавлена возможность принимать и TCP трафик. Добавьте в файл “/etc/sysconfig/iptables” следующие правила:

-A RH-Firewall-1-INPUT - p udp - m udp --dport 514 - j ACCEPT
-A RH-Firewall-1-INPUT - p tcp - m tcp --dport 514 - j ACCEPT

Теперь нужно настроить rsyslog для приема входящих сообщений syslog. Я настрою прием сообщений по TCP/ UDP от localhost и всех хостов в подсети 192.168.1.0. В файл “/etc/rsyslog.conf” нужно добавить следующие строки (перед стройкой, где настраивалась связь с базой MySQL).

$AllowedSender UDP, 127.0.0.1, 192.168.1.0/24
$AllowedSender TCP, 127.0.0.1, 192.168.1.0/24

Не забудьте перезапустить службу rsyslog на центральном сервере ведения логов:

Следующий этап – настройка удаленных клиентов для отправки событий на центральный сервер rsyslog. Если на клиенте запущен rsyslog, в файл “/etc/rsyslog.conf” необходимо добавить, например, следующую строку:

Перезапустите сервер rsyslog на клиенте и попробуйте зайти/выйти на данную систему. Если вы ничего не упустили, на веб странице LogAnalyzer появится соответствующее событие!

Также рекомендую познакомится со статьей об организации центрального сервера логов на базе Windows Server 2008

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

Оцените статью
Adblock
detector