Мониторинг для ленивых с помощью munin на примере CentOS 5

Проблема:

нужно мониторить состояние основных параметров одного или нескольких серверов. Достаточно часто возникающая задача как мне кажется.

Предисловие:

В основу данной статьи легла эта статья на HowToForge http://www.howtoforge.com/server-monitoring-with-munin-and-monit-on-centos-5.2 и мой личный опыт настройки и работы с Munin.

Munin мониторит и создает графики по ряду критичных параметров и приложений на ваших серверах – как то Apache, MySQL, Postfix и многие другие.

Он быстро и просто настраивается, быстро расширяется плагинчиками (коих по умолчанию тоже не мало), которые можно писать и самому на удобном для вас языке (bash, perl, php, ruby… – смотря что у вас есть в распоряжении). Очень приятной особенностью munin является то, что он также быстро может быть настроен на мониторинг более чем одного сервера и даже может интегрироваться с Nagios.

Munin это конечно же не единственное решение проблемы мониторинга. Однако мне оно понравилось простотой и быстротой настройки, легкой расширяемостью – и я его применяю прямо сейчас )) Чего и вам желаю.

Основные ссылки на проект:

Решение:

Актуально для CentOS 5, но может быть адаптировано и для других Linux дистрибутивов при наличии смекалки и прямых ручонок.

Читать дальше…

Быстрая настройка ротации mysql slow log

Проблема – по умолчанию mysql не умеет и не хочет “вращать” лог медленных запросов.

Необходимые допущения:

  • MySQL работает из-под пользователя mysql (у меня по умолчанию так, скорее всего и у вас тоже)
  • Лог медленных запросов лежит тут: /var/log/mysql-slow.log

Что хотим получить

  • Еженедельную ротацию
  • Держать одновременно 3 лога (+ один текущий)
  • Сжимать gzip‘ом
  • Создавать новый лог с правами 660 в собственности mysql:mysql
  • Запустить mysqladmin flush-logs

Для достижения этого помещаем в /etc/logrotate.d/ следующий скрипт

$ vim /etc/logrotate.d/mysql-slow

Текст скрипта:

/var/log/mysql-slow.log {
    weekly
    rotate 3
    compress
    missingok
    notifempty
    sharedscripts
    create 660 mysql mysql
    postrotate
        /usr/bin/mysqladmin flush-logs
    endscript
}

Желательно предварительно протестировать на вашей конфигурации.

P.S. оригинал тут http://www.saiweb.co.uk/mysql/mysql-slow-query-log-rotation

UPD: гм. по умолчанию на моих серверах logrotate не было. Спасает

yum install logrotate