LINUX.ORG.RU
ФорумAdmin

Форматированная копия mysql-slow.log

 ,


0

1

Есть ли способ автоматически создавать лог копию mysql-slow.log на основании результата выполнения скрипта (awk ниже) как файл mysql-slow-format.log

Чтобы при добавлении записей в mysql-slow.log они появлялись в преобразованном виде в mysql-slow-format.log

awk ‘/^# Time:/ { getline T1; getline T2; getline T3; getline T4; print T1,T2,T3,T4;}’ /var/log/mysql/mysql-slow.log

Нужно это для того, что zabbix не позволяет используя ключ прочитать несколько строк лога, чтобы увидеть текст запроса

log[«/var/log/mysql/mysql-slow.log»,"",«UTF-8»,100,skip,,]

А передавая ключ виде как ниже, это решит проблему log[«/var/log/mysql/mysql-slow-format.log»,"",«UTF-8»,100,skip,,]

мне кажется, ты не так решаешь «проблему». почему бы тебе не ходить в базу напрямую и из процесслиста не селектить запросы по time? и сразу забирать нужные тебе поля в удобном виде?

anonymous ()

Немедленно прекрати страдать и делай как положено. Создаешь user parameter, который отдает нужное количество событий из slow log (man mysqldumpslow). Форматируешь хоть в столбик, хоть в строчку, хоть лесенкой (item preprocessing). Выводишь на screen как текст.

anonymous ()
Ответ на: комментарий от trefeeevka

На лицо высокий интеллект.

Что ты знаешь об интеллекте, полуграмотное? «На лицо» следует писать раздельно в тех случаях, когда речь идет про твою мамку, теперь-то ты запомнишь.

anonymous ()
Ответ на: комментарий от trefeeevka

В версии zabbix 3.2 есть препроцессинг?

его отсутствие никогда никому особо не мешало. Просто скрипты на bash/perl/python/etc с серверов перекочевали в js скрипты на сервере заббикса.

По варианту с дублированием логов есть решение?

придется хранить позицию, на которой остановились и отслеживать ротацию файла.

Можно попробовать заставить мускуль писать в пайп/файл, из которого будет читать скрипт и записывать переформатированный лог. Также можно попробовать прикрутить filebeat отдельно, он вроде как умеет парсить логи mysql

xgatron ()