Поскольку я включил журналы mariadb для всех запросов на моем сервере, использование Netdata каждую секунду показывает мне следующие запросы:
SHOW GLOBAL VARIABLES LIKE 'max_connections'
11 Query SHOW GLOBAL STATUS
11 Query commit
Я должен сказать, что это не помогает мне вкладывать средства в то, что происходит на сервере, потому что это загрязнение моих журналов.
Есть ли способ избежать записи такого рода запросов каждую секунду?
Хотя, вероятно, разумнее указать точную проблему с вашей базой данных вместо того, чтобы пытаться очистить журнал (я бы предложил использовать для этого grep или sed). Но вот изощренное решение, которое решит вашу проблему с журналированием раз и навсегда.
Мы будем перенаправлять журналы mysql в канал fifo, который будет прочитан и отфильтрован syslog-ng.
Чтобы сделать которые переходят в папку, где хранится файл общего журнала, удалите / переименуйте исходный журнал и создайте на его месте канал fifo с помощью команды:
mkfifo mysql-general.log
проверьте свой my.cnf, который должен указывать на этот файл:
[mysqld]
general-log-file = /path/to/your/log/mysql-general.log
Затем настройте свой /etc/syslog-ng/syslog-ng.conf
( centos 7 фактически потребует сначала установить его ), чтобы читать канал FIFO и фильтровать его по мере необходимости. при записи результата в окончательный файл ..
Вот пример конфигурации, которая соответствует вашим потребностям:
source s_mysql_general_log { pipe("/path/to/your/log/mysql-general.log" program_override("mysql-general-log")); };
filter f_mysql_general_log { not match("^SHOW GLOBAL VARIABLES LIKE 'max_connections'") and not match("^11 Query SHOW GLOBAL STATUS") and not match("^11 Query commit"); };
destination d_mysql_general_log { file("/var/log/mysql-general.log"); }
log { source(s_mysql_general_log); filter(f_mysql_general_log); destination(d_mysql_general_log); flags(final); };
В результате вы получите файл /var/log/mysql-general.log
, без вопросов, которые вам не нравятся ...
Я постараюсь опубликовать версию этого решения только для systemd чуть позже