Wyszukiwanie w witrynie

Jak zainstalować Cacti z Cacti-Spine w Debianie i Ubuntu


W tym samouczku dowiemy się, jak zainstalować i skonfigurować narzędzie do monitorowania sieci Cacti w najnowszej wersji Debian i Ubuntu 16.04 LTS. W tym przewodniku Cacti zostaną zbudowane i zainstalowane z plików źródłowych.

Cacti to narzędzie monitorujące typu open source stworzone z myślą o monitorowaniu sieci, w szczególności urządzeń sieciowych, takich jak przełączniki, routery, serwery za pośrednictwem protokołu SNMP. Cacti wchodzi w interakcję z użytkownikami końcowymi i może być administrowany za pośrednictwem interfejsu narzędzia internetowego.

Wymagania

  1. Stos LAMP zainstalowany w Debianie 9
  2. Stos LAMP zainstalowany w Ubuntu 16.04 LTS

Krok 1: Zainstaluj i skonfiguruj wymagania wstępne dla Cacti

1. W Debianie 9 otwórz plik listy źródeł do edycji i dodaj repozytoria contrib i niewolne do plik, zmieniając następujące wiersze:

nano /etc/apt/sources.list

Dodaj następujące linie do pliku sources.list.

deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main

2. Następnie zaktualizuj system, wydając poniższe polecenie.

apt update
apt upgrade

3. Upewnij się, że w stosie LAMP znajdują się następujące rozszerzenia PHP w systemie.

apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt

4. Następnie edytuj plik konfiguracyjny PHP i zmień ustawienie strefy czasowej tak, aby pasowało do fizycznej lokalizacji Twojego serwera, wydając poniższe polecenie.

echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini 

5. Następnie zaloguj się do bazy danych MariaDB lub MySQL z instalacji stosu LAMP i utwórz bazę danych do instalacji Cacti > wydając poniższe polecenia.

Zastąp nazwę bazy danych kaktusów, użytkownika i hasło, aby dopasować je do własnych konfiguracji i wybierz silne hasło do bazy danych kaktusów.

mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit

6. Wydaj także poniższe polecenia, aby umożliwić użytkownikowi kaktusów wybór uprawnień do ustawienia data.timezone MySQL, wydając poniższe polecenia.

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql 
mysql -u root -p -e 'grant select on mysql.time_zone_name to cactiuser@localhost'

7. Następnie otwórz plik konfiguracyjny serwera MySQL i dodaj na końcu następujące linie.

nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 

Dodaj następujące wiersze na końcu pliku 50-server.cnf lub mysqld.cnf.

max_heap_table_size		= 98M
tmp_table_size			= 64M
join_buffer_size		= 64M
innodb_buffer_pool_size	= 485M
innodb_doublewrite		= off
innodb_flush_log_at_timeout	= 3
innodb_read_io_threads	= 32
innodb_write_io_threads	= 16

W przypadku bazy danych MariaDB dodaj także następującą linię na końcu pliku 50-server.cnf:

innodb_additional_mem_pool_size	= 80M

8. Na koniec uruchom ponownie usługi MySQL i Apache, aby zastosować wszystkie ustawienia i sprawdzić stan obu usług, wydając poniższe polecenia.

systemctl restart mysql apache2
systemctl status mysql apache2

Krok 2: Pobierz i przygotuj instalację Cacti

