Захотелось мне отслеживать загрузку CPU и памяти на сервере, причем хочу это все видеть красиво: с цветными графиками за определенный период и циферками разными. И еще один критерий отбора — что-бы ставилось быстро и не пришлось долго играться с бубном, мне то надо просто увидеть график и если что-то не так то тогда принимать действия.
Выбор пал на 4 кандидата:
nagios
nagios довольно таки часто освещают в блогах и других обзорных сайтах, потому начал знакомится с темой с него. Из коробки он не умеет показывать графики и, как я понял, надо доставлять отдельно плагины для этого, потому я отказался пока от него. Приведу только ссылки которые собрал на просторах инета:
UPD 15.05.2010 NagiosGrapher - постройка графиков в Nagios.
munin
На данном этапе для меня подходящим решением оказался munin — завелся быстро, через 5 мин. собрались данные о ресурсах сервера и отобразились на графиках — то что я и хотел. Умеет мониторить: работу дисков, сети, процессов, почты, температуру, CPU, память, swap и т. д. мне все этого и не надо, но приятно что есть и можно наблюдать как оно работает.
Для отрисовки графиков используется RRDTool, написан на perl и есть поддержка плагинов. Работает munin по прицепу клиент-сервер, где сервер коннектится с определенной периодичностью к узлам и собирает данные.
Демки с примерами работы можно посмотреть тут.
Здесь я опишу как я ставил munin под Centos 5.3.
Для установки munin нам понадобится репозитарий RPMforge:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Устанавливаем сервер и клиент:
yum install munin munin-node
Т. к. отслеживаемый узел будет жить там же где и сервер, то добавляем его в загрузку и запускаем:
chkconfig --levels 235 munin-node on /etc/init.d/munin-node start
Теперь серверной части надо указать откуда брать данные и куда ложить, для этого следует отредактировать файл /etc/munin/munin.conf
dbdir /var/lib/munin htmldir /var/www/proft.com.ua/httpdocs logdir /var/log/munin rundir /var/run/munin tmpldir /etc/munin/templates [proft.com.ua] address 127.0.0.1 use_node_name yes
Если эти строки закоментированы, то раскомментируйте их и подправьте значения для htmldir, сюда будут слаживаться результаты собранной статистики. Для того что-бы увидеть результаты пропишите для поддомена этот путь или слаживайте результаты в какую либо папку, видную из интернета. Также подправьте имя узла, которое будет отображаться на странице мониторинга, в моем случае это proft.com.ua.
Для этой папки, указанной в htmldir, нужно установить владельца munin, иначе он не сможет складывать результаты в эту папку.
chown munin:munin /var/www/proft.com.ua/httpdocs
Еще надо добавить пользователя apache в группу munin, иначе на странице будет отображаться Forbidden access, для этого надо подправить файл /etc/group и изменить строчку с группой munin на такую:
munin:x:112:apache
Еще под настроем клиента, в файле /etc/munin/munin-node.conf укажем где у нас находится сервер
host 127.0.0.1
после этого заставляем сервис обновить данные
/etc/init.d/munin-node restart
Все, теперь можете заходить на адрес который вы выбрали и любоваться статистикой. Но т. к. munin не защищает эту папку паролем то мы добавим авторизацию (Basic).
vim /var/www/proft.com.ua/httpdocs/.htaccess
и пишем
AuthType Basic AuthName "Members Only" AuthUserFile /var/www/proft.com.ua/httpdocs/.htpasswdrequire valid-user
Создаем пользователя и пароль:
htpasswd -c /var/www/proft.com.ua/httpdocs/.htpasswd user_name
Дополнительное чтиво:
Сейчас работа munin меня вполне удовлетворяет, но так как у нас остались еще два кандидата то я просто приведу ссылки, которые описывают их установку.
Кстати, один хороший админ из известной хостинговой компании в Украине рассказал, что они чаще используют cacti или zabbix, но мне сейчас вполне хватает munin ;).
cacti
zabbix
Дополнительное чтиво: