Запись логов в MySQL
Взаимодействие с MySQL в RSyslog осуществляется через загружаемый модуль "ommysql". Прежде чем использовать данный плагин, нужно проверить его наличие в системе:
Если его нет, то устанавливаем:
Переходим к конфигурации rsyslog-а (/etc/rsyslog.conf).
Указываем rsyslog-у на то что необходимо загрузить нужный нам модуль:
Для других баз данных необходимо использовать другие плагины (например, ompgsql для PostgreSQL).
Далее указываем шаблон, который является запросом SQL, о чём мы указываем опцией шаблона "sql":
Далее указываем что мы хотим записывать и куда:
где:
- dbserver
- IP-адрес, либо доменное имя сервера, на котором запущен MySQL-сервер
- dbname
- имя БД, в таблицу(цы) которой будут записываться логи
- dbuserid
- имя пользователя БД, от которого будет идти запись
- dbpassword
- пароль пользователя "dbuserid"
Перезагружаем rsyslog, лезем в MySQL и наслаждаемся результатом:
Если вдруг результат оставляет желать лучшего, то лезем в лог rsyslog-а (/var/log/syslog) и смотрим выдаваемые им ошибки:
- не установлен пакет rsyslog-mysql
... rsyslogd: could not load module '/usr/lib/rsyslog/ommysql.so', dlopen: /usr/lib/rsyslog/ommysql.so: cannot open shared object file: No such file or directory
- в шаблоне не указана опция "sql"
... rsyslogd: Action disabled. To use this action, you have to specify the SQL or stdSQL option in your template!
- в селекторе не указан шаблон