Collectd-web – это веб-инструмент мониторинга на основе RRDtool (Round-Robin Database Tool), который интерпретирует и графически отображает данные, собранные службой Collectd на системах Linux.
Collectd по умолчанию поставляется с огромным набором доступных плагинов в свой конфигурационный файл по умолчанию, некоторые из них, по умолчанию, уже активированы после установки программного обеспечения.
Сценарии Collectd-web CGI, которые интерпретируют и генерируют статистическую html-страницу, могут быть просто выполнены шлюзом Apache CGI с минимальными настройками, требуемыми на стороне веб-сервера Apache.
Однако графический веб-интерфейс с сгенерированной статистикой также может быть выполнен автономным веб-сервером, предлагаемым сценарием Python CGIHTTPServer, который поставляется предустановленным с основным хранилищем Git.
Этот учебник охватит процесс установки службы Collectd и интерфейса Collectd-web на системах на основе RHEL/CentOS/Fedora и Ubuntu/Debian с минимальными настройками, необходимыми для запуска служб и активации плагина службы Collectd.
Пожалуйста, ознакомьтесь с следующими статьями серии collectd.
Шаг 1: – Установить службу Collectd
1. В основном задачей демона Collectd является сбор и хранение статистических данных о системе, на которой он работает. Пакет Collectd можно загрузить и установить из репозиториев по умолчанию, основанных на Debian, выполнив следующую команду:
На Ubuntu/Debian
# apt-get install collectd [On Debian based Systems]

На RHEL/CentOS 6.x/5.x
На старых системах, основанных на RedHat, таких как CentOS/Fedora, сначала вам нужно включить репозиторий epel на вашей системе, затем вы сможете установить пакет collectd из репозитория epel.
# yum install collectd
На RHEL/CentOS 7.x
На последней версии RHEL/CentOS 7.x вы можете установить и включить репозиторий epel из репозиториев yum по умолчанию, как показано ниже.
# yum install epel-release # yum install collectd

Примечание: Для пользователей Fedora нет необходимости включать какие-либо сторонние репозитории, просто используйте yum для получения пакета collectd из репозиториев yum по умолчанию.
2. После установки пакета на вашу систему выполните следующую команду, чтобы запустить службу.
# service collectd start [On Debian based Systems] # service collectd start [On RHEL/CentOS 6.x/5.x Systems] # systemctl start collectd.service [On RHEL/CentOS 7.x Systems]
Шаг 2: Установка Collectd-Web и зависимостей
3. Прежде чем начать импорт репозитория Git Collectd-web, сначала убедитесь, что установлен пакет программного обеспечения Git и следующие необходимые зависимости на вашем компьютере:
----------------- On Debian / Ubuntu systems ----------------- # apt-get install git # apt-get install librrds-perl libjson-perl libhtml-parser-perl

----------------- On RedHat/CentOS/Fedora based systems ----------------- # yum install git # yum install rrdtool rrdtool-devel rrdtool-perl perl-HTML-Parser perl-JSON

Шаг 3: Импорт репозитория Git Collectd-Web и изменение автономного сервера Python
4. На следующем шаге выберите и измените каталог на системный путь из иерархии дерева Linux, куда вы хотите импортировать проект Git (вы можете использовать путь /usr/local/
), затем выполните следующую команду для клонирования репозитория Git Collectd-web:
# cd /usr/local/ # git clone https://github.com/httpdss/collectd-web.git

5. После импорта репозитория Git на вашу систему, перейдите в каталог collectd-web и выведите его содержимое, чтобы определить скрипт Python сервера (runserver.py
), который будет изменен на следующем шаге. Также добавьте права выполнения для следующего CGI-скрипта: graphdefs.cgi
.
# cd collectd-web/ # ls # chmod +x cgi-bin/graphdefs.cgi

6. Стандальный Python серверный скрипт Collectd-web настроен по умолчанию на запуск и привязку только к адресу loopback (127.0.0.1).
Для доступа к интерфейсу Collectd-web из удаленного браузера вам необходимо отредактировать скрипт runserver.py
и изменить IP-адрес 127.0.1.1 на 0.0.0.0, чтобы привязаться ко всем IP-адресам сетевых интерфейсов.
Если вы хотите привязаться только к определенному интерфейсу, то используйте IP-адрес этого интерфейса (не рекомендуется использовать эту опцию, если IP-адрес сетевого интерфейса динамически выделяется DHCP-сервером). Используйте ниже приведенный скриншот в качестве отрывка о том, как должен выглядеть окончательный скрипт runserver.py
:
# nano runserver.py

Если вы хотите использовать другой сетевой порт, чем 8888, измените значение переменной PORT.
Шаг 4: Запустите Python CGI Standalone Server и просмотрите интерфейс Collectd-web
7. После того, как вы изменили привязку IP-адреса в автономном серверном скрипте Python, запустите сервер в фоновом режиме, выполнив следующую команду:
# ./runserver.py &
По желанию, в качестве альтернативного метода вы можете вызвать интерпретатор Python для запуска сервера:
# python runserver.py &

Source:
https://www.tecmint.com/install-collectd-and-collectd-web-to-monitor-server-resources-in-linux/