Zoeken op website

Hoe Cacti te installeren met Cacti-Spine in Debian en Ubuntu


In deze tutorial leren we hoe je de Cacti-netwerkmonitoringtool installeert en configureert in de nieuwste versie van Debian en Ubuntu 16.04 LTS. Cactussen worden tijdens deze handleiding gebouwd en geïnstalleerd vanuit bronbestanden.

Cacti is een open source monitoringtool gemaakt voor het monitoren van netwerken, vooral netwerkapparaten, zoals switches, routers en servers via het SNMP-protocol. Cacti communiceert met eindgebruikers en kan worden beheerd via een webtoolinterface.

Vereisten

  1. LAMP-stack geïnstalleerd in Debian 9
  2. LAMP-stack geïnstalleerd in Ubuntu 16.04 LTS

Stap 1: Installeer en configureer de vereisten voor Cactussen

1. In Debian 9 worden bestanden met open bronnen weergegeven voor bewerking en worden de opslagplaatsen contrib en niet-vrije toegevoegd het bestand door de volgende regels te wijzigen:

nano /etc/apt/sources.list

Voeg de volgende regels toe aan het bestand 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. Zorg er daarna voor dat u het systeem bijwerkt door de onderstaande opdracht uit te voeren.

apt update
apt upgrade

3. Zorg ervoor dat de volgende PHP-extensies in uw LAMP-stack in het systeem aanwezig zijn.

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. Bewerk vervolgens het PHP-configuratiebestand en wijzig de tijdzone-instelling zodat deze overeenkomt met de fysieke locatie van uw server, door de onderstaande opdracht te geven.

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

5. Log vervolgens in op de MariaDB- of MySQL-database vanuit uw LAMP-stackinstallatie en maak een database voor het installeren van Cacti > door de volgende opdrachten te geven.

Vervang de cactusdatabasenaam, gebruiker en wachtwoord zodat deze overeenkomen met uw eigen configuraties en kies een sterk wachtwoord voor de cactusdatabase.

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. Voer ook de onderstaande opdrachten uit om cacti-gebruikers machtigingen te geven voor het selecteren van de MySQL data.timezone-instelling door de onderstaande opdrachten uit te voeren.

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. Open vervolgens het MySQL-serverconfiguratiebestand en voeg de volgende regels toe aan het einde van het bestand.

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

Voeg de volgende regels toe aan het einde van het bestand 50-server.cnf of 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

Voeg voor de MariaDB-database ook de volgende regel toe aan het einde van het bestand 50-server.cnf:

innodb_additional_mem_pool_size	= 80M

8. Start ten slotte de MySQL- en Apache-services opnieuw op om alle instellingen toe te passen en de status van beide services te verifiëren door de volgende opdrachten te geven.

systemctl restart mysql apache2
systemctl status mysql apache2

Stap 2: Download en bereid de Cacti-installatie voor

9. Begin met het installeren van Cacti vanuit bronnen door de nieuwste versie van het Cacti-archief te downloaden en uit te pakken en alle extractbestanden naar de hoofdmap van het Apache-webdocument te kopiëren door de volgende opdrachten te geven.

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. Verwijder het index.html bestand uit de map /var/www/html, maak het Cacti logbestand en geef Apache schrijfrechten voor het web wortel pad.

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

11. Bewerk vervolgens het cacti-configuratiebestand en pas de volgende regels aan, zoals weergegeven in het onderstaande voorbeeld.

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

Cacti config.php bestandsvoorbeeld. Vervang de cactusdatabasenaam, gebruiker en wachtwoord dienovereenkomstig.

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

12. Vul vervolgens de cacti-database met het cacti.sql-script uit de map /var/www/html/ door de onderstaande opdracht uit te voeren.

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

13. Installeer nu wat extra bronnen, aangezien de Cacti-engine apparaatgegevens verzamelt via het SNMP-protocol en afbeeldingen weergeeft met behulp van RRDtool. Installeer ze allemaal door de volgende opdracht te geven.

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Controleer of de SNMP-service actief is door de snmpd-daemon opnieuw te starten door de onderstaande opdracht te geven. Controleer ook de status van de snmpd-daemon en de open poorten.

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

Stap 3: Download en installeer Cacti-Spine

15. Cacti-Spine is een in C geschreven vervanging voor de standaard cmd.php poller. Cacti-Spine zorgt voor een snellere uitvoeringstijd. Om Cacti-Spine pooler uit bronnen te compileren, installeert u de onderstaande vereiste afhankelijkheden in uw systeem.

---------------- 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. Nadat u de bovenstaande afhankelijkheden heeft geïnstalleerd, downloadt u de nieuwste versie van het Cacti-Spine archief, extraheert u de tarball en compileert u cacti-spine door de volgende reeks opdrachten uit te voeren .

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. Compileer en installeer Cacti-Spine vanuit bronnen door de volgende opdrachten te geven.

./bootstrap 
./configure 
make
make install

18. Zorg er vervolgens voor dat het spin-binaire bestand eigendom is van de root-account en stel de suid-bit in voor het spin-hulpprogramma door de volgende opdrachten uit te voeren.

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

19. Bewerk nu het Cacti Spine-configuratiebestand en voeg de cacti-databasenaam, gebruiker en wachtwoord toe aan het Spine-configuratiebestand, zoals geïllustreerd in het onderstaande voorbeeld.

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

Voeg de volgende configuratie toe aan het bestand Spine.conf.

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

Stap 4: Installatie van de Cacti-installatiewizard

20. Om Cacti te installeren, opent u een browser en navigeert u naar het IP-adres of de domeinnaam van uw systeem op de volgende URL.

http://your_IP/install

Controleer eerst de Licentieovereenkomst accepteren en klik op de knop Volgende om door te gaan.

21. Controleer vervolgens of er systeemvereisten zijn en klik op de knop Volgende om door te gaan.

22. Selecteer in het volgende venster Nieuwe primaire server en klik op de knop Volgende om door te gaan.

23. Controleer vervolgens kritieke binaire locaties en versies en wijzig het binaire pad van Spine in /usr/local/spine/bin/spine. Wanneer u klaar bent, klikt u op de knop Volgende om door te gaan.

24. Controleer vervolgens of alle machtigingen voor de webservermap aanwezig zijn (schrijfrechten zijn ingesteld) en klik op de knop Volgende om door te gaan.

25. Controleer bij de volgende stap alle sjablonen en klik op de knop Voltooien om het installatieproces te voltooien.

26. Log in op de Cacti-webinterface met de standaardgegevens die hieronder worden weergegeven en wijzig het beheerderswachtwoord, zoals geïllustreerd in de volgende schermafbeeldingen.

Username: admin
Password: admin

27. Ga vervolgens naar Console -> Configuratie -> Instellingen -> Poller en wijzig het Pollertype van cmd.php< naar Spine binair bestand en scrol omlaag naar de knop Opslaan om de configuratie op te slaan.

28. Ga vervolgens naar Console -> Configuratie -> Instellingen -> Paden en voeg het volgende pad toe aan het Cacti-Spine configuratiebestand:

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

Druk op de knop Opslaan om de configuratie toe te passen.

29. De laatste configuratie waarmee Cacti poller gegevens van bewaakte apparaten kan gaan verzamelen, is het toevoegen van een nieuwe crontab-taak om elk apparaat elke 5 minuten via SNMP te ondervragen.

De crontabtaak moet eigendom zijn van het www-data-account.

crontab -u www-data -e

Cron-bestandsinvoer toevoegen:

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

30. Wacht een paar minuten totdat Cacti gegevens heeft verzameld en ga naar Grafieken -> Standaardboom. Je zou de grafieken moeten zien die zijn verzameld voor je bewaakte apparaten.

Dat is alles! Je hebt Cacti met Cacti-Spine pooler met succes geïnstalleerd en geconfigureerd, vanuit broncode, in de nieuwste release van Debian 9 en Ubuntu 16.04 LTS-server.