9. Rozpocznij instalację Cacti ze źródeł, pobierając i rozpakowując najnowszą wersję archiwum Cacti, a następnie skopiuj wszystkie pliki ekstraktu do katalogu głównego dokumentów internetowych Apache, wydając następujące polecenia.

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar xfz cacti-latest.tar.gz 
cp -rf cacti-1.1.27/* /var/www/html/

10. Usuń plik index.html z katalogu /var/www/html, utwórz plik dziennika Cacti i przyznaj Apache'owi uprawnienia do zapisu w Internecie ścieżka korzenia.

rm /var/www/html/index.html
touch /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/

11. Następnie edytuj plik konfiguracyjny kaktusów i zmodyfikuj następujące linie, jak pokazano w poniższym przykładzie.

nano /var/www/html/include/config.php

Przykład pliku Cacti config.php. Zastąp odpowiednio nazwę bazy danych kaktusów, użytkownika i hasło.

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/';

12. Następnie wypełnij bazę danych kaktusów skryptem cacti.sql z katalogu /var/www/html/, wydając poniższe polecenie.

mysql -u cactiuser cacti -p < /var/www/html/cacti.sql 

13. Teraz zainstaluj dodatkowe zasoby, ponieważ silnik Cacti zbiera dane z urządzeń za pośrednictwem protokołu SNMP i wyświetla grafikę za pomocą RRDtool. Zainstaluj je wszystkie, wydając następujące polecenie.

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Sprawdź, czy usługa SNMP jest uruchomiona i działa, uruchamiając ponownie demona snmpd, wydając poniższe polecenie. Sprawdź także status demona snmpd i jego otwarte porty.

systemctl restart snmpd.service 
systemctl status snmpd.service
ss -tulpn| grep snmp

Krok 3: Pobierz i zainstaluj Cacti-Spine

15. Cacti-Spine to napisany w języku C zamiennik domyślnego modułu odpytującego cmd.php. Cacti-Spine zapewnia szybszy czas realizacji. Aby skompilować Cacti-Spine Pooler ze źródeł, zainstaluj poniższe wymagane zależności w swoim systemie.

---------------- On Debian 9 ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev

---------------- On Ubuntu ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev  

16. Po zainstalowaniu powyższych zależności pobierz najnowszą wersję archiwum Cacti-Spine, rozpakuj archiwum tar i skompiluj cacti-spine, wydając następującą serię poleceń .

wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar xfz cacti-spine-latest.tar.gz 
cd cacti-spine-1.1.27/

17. Skompiluj i zainstaluj Cacti-Spine ze źródeł, wydając następujące polecenia.

./bootstrap 
./configure 
make
make install

18. Następnie upewnij się, że plik binarny spine jest własnością konta root i ustaw bit suid dla narzędzia Spine, uruchamiając następujące polecenia.

chown root:root /usr/local/spine/bin/spine 
chmod +s /usr/local/spine/bin/spine

19. Teraz edytuj plik konfiguracyjny Cacti Spine i dodaj nazwę bazy danych kaktusów, użytkownika i hasło do pliku konfiguracyjnego Spine, jak pokazano w poniższym przykładzie.

nano /usr/local/spine/etc/spine.conf

Dodaj następującą konfigurację do pliku spine.conf.

DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0

Krok 4: Konfiguracja kreatora instalacji Cacti

20. Aby zainstalować Cacti, otwórz przeglądarkę i przejdź do adresu IP systemu lub nazwy domeny pod następującym adresem URL.

http://your_IP/install

Najpierw zaznacz opcję Zaakceptuj umowę licencyjną i kliknij przycisk Dalej, aby kontynuować.

21. Następnie sprawdź wymagania systemowe i naciśnij przycisk Dalej, aby kontynuować.

22. W następnym oknie wybierz Nowy serwer główny i naciśnij przycisk Dalej, aby kontynuować.

23. Następnie sprawdź krytyczne lokalizacje i wersje plików binarnych oraz zmień ścieżkę binarną Spine na /usr/local/spine/bin/spine. Po zakończeniu naciśnij przycisk Dalej, aby kontynuować.

24. Następnie sprawdź, czy wszystkie uprawnienia do katalogu serwera WWW są ustawione (ustawione są uprawnienia do zapisu) i naciśnij przycisk Dalej, aby kontynuować.

25. W następnym kroku sprawdź wszystkie szablony i naciśnij przycisk Zakończ, aby zakończyć proces instalacji.

26. Zaloguj się do interfejsu internetowego Cacti przy użyciu domyślnych danych uwierzytelniających pokazanych poniżej i zmień hasło administratora, jak pokazano na poniższych zrzutach ekranu.

Username: admin
Password: admin

27. Następnie przejdź do Konsola -> Konfiguracja -> Ustawienia -> Poller i zmień Typ pollera z cmd.php< do pliku binarnego Spine i przewiń w dół do przycisku Zapisz, aby zapisać konfigurację.

28. Następnie przejdź do Konsola -> Konfiguracja -> Ustawienia -> Ścieżki i dodaj następującą ścieżkę do pliku konfiguracyjnego Cacti-Spine:

/usr/local/spine/etc/spine.conf 

Naciśnij przycisk Zapisz, aby zastosować konfigurację.

29. Ostatnią konfiguracją, która umożliwia Cacti poller rozpoczęcie zbierania danych z monitorowanych urządzeń, jest dodanie nowego zadania crontab w celu wysyłania zapytań do każdego urządzenia przez SNMP co 5 minut.

Zadanie crontab musi należeć do konta www-data.

crontab -u www-data -e

Dodaj wpis pliku Cron:

*/5 * * * * /usr/bin/php /var/www/html/poller.php

30. Poczekaj kilka minut, aż Cacti zbierze dane i przejdź do Wykresy -> Drzewo domyślne, a powinieneś zobaczyć wykresy zebrane dla monitorowanych urządzeń.

To wszystko! Pomyślnie zainstalowałeś i skonfigurowałeś Cacti z Poolerem Cacti-Spine, ze źródeł, w najnowszej wersji Debian 9 i Ubuntu 16.04 Serwer LTS.