Kuinka asentaa kaktukset Cacti-Spine -ohjelmalla Debianiin ja Ubuntuun


Tässä opetusohjelmassa opit asentamaan ja määrittämään Cacti-verkonvalvontatyökalun uusimmassa Debian- ja Ubuntu 16.04 LTS -versiossa. Kaktukset rakennetaan ja asennetaan lähdetiedostoista tämän oppaan aikana.

Kaktukset on avoimen lähdekoodin seurantatyökalu, joka on luotu verkkojen, erityisesti verkkolaitteiden, kuten kytkimien, reitittimien, palvelimien, seurantaan SNMP-protokollan kautta. Kaktukset ovat vuorovaikutuksessa loppukäyttäjien kanssa ja niitä voidaan hallinnoida verkkotyökalurajapinnan kautta.

  1. LAMP-pino asennettuna Debian 9: ään
  2. LAMP-pino asennettuna Ubuntu 16.04 LTS: ään

Vaihe 1: Asenna ja määritä kaktusten ennakkoedellytykset

1. Debian 9: ssä avoimet lähdekoodit luettelo tiedoston muokkausta varten ja lisää tiedostoon myötävaikuttamat ja vapaat arkistot muuttamalla seuraavia rivejä:

# nano /etc/apt/sources.list

Lisää seuraavat rivit sources.list-tiedostoon.

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. Muista päivittää järjestelmä myöhemmin antamalla alla oleva komento.

# apt update
# apt upgrade

3. Varmista LAMP-pinossa, että seuraavat PHP-laajennukset ovat järjestelmässä.

# 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. Muokkaa seuraavaksi PHP-määritystiedostoa ja muuta aikavyöhykeasetus vastaamaan palvelimesi fyysistä sijaintia antamalla alla oleva komento.

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

5. Kirjaudu seuraavaksi sisään MariaDB- tai MySQL-tietokantaan LAMP-pinon asennuksesta ja luo tietokanta kaktusten asentamista varten antamalla seuraavat komennot.

Korvaa kaktustietokannan nimi, käyttäjä ja salasana vastaamaan omia kokoonpanojasi ja valitse vahva salasana kaktustietokannalle.

# 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. Anna myös alla olevat komennot, jotta kaktusten käyttäjä voi valita MySQL data.timezone -asetuksen antamalla alla olevat komennot.

# 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. Avaa seuraavaksi MySQL-palvelimen määritystiedosto ja lisää seuraavat rivit tiedoston loppuun.

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

Lisää seuraavat rivit 50-server.cnf- tai mysqld.cnf-tiedoston loppuun.

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

Lisää MariaDB-tietokantaan seuraava rivi myös 50-server.cnf-tiedoston loppuun:

innodb_additional_mem_pool_size	= 80M

8. Käynnistä lopuksi MySQL- ja Apache-palvelut uudelleen kaikkien asetusten soveltamiseksi ja molempien palveluiden tilan varmistamiseksi antamalla seuraavat komennot.

# systemctl restart mysql apache2
# systemctl status mysql apache2

Vaihe 2: Lataa ja valmista kaktusten asennus

9. Aloita kaktusten asentaminen lähteistä lataamalla ja purkamalla uusin Kaktus-arkiston versio ja kopioimalla kaikki puretut tiedostot Apache-verkkodokumentin juurelle antamalla seuraavat komennot.

# 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. Poista index.html-tiedosto hakemistosta/var/www/html, luo kaktusten lokitiedosto ja myönnä Apachelle kirjoitusoikeudet web-juuripolkuun.

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

11. Muokkaa seuraavaksi kaktusten kokoonpanotiedostoa ja muokkaa seuraavia rivejä alla olevan esimerkin mukaisesti.

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

Kaktukset config.php-tiedosto. Korvaa kaktusten tietokannan nimi, käyttäjä ja salasana vastaavasti.

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

12. Täytä seuraavaksi kaktustietokanta cacti.sql-komentosarjalla hakemistosta/var/www/html/hakemistolla antamalla alla oleva komento.

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

13. Asenna nyt lisää resursseja, sillä Cacti-moottori kerää laitteiden tietoja SNMP-protokollan kautta ja näyttää grafiikkaa RRDtool-sovelluksella. Asenna ne kaikki antamalla seuraava komento.

# apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Tarkista SNMP-palvelun toimivuus käynnistämällä snmpd-daemon uudelleen antamalla alla oleva komento. Tarkista myös snmpd-daemon-tila ja sen avoimet portit.

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

Vaihe 3: Lataa ja asenna Cacti-Spine

15. Cacti-Spine on C-kirjoitettu korvaava oletus cmd.php-polleri. Cacti-Spine tarjoaa nopeamman toteutusajan. Jos haluat koota Cacti-Spine -poolin lähteistä, asenna järjestelmään alla vaaditut riippuvuudet.

---------------- 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. Kun olet asentanut yllä olevat riippuvuudet, lataa uusin versio Cacti-Spine -arkistosta, pura tarball ja koota kaktus-selkäranka antamalla seuraava komentosarja.

# 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. Käännä ja asenna Cacti-Spine lähteistä antamalla seuraavat komennot.

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

18. Seuraavaksi varmista, että selkärangan binääriominaisuudet ovat juuritilin omistuksessa ja aseta selkärangan apuohjelman suid-bitti suorittamalla seuraavat komennot.

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

19. Muokkaa Cacti Spine -asetustiedostoa ja lisää kaktusten tietokannan nimi, käyttäjä ja salasana Spine conf -tiedostoon alla olevan esimerkin mukaisesti.

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

Lisää seuraava kokoonpano stub.conf-tiedostoon.

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

Vaihe 4: Ohjattu kaktusten asennus

20. Asenna kaktukset avaamalla selain ja siirtymällä järjestelmän IP-osoitteeseen tai verkkotunnukseen seuraavassa URL-osoitteessa.

http://your_IP/install

Ensin tarkista Acept License Agreement ja paina Seuraava-painiketta jatkaaksesi.

21. Tarkista seuraavaksi, täyttävätkö järjestelmävaatimukset ja jatka napsauttamalla Seuraava-painiketta.

22. Valitse seuraavassa ikkunassa Uusi ensisijainen palvelin ja paina Seuraava-painiketta jatkaaksesi.

23. Seuraavaksi tarkista kriittiset binaaripaikat ja versiot ja muuta Selkärangan binäärirata poluksi/usr/local/selkäranka/bin/selkäranka. Kun olet valmis, jatka painamalla Seuraava-painiketta.

24. Tarkista seuraavaksi, ovatko kaikki verkkopalvelimen hakemiston oikeudet paikallaan (kirjoitusoikeudet on asetettu) ja jatka napsauttamalla Seuraava-painiketta.

25. Tarkista seuraavassa vaiheessa kaikki mallit ja paina Valmis-painiketta asennuksen loppuun saattamiseksi.

26. Kirjaudu sisään kaktusten web-käyttöliittymään alla olevilla oletustiedoilla ja vaihda järjestelmänvalvojan salasana seuraavien kuvakaappausten mukaisesti.

Username: admin
Password: admin

27. Siirry seuraavaksi kohtaan Konsoli -> Kokoonpano -> Asetukset -> Poller ja muuta Pollerin tyyppi cmd.php: stä Spine-binaariksi ja selaa Tallenna-painikkeeseen tallentaaksesi kokoonpanon.

28. Siirry sitten kohtaan Konsoli -> Kokoonpano -> Asetukset -> Polut ja lisää seuraava polku Cacti-Spine-määritystiedostoon:

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

Napsauta Tallenna-painiketta asettaaksesi kokoonpanon.

29. Viimeinen asetus, jonka avulla Cacti poller voi aloittaa tietojen keräämisen valvotuista laitteista, on lisätä uusi crontab-tehtävä, jotta jokaisesta laitteesta voidaan tehdä kysely SNMP: n kautta 5 minuutin välein.

Crontab-työn on oltava www-data-tilin omistuksessa.

# crontab -u www-data -e

Lisää Cron-tiedostomerkintä:

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

30. Odota muutama minuutti, kunnes kaktukset keräävät tietoja ja siirry Kuvaajat -> Oletuspuu -kohtaan, ja sinun pitäisi nähdä valvottuja laitteitasi varten kootut kaaviot.

Siinä kaikki! Olet asentanut ja määrittänyt kaktukset onnistuneesti Cacti-Spine poolerilla lähteistä Debian 9: n ja Ubuntu 16.04 LTS -palvelimen uusimmassa versiossa.