Мониторинг ресурсов сервера с помощью Collectd-web и Apache CGI в Linux
В этом руководстве будет описано, как установить и запустить интерфейс Collectd-web, который представляет собой интерфейсный инструмент веб-мониторинга для демона Collectd, в сочетании с Apache CGI. интерфейс для создания графических результатов в формате HTML для мониторинга компьютеров Linux.
В конце статьи мы также представим, как можно защитить веб-интерфейс Collectd с помощью механизма аутентификации .hpasswd Apache.
Требования
Требование этой статьи: в вашей системе Linux должны быть установлены Collectd и Collectd-Web. Чтобы установить эти пакеты, необходимо выполнить шаги #1 и #2 из предыдущей статьи этой серии по адресу:
- Установите Collectd и Collectd-Web в Linux
Выполните только следующие два шага по ссылке выше:
Step 1: Install Collectd Service
Step 2: Install Collectd-Web and Dependencies
После успешного выполнения этих двух необходимых действий вы можете продолжить дальнейшие инструкции в этой статье по настройке Collectd-web с помощью Apache CGI.
Шаг 1. Установка веб-сервера Apache
1. Предполагая, что вы уже установили веб-сервер Apache в вашей системе, если нет, вы можете установить его с помощью следующей команды в соответствии с вашим дистрибутивом Linux.
apt-get install apache2 [On Debian based Systems]
yum install httpd [On RedHat based Systems]
2. После установки Apache измените каталог на корневой каталог документов веб-сервера по умолчанию (который находится в /var/www/html/ или /var/www). системный путь и клонируйте проект Collectd-web Github, выполнив следующие команды:
cd /var/www/html
git clone https://github.com/httpdss/collectd-web.git
Кроме того, сделайте исполняемым следующий скрипт Collectd-web, введя следующую команду:
chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
Шаг 2. Включите Apache CGI (скрипты .cgi) для хоста по умолчанию.
3. Чтобы Apache мог запускать сценарии CGI, расположенные в каталоге хоста HTML Collectd-web cgi-bin по умолчанию, вам необходимо явно включить интерфейс Apache CGI для сценариев Bash (с .cgi). ), изменив хост по умолчанию доступные для сайтов и добавив приведенный ниже блок операторов.
В системах Debian
Сначала откройте файл конфигурации хоста Apache по умолчанию для редактирования с помощью редактора nano:
nano /etc/apache2/sites-available/000-default.conf
Пока файл открыт для редактирования, добавьте следующий блок директив под директивой Document Root, как показано на рисунке ниже:
<Directory /var/www/html/collectd-web/cgi-bin>
Options Indexes ExecCGI
AllowOverride All
AddHandler cgi-script .cgi
Require all granted
</Directory>
Закончив редактирование файла, закройте его с помощью CTRL + o и выйдите из редактора nano (CTRL+x), затем включите модуль Apache CGI и перезапустите сервер по порядку. чтобы применить все внесенные на данный момент изменения, выполнив следующие команды:
a2enmod cgi cgid
service apache2 restart
OR
systemctl restart apache2.service [For systemd init scripts]
В системах RedHat
4. Чтобы включить интерфейс Apache CGI для CentOS/RHEL, откройте файл конфигурации httpd.conf Apache и добавьте следующие строки внизу файла:
nano /etc/httpd/conf/httpd.conf
Добавьте следующий отрывок в файл httpd.conf.
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin"
Options FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .pl
Чтобы применить изменения, перезапустите демон httpd, выполнив следующую команду:
service httpd restart
OR
systemctl restart httpd [For systemd init scripts]
Шаг 3. Просмотрите веб-интерфейс Collectd
5. Чтобы посетить интерфейс Collectd-web и просмотреть статистику о вашем компьютере, собранную на данный момент, откройте браузер и перейдите к своему компьютеру IP Address/collectd- web/ расположение URI с использованием протокола HTTP.
http://192.168.1.211/collect-web/
Шаг 4. Защита паролем URL-адреса Collectd-web с использованием аутентификации Apache
6. Если вы хотите ограничить доступ к интерфейсу Collectd-web, защитив его с помощью механизма аутентификации Apache (.htpasswd), который требует посетителей ввести имя пользователя и пароль для доступа к веб-ресурсу.
Для этого вам необходимо установить пакет apache2-utils и создать набор учетных данных для локальной аутентификации. Для достижения этой цели сначала введите следующую команду, чтобы установить пакет apache2-utils:
apt-get install apache2-utils [On Debian based Systems]
yum install httpd-tools [On RedHat based Systems]
7. Затем сгенерируйте имя пользователя и пароль, которые будут сохранены в скрытом локальном файле .htpass, расположенном на хосте Apache по умолчанию Collectd-web. путь, выполнив следующую команду:
htpasswd -c /var/www/html/collectd-web/.htpass your_username
Попробуйте защитить этот файл, назначив следующие разрешения:
chmod 700 /var/www/html/collectd-web/.htpass
chown www-data /var/www/html/collectd-web/.htpass
8. На следующем шаге, после создания файла .htpass, откройте хост Apache по умолчанию для редактирования и укажите серверу использовать htpasswd базовый. аутентификация на стороне сервера, добавив следующий блок директив, как показано на снимке экрана ниже:
<Directory /var/www/html/collectd-web >
AuthType Basic
AuthName "Collectd Restricted Page"
AuthBasicProvider file
AuthUserFile /var/www/html/collectd-web/.htpass
Require valid-user
</Directory>
9. Последний шаг для отражения изменений — перезапустить сервер Apache, введя приведенную ниже команду, и посетить URL-страницу Coollectd-web как описано выше.
На веб-странице должно появиться всплывающее окно с запросом учетных данных для аутентификации. Используйте имя пользователя и пароль, созданные ранее, для доступа к веб-интерфейсу Collectd.
service apache2 restart [On Debian based Systems]
service httpd restart [On RedHat based Systems]
OR
---------------- For systemd init scripts ----------------
systemctl restart apache2.service
systemctl restart http.service