Hvordan installere Cacti med Cacti-Spine i Debian og Ubuntu


I denne opplæringen lærer vi hvordan du installerer og konfigurerer Cacti-nettverksovervåkingsverktøyet i den nyeste versjonen av Debian og Ubuntu 16.04 LTS. Cacti vil bli bygget og installert fra kildefiler i løpet av denne veiledningen.

Cacti er et åpen kildekode-overvåkingsverktøy laget for å overvåke nettverk, spesielt nettverksenheter, som svitsjer, rutere, servere via SNMP-protokoll. Cacti samhandler med sluttbrukere og kan administreres via et webverktøygrensesnitt.

Krav

  1. LAMP Stack installert i Debian 9
  2. LAMPE-stabel installert i Ubuntu 16.04 LTS

Trinn 1: Installer og konfigurer forutsetninger for kaktuser

1. I Debian 9, åpne kilder listefil for redigering og legg til bidrag og ikke-gratis-lagrene til filen ved å endre følgende linjer:

nano /etc/apt/sources.list

Legg til følgende linjer i filen 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. Etterpå må du sørge for å oppdatere systemet ved å gi kommandoen nedenfor.

apt update
apt upgrade

3. Sørg for at følgende PHP-utvidelser er til stede i systemet i LAMP-stabelen.

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. Deretter redigerer du PHP-konfigurasjonsfilen og endrer tidssoneinnstillingen slik at den samsvarer med serverens fysiske plassering, ved å gi kommandoen nedenfor.

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

5. Deretter logger du på MariaDB- eller MySQL-databasen fra LAMP-stabelinstallasjonen og oppretter en database for å installere Cacti > ved å utstede følgende kommandoer.

Bytt ut kaktusdatabasenavn, bruker og passord for å matche dine egne konfigurasjoner og velg et sterkt passord for kaktusdatabasen.

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. Utsted også kommandoene nedenfor for å tillate kaktusbrukere velge tillatelser til MySQL data.timezone-innstillingen ved å utstede kommandoene nedenfor.

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. Deretter åpner du MySQL-serverkonfigurasjonsfilen og legger til følgende linjer på slutten av filen.

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

Legg til følgende linjer på slutten av filen 50-server.cnf eller 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

For MariaDB-databasen legger du også til følgende linje på slutten av 50-server.cnf-filen:

innodb_additional_mem_pool_size	= 80M

8. Start til slutt MySQL- og Apache-tjenestene på nytt for å bruke alle innstillinger og bekrefte status for begge tjenestene ved å utstede følgende kommandoer.

systemctl restart mysql apache2
systemctl status mysql apache2

Trinn 2: Last ned og klargjør installering av kaktuser

9. Begynn å installere Cacti fra kilder ved å laste ned og pakke ut den nyeste versjonen av Cacti-arkivet og kopiere alle uttrekksfilene til Apache-nettdokumentroten ved å utstede følgende kommandoer.

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. Fjern index.html-filen fra katalogen /var/www/html, opprett Cacti-loggfilen og gi Apache skriverettigheter til nettet rotbane.

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

11. Deretter redigerer du kaktuskonfigurasjonsfilen og endrer følgende linjer som vist i eksemplet nedenfor.

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

Cacti config.php fileksempel. Erstatt kaktusdatabasenavn, bruker og passord tilsvarende.

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

12. Deretter fyller du kaktusdatabasen med cacti.sql-skriptet fra katalogen /var/www/html/ ved å gi kommandoen nedenfor.

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

13. Installer nå noen ekstra ressurser, ettersom Cacti-motoren samler inn enhetsdata via SNMP-protokollen og viser grafikk ved å bruke RRDtool. Installer alle ved å gi følgende kommando.

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Bekreft om SNMP-tjenesten er oppe og kjører ved å starte snmpd-demonen på nytt ved å gi kommandoen nedenfor. Sjekk også snmpd-demonstatusen og dens åpne porter.

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

Trinn 3: Last ned og installer Cacti-Spine

15. Cacti-Spine er en C-skrevet erstatning for standard cmd.php poller. Cacti-Spine gir en raskere utførelsestid. For å kompilere Cacti-Spine pooler fra kilder, installer de nødvendige avhengighetene nedenfor i systemet ditt.

---------------- 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. Etter at du har installert avhengighetene ovenfor, last ned den nyeste versjonen av Cacti-Spine-arkivet, pakke ut tarballen og kompiler kaktus-ryggraden ved å utstede følgende serie med kommandoer .

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. Kompiler og installer Cacti-Spine fra kilder ved å utstede følgende kommandoer.

./bootstrap 
./configure 
make
make install

18. Deretter må du kontrollere at spine binary eies av root-kontoen og angi suid-biten for spine-verktøyet ved å kjøre følgende kommandoer.

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

19. Nå, rediger Cacti Spine-konfigurasjonsfilen og legg til kaktusdatabasenavnet, brukeren og passordet til Spine conf-filen som illustrert i eksemplet nedenfor.

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

Legg til følgende konfigurasjon til filen spine.conf.

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

Trinn 4: Installasjonsveiviser for kaktuser

20. For å installere Cacti, åpne en nettleser og naviger til systemets IP-adresse eller domenenavn på følgende URL.

http://your_IP/install

Merk først av for Godta lisensavtale og klikk på Neste-knappen for å fortsette.

21. Deretter sjekker du om systemkravene og trykker Neste-knappen for å fortsette.

22. I det neste vinduet velger du Ny primærserver og klikker på Neste-knappen for å fortsette.

23. Deretter bekrefter du kritiske binære plasseringer og versjoner og endrer Spine binær bane til /usr/local/spine/bin/spine. Når du er ferdig, trykk Neste-knappen for å fortsette.

24. Deretter sjekker du om alle nettjenerkatalogtillatelser er på plass (skrivetillatelser er angitt) og trykker på Neste-knappen for å fortsette.

25. På neste trinn kontrollerer du alle malene og klikker på Fullfør-knappen for å fullføre installasjonsprosessen.

26. Logg på Cacti-nettgrensesnittet med standardlegitimasjonen vist nedenfor og endre administratorpassordet, som illustrert i følgende skjermbilder.

Username: admin
Password: admin

27. Gå deretter til Konsoll -> Konfigurasjon -> Innstillinger -> Poller og endre Pollertype fra cmd.php< til Spine binær og rull ned til Lagre-knappen for å lagre konfigurasjonen.

28. Gå deretter til Konsoll -> Konfigurasjon -> Innstillinger -> Baner og legg til følgende bane til Cacti-Spine-konfigurasjonsfilen:

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

Trykk på Lagre-knappen for å bruke konfigurasjonen.

29. Det siste oppsettet som gjør at Cacti poller kan begynne å samle inn data fra overvåkede enheter, er å legge til en ny crontab-oppgave for å spørre hver enhet via SNMP hvert 5 minutt.

Crontab-jobben må eies av en www-data-konto.

crontab -u www-data -e

Legg til Cron-filoppføring:

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

30. Vent noen minutter til Cacti samler inn data og gå til Graphs -> Default Tree, så skal du se grafene som er samlet inn for de overvåkede enhetene dine.

Det er alt! Du har installert og konfigurert Cacti med Cacti-Spine pooler, fra kilder, i den siste versjonen av Debian 9 og Ubuntu 16.04 LTSserver.