Sådan installeres kaktus med Cacti-Spine i Debian og Ubuntu


I denne vejledning lærer vi, hvordan du installerer og konfigurerer Cacti-netværksovervågningsværktøj i den nyeste version af Debian og Ubuntu 16.04 LTS. Kaktus bliver bygget og installeret fra kildefiler under denne vejledning.

Cacti er et open source overvågningsværktøj oprettet til overvågning af netværk, især netværksenheder, såsom switche, routere, servere via SNMP-protokol. Kaktus interagerer med slutbrugere og kan administreres via en webværktøjsgrænseflade.

  1. LAMP Stack installeret i Debian 9
  2. LAMP Stack installeret i Ubuntu 16.04 LTS

Trin 1: Installer og konfigurer forudsætninger for kaktus

1. I Debian 9 viser listen over åbne kilder en fil til redigering og tilføj de bidrags- og ikke-fri arkiver til filen ved at ændre følgende linjer:

# nano /etc/apt/sources.list

Tilføj følgende linjer til sources.list-filen.

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. Derefter skal du sørge for at opdatere systemet ved at udstede kommandoen nedenfor.

# apt update
# apt upgrade

3. I din LAMP-stak skal du sikre dig, at følgende PHP-udvidelser er til stede i systemet.

# 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. Dernæst skal du redigere PHP-konfigurationsfil og ændre tidszoneindstillingen, så den passer til din servers fysiske placering, ved at udstede nedenstående kommando.

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

5. Log derefter på MariaDB- eller MySQL-databasen fra din LAMP-stakinstallation, og opret en database til installation af Cacti ved at udstede følgende kommandoer.

Udskift kaktusdatabasens navn, bruger og adgangskode for at matche dine egne konfigurationer, og vælg en stærk adgangskode til kaktisdatabase.

# 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. Udsted også nedenstående kommandoer for at tillade kaktusbrugervalgstilladelser til MySQL data.timezone-indstillingen ved at udstede nedenstående kommandoer.

# 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 [email '

7. Åbn derefter MySQL-serverkonfigurationsfilen, og tilføj følgende linjer i slutningen af filen.

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

Tilføj følgende linjer i slutningen af 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-database skal du også tilføje følgende linje i slutningen af filen 50-server.cnf:

innodb_additional_mem_pool_size	= 80M

8. Til sidst skal du genstarte MySQL- og Apache-tjenesterne for at anvende alle indstillinger og kontrollere begge servicestatus ved at udstede følgende kommandoer.

# systemctl restart mysql apache2
# systemctl status mysql apache2

Trin 2: Download og forbered kaktusinstallation

9. Start installation af Cacti fra kilder ved at downloade og udpakke den nyeste version af Cacti-arkivet, og kopiere alle ekstraktfiler til Apache-webdokumentrod ved at udstede 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/var/www/html-biblioteket, opret Cacti-logfilen, og tildel Apache med skrivetilladelser til webrodstien.

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

11. Derefter skal du redigere kaktuskonfigurationsfilen og ændre følgende linjer som vist i nedenstående eksempel.

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

Cacti config.php fileksempel. Udskift kaktusdatabasens navn, bruger og adgangskode i overensstemmelse hermed.

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

12. Udfyld derefter kaktisdatabasen med cacti.sql-scriptet fra/var/www/html/katalog ved at udstede nedenstående kommando.

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

13. Installer nu nogle yderligere ressourcer, da Cacti-motoren indsamler enhedsdata via SNMP-protokollen og viser grafik ved hjælp af RRDtool. Installer dem alle ved at udstede følgende kommando.

# apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Kontroller, om SNMP-tjenesten er i gang ved at genstarte snmpd-dæmonen ved at udstede kommandoen nedenfor. Kontroller også snmpd-dæmonens status og dens åbne porte.

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

Trin 3: Download og installer Cacti-Spine

15. Cacti-Spine er en C-erstatning for standard-polleren cmd.php. Cacti-Spine giver hurtigere udførelsestid. For at kompilere Cacti-Spine pooler fra kilder skal du installere nedenstående krævede afhængigheder i dit system.

---------------- 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. Når du har installeret ovenstående afhængigheder, skal du downloade den nyeste version af Cacti-Spine-arkivet, udtrække tarball og kompilere kaktus-rygsøjlen ved at udstede følgende række 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. Kompilér og installer Cacti-Spine fra kilder ved at udstede følgende kommandoer.

# ./bootstrap 
# ./configure 
# make
# make install

18. Dernæst skal du sikre dig, at rygsøjlen er ejet af root-kontoen, og indstil suid-bit til rygsøjlen ved at køre følgende kommandoer.

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

19. Rediger nu Cacti Spine-konfigurationsfilen, og tilføj kaktusdatabasens navn, bruger og adgangskode til Spine conf-filen som illustreret i nedenstående eksempel.

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

Føj følgende konfiguration til spine.conf-filen.

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

Trin 4: Installering af guiden til installation af kaktus

20. For at installere Cacti skal du åbne en browser og navigere til systemets IP-adresse eller domænenavn på følgende URL.

http://your_IP/install

Først skal du kontrollere Accepter licensaftale og trykke på knappen Næste for at fortsætte.

21. Kontroller derefter, om systemkrav er, og tryk på knappen Næste for at fortsætte.

22. I det næste vindue skal du vælge Ny primær server og trykke på knappen Næste for at fortsætte.

23. Kontroller derefter vigtige binære placeringer og versioner, og skift rygsøjlens binære sti til/usr/local/rygsøjle/bin/rygsøjle. Når du er færdig, skal du trykke på knappen Næste for at fortsætte.

24. Dernæst skal du kontrollere, om alle tilladelser til webservermapper er på plads (skrivetilladelser er indstillet), og tryk på knappen Næste for at fortsætte.

25. Kontroller alle skabeloner på det næste trin, og tryk på knappen Udfør for at afslutte installationsprocessen.

26. Log ind på Cacti-webgrænsefladen med standardoplysningerne vist nedenfor, og skift administratoradgangskoden, som illustreret i de følgende skærmbilleder.

Username: admin
Password: admin

27. Gå derefter til Konsol -> Konfiguration -> Indstillinger -> Poller og skift Poller Type fra cmd.php til Spine binær og rul ned til knappen Gem for at gemme konfigurationen.

28. Gå derefter til Konsol -> Konfiguration -> Indstillinger -> Stier og tilføj følgende sti til Cacti-Spine konfigurationsfil:

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

Klik på knappen Gem for at anvende konfigurationen.

29. Den endelige opsætning, der gør det muligt for Cacti poller at begynde at indsamle data fra overvågede enheder, er at tilføje en ny crontab-opgave for at forespørge på hver enhed via SNMP hvert 5. minut.

Crontab-jobbet skal ejes af www-datakonto.

# crontab -u www-data -e

Tilføj Cron-filpost:

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

30. Vent et par minutter på kaktus til at indsamle data og gå til graferne -> standardtræet, og du skal se de grafer, der er indsamlet til dine overvågede enheder.

Det er alt! Du har med succes installeret og konfigureret Cacti med Cacti-Spine pooler fra kilder i den seneste udgivelse af Debian 9 og Ubuntu 16.04 LTS-server.