Munin 2.0.9 на Ubuntu 12.04 lts

В прошлом посте рассказывал об установке munin и настройке мониторинга nginx, mysql и postgres с помощью PyMunin. В данной заметке речь пойдет о том, как обновить до последней версии сам munin.
Веским поводом обновления для меня послужил изменившийся интерфейс и набор дополнительных плагинов, а точнее возможность мониторить celery, mongo, passanger.

Ставить будем иэ экспериментального репозитория.

Добавляем в /etc/apt/sources.list запись:

deb http://ftp.debian.org/debian experimental main

Устанавливаем пакет из эксперементадьного репозитория:

apt-get update
apt-get -t experimental install munin

Запускаем shell perl.

perl -MCPAN -e shell

Далее с каждой из библиотек из списка ниже делаем «install»

Time::HiRes
Storable
Digest::MD5,
HTML::Template
Text::Balanced
Params::Validate
TimeDate
Net::SSLeay
Getopt::Long
File::Copy::Recursive
CGI::Fast
IO::Socket::INET6
Log::Log4perl
IPC::Shareable
Log::Dispatch
Log::Dispatch::FileRotate
MIME::Lite
Mail::Sender
Mail::Sendmail
MailTools

Выходим из shell и производим автоконфиг.

munin-node-configure --shell --families=contrib,auto | sh -x

Перезагрузка.

reboot

Наслождаемся новыми возможностями Munin.

NewRelic

Познакомился с отличной системой real time мониторинга python приложения (так же PHP, Ruby, Java и т.д.).

При разработке на Django большенство разработчиков используют django-debug-toolbar. Она является отличным инструментом. В дополнение можно использовать django-devserver вместо встроенного сервера django. С помощью devserver удобно просматривать SQL запросы при Ajax обращениях.

Но встает вопрос, что делать на продакшене? Как следить за производительностью приложения не замедляя его при этом. На данный момент лучшего решения, чем NewRelic для данных целей мне не удалось найти.

После подключения NewRelic к приложению мы сможем следить за: выполнением views в Django, запросами к базе данных, временем выполнения SQL, ошибками в разных частях проекта и многое другое.

Крупные проекты сегодня практически не обходятся без брокера сообщений для делегирования выполнения задач в фоновый режим. NewRelic позволяет следить за их работой и производительностью тоже. Например, Celery.

Кроме мониторинга самого приложения, можно следить за работой сервера.

Будем использовать.

Ссылочки по Git

С не давних пор основной системой контроля версий для меня стала git. Встал вопрос о его изучении.

Ниже приведу ресурсы, которые мне помогли:

http://habrahabr.ru/post/60347/ — отличная статья, рассказывающая о работе с git.

http://pcottle.github.com/learnGitBranching/ — великолепный, интерактивный учебник по веткам.

https://git-scm.com/book/ru/v2 -The entire Pro Git book.

http://www.vogella.com/articles/Git/article.html — исчерпывающая книга о по работе с git.

Почему Postgres часть 2 (перевод)

Продолжаем перевод статей о Postgres. Первую часть можно прочитать по ссылке. Комментарии по переводу приветствуются.

————————————————————

На прошлой неделе я опубликовал пост с перечнем множества причин в пользу использования Postgres. Я преследовал две цели:

— опровергнуть те исторические сложившиеся аргументы против Postgres, которые уже не имеют под собой оснований;
— осветить некоторые характерные особенности, редко обнаруживаемые в базах данных.

Читать далее «Почему Postgres часть 2 (перевод)»

Обновился до 12.04.2 LTS

На выходных решился обновить Ubuntu c 10.04 LTS до 12.04 LTS. Запуск процесса обновления был волнительный т.к. на сервере находятся около 10 проектов, половина из которых регулярно посещаются. Обновления прошло гладко и без каких-либо эксцессов. Разработчики Ubuntu постарались на славу.

Основные хлопоты доставили python проекты с установкой в virtualenv. Pip отказывался устанавливаться. Решение нашлось следующее:

wget http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip

Из «сладких» обновлений можно отметить:

  • Postgres 9.2
  • MariaDB 10.x
  • Munin 1.4.6
  • Python 2.7.3

Обновлением доволен. Продолжаем работать. =)

Почему Postgres часть 1 (перевод)

В последнее время встречаю много интересных статей на английском языке. Решил переводить их для тех, у кого с английским плохо. Т.к. время у разработчика обычно ограниченно, решил обратиться к знакомой за переводом. Встречайте первую совместную работу с Александрой (http://perevoding.ru/): «Why Postgres«. Периодически будем переводить статьи. Комментарии по переводу приветствуются.

Читать далее «Почему Postgres часть 1 (перевод)»

Мониторинг сервера (Munin)

Вот и настал тот момент, когда в поей профессиональной жизни понадобилось мониторить нагрузку и процессы сервера. Решений для данной задачи в интернете можно найти много: cacti, zabbix и т.д. Мой выбор остановился на Munin после прочтения статьи об архитектуре одного проекта.

Сервер ставится очень просто и дает базовую статистику работы сервера. Для того, чтобы мониторить MySQL, PosgreSQL, Nginx нужно дополнительно заниматься настройкой и установкой модулей для Munin. На помощь приходит любимый Python, на котором написан пакет с модулями. Подключаются модули к Munin в два счета.

О том, как «подрубить» PyMunin к Munin пойдет речь в данной заметке. Читать далее «Мониторинг сервера (Munin)»

Установка Java 7 для PyCharm в Ubuntu 12.04

PyCharm отличный инструмент для Python разработчиков к коим я с недавних пор отношусь. Решил попробовать Beta версию данной программы и обнаружил в ней замечательную вещь.

IDE в открытом проекте можно указать виртуальное окружение, в которое установлен Python. Она просканирует все зависимости и будет работать только в рамках виртальной среды. Красота!

Что-то я отвлекся от главной темы. При запуске PyCharm ругался на OpenJDK и требовал установить Oracle Java т.к. с ней программа, по заявлению разработчиков, работает лучше.

Как обычно пришлось провести пару часов в поиске решения, чтобы установить Java 7 под Ubuntu 12.04 т.к. Canonical исключил партнерские репозитории Java.

Итак, приступим. Читать далее «Установка Java 7 для PyCharm в Ubuntu 12.04»