Vyhledávání na webu

Monitorujte zdroje serveru pomocí Collectd-web a Apache CGI v Linuxu


Tento tutoriál pojednává o tom, jak nainstalovat a spustit rozhraní Collectd-web, což je front-end nástroj pro monitorování webu pro démona Collectd, ve spojení s Apache CGI rozhraní za účelem vytváření grafických html výstupů za účelem monitorování linuxových boxů.

Na konci článku také představíme, jak můžete chránit webové rozhraní Collectd pomocí mechanismu .hpasswd Apache Authentication.

Požadavky

Požadavek tohoto článku je, že musíte mít na svém systému Linux nainstalované Collectd a Collectd-Web. Chcete-li nainstalovat tyto balíčky, musíte postupovat podle kroků #1 a #2 z předchozího článku této série na adrese:

  1. Nainstalujte Collected a Collectd-Web v Linuxu

Postupujte pouze podle následujících dvou kroků z výše uvedeného odkazu:


Step 1: Install Collectd Service 
Step 2: Install Collectd-Web and Dependencies 

Jakmile jsou tyto dvě požadované věci úspěšně dokončeny, můžete pokračovat dalšími pokyny v tomto článku pro konfiguraci Collectd-web pomocí Apache CGI.

Krok 1: Instalace webového serveru Apache

1. Za předpokladu, že již máte na svém systému nainstalovaný webový server Apache, pokud ne, můžete jej nainstalovat pomocí následujícího příkazu podle vaší distribuce Linuxu.


apt-get install apache2	[On Debian based Systems]
yum install httpd		[On RedHat based Systems]

2. Po instalaci Apache změňte adresář na výchozí kořenový adresář dokumentů webového serveru (který se nachází pod /var/www/html/ nebo /var/www systémovou cestu a naklonujte projekt Collectd-web Github zadáním následujících příkazů:


cd /var/www/html
git clone https://github.com/httpdss/collectd-web.git

Také udělejte následující skript Collectd-web spustitelným zadáním následujícího příkazu:


chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi

Krok 2: Povolte Apache CGI (skripty .cgi) pro výchozího hostitele

3. Aby Apache spustil CGI skripty umístěné ve výchozím hostitelském HTML Collectd-web cgi-bin adresáři, musíte explicitně povolit Apache CGI rozhraní pro Bash skripty (s .cgi ) změnou výchozího hostitele sites-available a přidáním níže uvedeného bloku příkazů.

Na systémech Debian

Nejprve otevřete výchozí konfigurační soubor hostitele Apache pro úpravy pomocí editoru nano:


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

Zatímco je soubor otevřen pro úpravy, přidejte pod direktivu Document Root následující blok direktivy, jak je znázorněno na obrázku níže:


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

Po dokončení úprav souboru jej zavřete pomocí CTRL + o a ukončete nano editor (CTRL+x), poté povolte modul Apache CGI a restartujte server v pořadí aplikujte všechny dosud provedené změny vydáním následujících příkazů:


a2enmod cgi cgid
service apache2 restart
OR
systemctl restart apache2.service     [For systemd init scripts]

Na RedHat Systems

4. Chcete-li povolit rozhraní Apache CGI pro CentOS/RHEL, otevřete konfigurační soubor Apache httpd.conf a na konec souboru přidejte následující řádky:


nano /etc/httpd/conf/httpd.conf

Přidejte následující úryvek do souboru httpd.conf.


ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin"
Options FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .pl

Chcete-li použít změny, restartujte démona httpd zadáním následujícího příkazu:


service httpd restart
OR
systemctl restart httpd        [For systemd init scripts]

Krok 3: Procházejte Collected-webové rozhraní

5. Chcete-li navštívit rozhraní Collectd-web a vizualizovat dosud shromážděné statistiky o vašem počítači, otevřete prohlížeč a přejděte do svého počítače IP adresa/shromážděné- web/ umístění URI pomocí protokolu HTTP.


http://192.168.1.211/collect-web/

Krok 4: Ochrana heslem Collected-web URL pomocí Apache Authentication

6. V případě, že chcete omezit přístup k rozhraní Collectd-web jeho ochranou pomocí mechanismu Apache Authentication (.htpasswd), který vyžaduje návštěvníky zadejte uživatelské jméno a heslo pro přístup k webovému zdroji.

Chcete-li tak učinit, musíte nainstalovat balíček apache2-utils a vytvořit sadu pověření pro místní ověřování. Chcete-li tohoto cíle dosáhnout, nejprve zadejte následující příkaz k instalaci balíčku apache2-utils:


apt-get install apache2-utils	        [On Debian based Systems]
yum install httpd-tools		[On RedHat based Systems]

7. Dále vygenerujte uživatelské jméno a heslo, které budou uloženy ve skrytém místním souboru .htpass umístěném pod výchozím hostitelem Apache Collectd-web cestu zadáním níže uvedeného příkazu:


htpasswd -c /var/www/html/collectd-web/.htpass  your_username

Pokuste se chránit tento soubor přiřazením následujících oprávnění:


chmod 700 /var/www/html/collectd-web/.htpass
chown www-data /var/www/html/collectd-web/.htpass

8. V dalším kroku po vygenerování souboru .htpass otevřete výchozího hostitele Apache pro úpravy a dejte serveru pokyn, aby používal htpasswd basic autentizace na straně serveru přidáním následujícího direktivního bloku, jak je znázorněno na níže uvedeném snímku obrazovky:


<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. Posledním krokem k zohlednění změn je restartování serveru Apache zadáním níže uvedeného příkazu a návštěvou stránky URL Coollectd-web jako popsáno výše.

Na webové stránce by se mělo objevit vyskakovací okno požadující vaše ověřovací údaje. Pro přístup k webovému rozhraní Collected použijte dříve vytvořené uživatelské jméno a heslo.


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