Мониторинг сервера под centos и ubuntu

monitoring.png Захотелось мне отслеживать загрузку CPU и памяти на сервере, причем хочу это все видеть красиво: с цветными графиками за определенный период и циферками разными. И еще один критерий отбора — что-бы ставилось быстро и не пришлось долго играться с бубном, мне то надо просто увидеть график и если что-то не так то тогда принимать действия.

Выбор пал на 4 кандидата:

nagios

nagios довольно таки часто освещают в блогах и других обзорных сайтах, потому начал знакомится с темой с него. Из коробки он не умеет показывать графики и, как я понял, надо доставлять отдельно плагины для этого, потому я отказался пока от него. Приведу только ссылки которые собрал на просторах инета:

UPD 15.05.2010 NagiosGrapher - постройка графиков в Nagios.

munin

На данном этапе для меня подходящим решением оказался munin — завелся быстро, через 5 мин. собрались данные о ресурсах сервера и отобразились на графиках — то что я и хотел. Умеет мониторить: работу дисков, сети, процессов, почты, температуру, CPU, память, swap и т. д. мне все этого и не надо, но приятно что есть и можно наблюдать как оно работает.

Для отрисовки графиков используется RRDTool, написан на perl и есть поддержка плагинов. Работает munin по прицепу клиент-сервер, где сервер коннектится с определенной периодичностью к узлам и собирает данные.

cpu-day.png

Демки с примерами работы можно посмотреть тут.

Здесь я опишу как я ставил 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/.htpasswd

require valid-user

Создаем пользователя и пароль:

htpasswd -c /var/www/proft.com.ua/httpdocs/.htpasswd user_name

Дополнительное чтиво:

Сейчас работа munin меня вполне удовлетворяет, но так как у нас остались еще два кандидата то я просто приведу ссылки, которые описывают их установку.

Кстати, один хороший админ из известной хостинговой компании в Украине рассказал, что они чаще используют cacti или zabbix, но мне сейчас вполне хватает munin ;).

cacti

zabbix

Дополнительное чтиво:

blog comments powered by Disqus