Rsyslog – это мощный сервер управления журналами для Linux, который позволяет хранить, управлять и просматривать журналы из различных приложений. Это расширенная версия системы syslog в Linux. В этой статье мы рассмотрим, как настроить Rsyslog с MySQL сервером баз данных.
Как настроить Rsyslog с MySQL по шагам:
1. Установите Apache, MySQL и PHP
Нам нужно установить Rsyslog и MySQL, выполним следующую команду для CentOS / RHEL
# yum install mysql-server rsyslog rsyslog-mysql
И такую команду, если Вы на Debian / Ubuntu и подобных системах
# apt install mysql-server rsyslog rsyslog-mysql
Выполните следующие команды для запуска и автоматического запуска при перезагрузке системы (на всякий случай отключим стандартный syslog, если он установлен)
Для CentOS / RHEL
# service mysql start # service rsyslog start # chkconfig rsyslog on # chkconfig mysqld on # service syslog stop # chkconfig syslog off
И команды для Debian / Ubuntu совместимых систем
# service mysql start # service rsyslog start # update-rc.d rsyslog defaults # update-rc.d mysql defaults # service syslog stop # update-rc.d syslog remove
Если вы устанавливаете MySQL в первый раз, вам необходимо установить пароль root для защиты установки MySQL.
# mysqladmin -u root password 'MYSQLPASSWORD'
2. Создайте пользователя базы данных Rsyslog
Rsyslog понадобится база данных MySQL для хранения своих данных. Он уже предоставляет скрипт, который автоматически создает необходимую базу данных с таблицами для Rsyslog. Вы можете запустить его с помощью следующей команды.
# mysql -u root -p < /usr/share/doc/rsyslog-mysql-4.8.10/createDB.sql
Приведенная выше команда создаст базу данных с именем syslog. Пожалуйста, напишите имя директории rsyslog в соответствии с вашей системой. Мы использовали версию 4.8.10.
Вы можете легко найти полный путь к файлу скрипта createDB.sql, используя следующую команду
# find / -name createDB.sql
Далее создайте пользователя базы данных со следующей командой. Замените ПАРОЛЬ паролем базы данных по вашему выбору.
# mysql -u root -p mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'PASSWORD'; mysql> FLUSH PRIVILEGES; mysql> \q
3. Настройка Rsyslog с MySQL
Далее мы редактируем файл конфигурации Rsyslog и включаем модуль MySQL в Rsyslog. Мы также должны предоставить ему данные пользователя базы данных MySQL для автоматического входа в систему. Откройте файл Rsyslog в текстовом редакторе.
# vim /etc/rsyslog.conf
Добавьте к нему следующие строки (нажмите i для входа в режим правки). Замените ПАРОЛЬ паролем базы данных, который установили выше.
$ModLoad ommysql *.* :ommysql:127.0.0.1,Syslog,rsyslog,
PASSWORD
Сохраните и закройте файл (наберите 😡 а затем нажмите Enter). Перезагрузите Rsyslog с помощью MySQL.
# service rsyslog restart
Вот и все. Теперь все ваши журналы MySQL будут храниться на сервере syslog. В нашей следующей статье мы расскажем, как установить Loganalyzer с Rsyslog и MySQL, чтобы вы могли легко читать логи системы.