collectd + front-end

от автора

Как показывает практика — бoльшая часть клиентов никак не мониторит используемые ресурсы, арендуемых ими услуг (особенно это заметно на дешевых услугах VPS от 3$).То есть, после установки системы и настройки необходимого для проекта софта, дальнейшая судьба сервера отдается на откуп случаю. И, когда появляются проблемы с работоспособностью сервера, информации для анализа не слишком много.

Кроме установленного и настроенного логирования в atop (который так же встречается не часто), логов системы, хотелось бы иметь больше информации с которой можно работать.

В данной статье будет описана процедура установки и настройки collectd и collectd-web на примере ОС семейства Debian.

Немного общей информации.

Collectd — легковесный демон, который собирает статистику по использованию ресурсов (и не только), и складывает информацию в формате rrd. По сути, сам collectd только собирает статистику, для просмотра и анализа собранной информации нужно устанавливать web интерфейс. Полный список front-end’ов для collectd можно посмотреть тут.

Большим плюсом является то что для collectd существует большое множество плагинов, под различные задачи.

Стоит учесть что collectd умеет настройку «мастер сервер и ноды» — данные с наблюдаемых серверов отсылаются на мастер, который их хранит и отрисовывает графики.

Стоит учесть что разные web-интерфейсы реализованы на разных фреймворках. В зависимости от Ваших пристрастий и софта, установленного для проекта, можно выбрать наиболее оптимальный для себя вариант.

Сам процесс установки

Обновим список пакетов, доступных в репозиториях.

# apt-get update  

Устанавливаем сам collectd.

# apt-get install collectd 

Запускаем collectd после установки.

# service collectd start 

Collectd установлен и запущен, теперь переходим к установке веб интерфейса.

Для начала стоит установить git.

# apt-get install git 

Устанавливаем необходимые модули.

# apt-get install librrds-perl libjson-perl libhtml-parser-perl 

Ставим веб сервер.

# apt-get install apache2 

После установки apache переходим в дефолтную директорию его виртуалхоста.

# cd /var/www/html 

Приступаем к установке самого web-интерфейс.

# git clone https://github.com/httpdss/collectd-web.git # chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi 

Для запуска cgi скриптов collect-web, расположенных по дефолтному пути (в данном случае — /var/www/html/collectd-web/), нужно явно указать в конфиге. Редактируем дефолтный конфиг виртуалхоста.

# nano /etc/apache2/sites-available/000-default.conf 

Добавляем данный блок после строки с директивой DocumentRoot.

<Directory /var/www/html/collectd-web/cgi-bin>                 Options Indexes ExecCGI                 AllowOverride All                 AddHandler cgi-script .cgi                 Require all granted </Directory>     

Включаем apache CGI модуль.

# a2enmod cgi cgid 

Перегружаем веб сервер для вступления изменений в силу.

# service apache2 restart 

Теперь collectd доступен извне по web.
http://xxx.xxx.xxx.xxx/collectd-web/

Выставлять его в таком виде в мир — плохая идея, нужно ограничить доступ к нему.
Можно воспользоваться штатными утилитами apache — htpasswd.

Для начала устанавливаем их, если они не подтянулись при установке веб сервера.

# apt-get install apache2-utils  

Генерируем файл с паролями.

# htpasswd -c /var/www/html/collectd-web/.htpasswd  username New password:  Re-type new password:  Adding password for user username 

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

# nano /etc/apache2/sites-enabled/000-default.conf  

Добавляем еще блок.

<Directory /var/www/html/collectd-web >                 AuthType Basic                 AuthName "Collectd Restricted Page"                 AuthBasicProvider file                 AuthUserFile /var/www/html/collectd-web/.htpasswd                 Require valid-user </Directory> 

Выходим ctrl + x, на вопрос сохранить ли изменения отвечаем yes + enter.

Дергаем apache для того, чтобы изменения вступили в силу.

# service apache2 restart 

Проверяем, что нигде не ошиблись, и наш collectd теперь не пускает кого попало.

Готово, теперь в случае проблем с сервером или избытка свободного времени и отсутствия планов, Вы можете открыть collectd-web, проанализировать используемые ресурсы сервера, возможные узкие места и оценить тенденцию роста.

Ну или просто можно будет полюбоваться красивыми графиками.

ссылка на оригинал статьи http://habrahabr.ru/post/272447/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *