Este tutorial discutirá como você pode instalar e executar a interface Collectd-web, que é uma ferramenta de monitoramento web de front-end para o daemon Collectd, em conjunto com a interface Apache CGI para produzir saídas html gráficas a fim de monitorar caixas Linux.

No final do artigo, também apresentaremos como você pode proteger a interface Collectd-web usando o mecanismo de Autenticação do Apache .hpasswd.
Requisitos
O requisito deste artigo é que você deve ter o Collectd e o Collectd-Web instalados em seu sistema Linux. Para instalar esses pacotes, você deve seguir os Passos #1 e #2 do artigo anterior desta série em:
Siga apenas os dois passos a seguir no link acima:
Step 1: Install Collectd Service Step 2: Install Collectd-Web and Dependencies
Uma vez que essas duas coisas necessárias forem concluídas com sucesso, você pode continuar com as instruções adicionais neste artigo para configurar o Collectd-web com o Apache CGI.
Passo 1: Instalando o Servidor Web Apache
1. Supondo que você já tenha instalado o servidor web Apache em seu sistema, se não tiver, você pode instalar usando o seguinte comando de acordo com a distribuição Linux que você está utilizando.
# apt-get install apache2 [On Debian based Systems] # yum install httpd [On RedHat based Systems]
2. Depois de instalar o Apache, altere o diretório para a raiz do documento do servidor web padrão (que está localizado em /var/www/html/ ou /var/www e clone o projeto Collectd-web Github emitindo os comandos abaixo:
# cd /var/www/html # git clone https://github.com/httpdss/collectd-web.git
Também, torne o script Collectd-web executável emitindo o seguinte comando:
# chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
Passo 2: Habilitar o CGI do Apache (scripts .cgi) para o Host Padrão
3. Para que o Apache execute os scripts CGI localizados no diretório cgi-bin HTML do host padrão Collectd-web, você precisa habilitar explicitamente a interface CGI do Apache para scripts Bash (com extensão .cgi) alterando o arquivo de configuração do host padrão sites-available e adicionando o bloco de declarações abaixo.
Em Sistemas Debian
Primeiro, abra o arquivo de configuração do host padrão do Apache para edição com o editor nano:
# nano /etc/apache2/sites-available/000-default.conf
Enquanto o arquivo estiver aberto para edição, adicione o seguinte bloco de diretivas abaixo da diretiva Document Root conforme ilustrado na imagem abaixo:
<Directory /var/www/html/collectd-web/cgi-bin> Options Indexes ExecCGI AllowOverride All AddHandler cgi-script .cgi Require all granted </Directory>

Depois de terminar a edição do arquivo, feche-o com CTRL + o e saia do editor nano (CTRL+x), em seguida, habilite o módulo CGI do Apache e reinicie o servidor para aplicar todas as alterações feitas até agora emitindo os comandos abaixo:
# a2enmod cgi cgid # service apache2 restart OR # systemctl restart apache2.service [For systemd init scripts]

Em Sistemas RedHat
4. Para habilitar a interface CGI do Apache para CentOS/RHEL, abra o arquivo de configuração do Apache httpd.conf e adicione as seguintes linhas ao final do arquivo:
# nano /etc/httpd/conf/httpd.conf
Adicione o seguinte trecho ao arquivo httpd.conf.
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin" Options FollowSymLinks ExecCGI AddHandler cgi-script .cgi .pl
Para aplicar as alterações, reinicie o daemon httpd emitindo o seguinte comando:
# service httpd restart OR # systemctl restart httpd [For systemd init scripts]
Passo 3: Navegue na Interface do Collectd-web
5. Para visitar a interface do Collectd-web e visualizar estatísticas sobre sua máquina coletadas até agora, abra um navegador e acesse o local URI do seu IP da máquina /collectd-web/ utilizando o protocolo HTTP.
http://192.168.1.211/collect-web/

Passo 4: Proteja a URL do Collectd-web com Autenticação Apache
6. Caso deseje limitar o acesso à interface do Collectd-web protegendo-a com o mecanismo de Autenticação Apache (.htpasswd), que requer que os visitantes insiram um nome de usuário e uma senha para acessar um recurso da web.
Para fazer isso, você precisa instalar o pacote apache2-utils e criar um conjunto de credenciais para autenticação local. Para alcançar esse objetivo, primeiro emita o seguinte comando para instalar o pacote apache2-utils:
# apt-get install apache2-utils [On Debian based Systems] # yum install httpd-tools [On RedHat based Systems]
7. Em seguida, gere um nome de usuário e uma senha que serão armazenados em um arquivo local oculto .htpass localizado no caminho padrão do host Apache Collectd-web emitindo o comando abaixo:
# htpasswd -c /var/www/html/collectd-web/.htpass your_username
Tente proteger esse arquivo atribuindo as seguintes permissões:
# chmod 700 /var/www/html/collectd-web/.htpass # chown www-data /var/www/html/collectd-web/.htpass
8. No próximo passo, depois de ter gerado o arquivo .htpass, abra o host padrão do Apache para edição e instrua o servidor a usar a autenticação básica do servidor htpasswd adicionando o seguinte bloco de diretivas conforme ilustrado na captura de tela abaixo:
<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. O último passo para refletir as mudanças é reiniciar o servidor Apache emitindo o comando abaixo e visitar a página de URL Coollectd-web conforme descrito acima.
A pop-up should appear on the web page requesting for your authentication credentials. Use the username and password created earlier to access Collectd web interface.
# 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


Source:
https://www.tecmint.com/monitor-linux-server-resources-with-collectd-web-and-apache-cgi/