Monitoruj zasoby serwera za pomocą Collectd-web i Apache CGI w systemie Linux
W tym samouczku omówiono sposób instalacji i uruchamiania interfejsu Collectd-web, który jest narzędziem do monitorowania sieci WWW dla demona Collectd w połączeniu z Apache CGI interfejs w celu tworzenia graficznych wyników HTML w celu monitorowania urządzeń Linux.
Na końcu artykułu zaprezentujemy także, w jaki sposób można zabezpieczyć interfejs Collectd-web za pomocą mechanizmu .hpasswd Apache Authentication.
Wymagania
Wymóg tego artykułu jest taki, że w systemie Linux musisz mieć zainstalowane programy Collectd i Collectd-Web. Aby zainstalować te pakiety, wykonaj kroki #1 i #2 z poprzedniego artykułu z tej serii pod adresem:
- Zainstaluj Collectd i Collectd-Web w systemie Linux
Wykonaj tylko dwa kroki z powyższego linku:
Step 1: Install Collectd Service
Step 2: Install Collectd-Web and Dependencies
Po pomyślnym wykonaniu tych dwóch wymaganych czynności możesz kontynuować dalsze instrukcje zawarte w tym artykule, aby skonfigurować Collectd-web z Apache CGI.
Krok 1: Instalacja serwera WWW Apache
1. Zakładając, że masz już zainstalowany serwer WWW Apache w swoim systemie, jeśli nie, możesz przeprowadzić instalację za pomocą następującego polecenia, zgodnie z dystrybucją Linuksa.
apt-get install apache2 [On Debian based Systems]
yum install httpd [On RedHat based Systems]
2. Po zainstalowaniu Apache zmień katalog na domyślny katalog główny dokumentów serwera WWW (który znajduje się w /var/www/html/ lub /var/www ścieżkę systemową i sklonuj projekt Collectd-web Github, wydając poniższe polecenia:
cd /var/www/html
git clone https://github.com/httpdss/collectd-web.git
Zmień także następujący skrypt Collectd-web na wykonywalny, wydając następujące polecenie:
chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
Krok 2: Włącz Apache CGI (skrypty .cgi) dla hosta domyślnego
3. Aby Apache mógł uruchamiać skrypty CGI znajdujące się w domyślnym katalogu HTML Collectd-web cgi-bin hosta, musisz jawnie włączyć interfejs Apache CGI dla skryptów Bash (z .cgi ), zmieniając domyślny host dostępne w witrynach i dodając poniższy blok instrukcji.
W systemach Debian
Najpierw otwórz domyślny plik konfiguracyjny hosta Apache do edycji za pomocą edytora nano:
nano /etc/apache2/sites-available/000-default.conf
Gdy plik jest otwarty do edycji, dodaj następujący blok dyrektyw poniżej dyrektywy Document Root, jak pokazano na poniższym obrazku:
<Directory /var/www/html/collectd-web/cgi-bin>
Options Indexes ExecCGI
AllowOverride All
AddHandler cgi-script .cgi
Require all granted
</Directory>
Po zakończeniu edycji pliku zamknij go za pomocą CTRL + o i wyjdź z edytora nano (CTRL+x), następnie włącz moduł Apache CGI i zrestartuj serwer w podanej kolejności aby zastosować wszystkie wprowadzone do tej pory zmiany, wydając poniższe polecenia:
a2enmod cgi cgid
service apache2 restart
OR
systemctl restart apache2.service [For systemd init scripts]
W systemach RedHat
4. Aby włączyć interfejs CGI Apache dla CentOS/RHEL, otwórz plik konfiguracyjny httpd.conf Apache i dodaj następujące wiersze na dole pliku:
nano /etc/httpd/conf/httpd.conf
Dodaj następujący fragment do pliku httpd.conf.
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin"
Options FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .pl
Aby zastosować zmiany należy zrestartować demona httpd wydając następującą komendę:
service httpd restart
OR
systemctl restart httpd [For systemd init scripts]
Krok 3: Przeglądaj interfejs Collectd-web
5. Aby odwiedzić interfejs Collectd-web i wizualizować zebrane dotychczas statystyki dotyczące Twojego komputera, otwórz przeglądarkę i przejdź do adresu IP/zebranego- urządzenia web/ lokalizacja URI przy użyciu protokołu HTTP.
http://192.168.1.211/collect-web/
Krok 4: Zabezpiecz hasłem adres URL zebranej sieci internetowej przy użyciu uwierzytelniania Apache
6. Jeśli chcesz ograniczyć dostęp do interfejsu Collectd-web, chroniąc go za pomocą mechanizmu uwierzytelniania Apache (.htpasswd), który wymaga od odwiedzających do wprowadzenia nazwy użytkownika i hasła w celu uzyskania dostępu do zasobu sieciowego.
Aby to zrobić, musisz zainstalować pakiet apache2-utils i utworzyć zestaw danych uwierzytelniających do lokalnego uwierzytelniania. Aby osiągnąć ten cel, najpierw wydaj następujące polecenie, aby zainstalować pakiet apache2-utils:
apt-get install apache2-utils [On Debian based Systems]
yum install httpd-tools [On RedHat based Systems]
7. Następnie wygeneruj nazwę użytkownika i hasło, które będą przechowywane w ukrytym lokalnym pliku .htpass znajdującym się na domyślnym hoście Apache Collectd-web ścieżkę, wydając poniższe polecenie:
htpasswd -c /var/www/html/collectd-web/.htpass your_username
Spróbuj chronić ten plik, przypisując następujące uprawnienia:
chmod 700 /var/www/html/collectd-web/.htpass
chown www-data /var/www/html/collectd-web/.htpass
8. W następnym kroku, po wygenerowaniu pliku .htpass, otwórz domyślny host Apache do edycji i poinstruuj serwer, aby używał podstawowego htpasswd uwierzytelnianie po stronie serwera, dodając następujący blok dyrektyw, jak pokazano na poniższym zrzucie ekranu:
<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. Ostatnim krokiem w celu odzwierciedlenia zmian jest ponowne uruchomienie serwera Apache poprzez wydanie poniższego polecenia i odwiedzenie strony URL Coollectd-web jako opisane powyżej.
Na stronie internetowej powinno pojawić się wyskakujące okienko z prośbą o podanie danych uwierzytelniających. Użyj utworzonej wcześniej nazwy użytkownika i hasła, aby uzyskać dostęp do interfejsu internetowego 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