Kuidas installida kaktusi Cacti-Spine'iga Debianis ja Ubuntus


Selles õpetuses õpime installima ja seadistama kaktuste võrguseire tööriista Debiani ja Ubuntu 16.04 LTS uusimas versioonis. Kaktused ehitatakse ja installitakse lähtefailidest selle juhendi ajal.

Kaktused on avatud lähtekoodiga seiretööriist, mis on loodud võrkude, eriti võrguseadmete, näiteks lülitite, ruuterite, serverite jälgimiseks SNMP-protokolli kaudu. Kaktused suhtlevad lõppkasutajatega ja neid saab hallata veebitööriista liidese kaudu.

  1. LAMP-i virn on installitud Debian 9-sse
  2. LAMP-virn installitud Ubuntu 16.04 LTS-i

1. samm: installige ja seadistage kaktuste eeltingimused

1. Debian 9-s loetleb avatud lähtekoodid redigeerimiseks faili ja lisab failile kaastööde ning mittevabade hoidlate, muutes järgmisi ridu:

# nano /etc/apt/sources.list

Lisage failile sources.list järgmised read.

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. Pärast seda veenduge, et värskendaksite süsteemi, väljastades alltoodud käsu.

# apt update
# apt upgrade

3. Veenduge, et LAMP-i pinu sees oleksid järgmised PHP-laiendused.

# 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. Järgmisena muutke PHP konfiguratsioonifaili ja muutke ajavööndi sätet vastavalt oma serveri füüsilisele asukohale, väljastades alloleva käsu.

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

5. Järgmisena logige oma LAMP-i virna installimisest sisse MariaDB või MySQL andmebaasi ja looge Cacti installimiseks andmebaas, väljastades järgmised käsud.

Asendage kaktuste andmebaasi nimi, kasutaja ja parool, et need vastaksid teie enda konfiguratsioonidele, ja valige kaktuste andmebaasi jaoks tugev parool.

# 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. Samuti väljastage allpool olevad käsud, et lubada kaktuste kasutajal MySQL data.timezone seadistuse õigusi väljastades alltoodud käsud.

# 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. Seejärel avage MySQL-i serveri konfiguratsioonifail ja lisage faili lõppu järgmised read.

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

Lisage järgmised read faili 50-server.cnf või mysqld.cnf lõppu.

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

MariaDB andmebaasi jaoks lisage faili 50-server.cnf lõppu ka järgmine rida:

innodb_additional_mem_pool_size	= 80M

8. Lõpuks taaskäivitage teenused MySQL ja Apache, et rakendada kõiki sätteid ja kontrollida mõlema teenuse olekut, väljastades järgmised käsud.

# systemctl restart mysql apache2
# systemctl status mysql apache2

2. samm: laadige alla ja valmistage ette kaktuste installimine

9. Alustage kaktuste installimist allikatest, laadige alla ja eraldage uusim versioon Kaktuste arhiivist ja kopeerige kõik ekstraktifailid Apache veebidokumendi juure, väljastades järgmised käsud.

# 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. Eemaldage fail index.html kataloogist/var/www/html, looge kaktuste logifail ja andke Apache'ile veebijuure teele kirjutamisõigused.

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

11. Seejärel muutke kaktuste konfiguratsioonifaili ja muutke järgmisi ridu, nagu on näidatud allpool toodud näites.

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

Kaktuste config.php faili näidis. Asendage vastavalt kaktuste andmebaasi nimi, kasutaja ja parool.

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

12. Seejärel asustage kaktuste andmebaas skriptiga cacti.sql kataloogist/var/www/html /, väljastades alltoodud käsu.

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

13. Nüüd installige mõned täiendavad ressursid, kuna Cacti mootor kogub seadmete andmeid SNMP-protokolli kaudu ja kuvab graafikat RRDtooli abil. Paigaldage kõik need, väljastades järgmise käsu.

# apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Kontrollige, kas SNMP-teenus on töökorras, taaskäivitades snmpd-deemoni, väljastades alltoodud käsu. Kontrollige ka snmpd deemoni olekut ja selle avatud porte.

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

3. samm: laadige alla ja installige Cacti-Spine

15. Cacti-Spine on cmd.php vaikimisi polleri C-kirjalik asendus. Cacti-Spine tagab kiirema täitmisaja. Allikatest Cacti-Spine pooleri kompileerimiseks installige oma süsteemis allpool nõutavad sõltuvused.

---------------- 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. Pärast ülaltoodud sõltuvuste installimist laadige alla Cacti-Spine'i arhiivi uusim versioon, eraldage tarball ja kompileerige kaktused-selg, väljastades järgmised käsusarjad.

# 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. Koostage ja installige Cacti-Spine allikatest, väljastades järgmised käsud.

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

18. Järgmisena veenduge, et selgroo binaarne osa oleks juurkonto, ja määrake selgroo utiliidi jaoks sobiv bit, käivitades järgmised käsud.

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

19. Nüüd muutke Cacti Spine'i konfiguratsioonifaili ja lisage kaktuste andmebaasi nimi, kasutaja ja parool Spine conf -faili, nagu on näidatud allpool toodud näites.

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

Lisage järgmine konfiguratsioon failile stub.conf.

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

4. samm: kaktuste installimise viisardi seadistamine

20. Kaktuste installimiseks avage brauser ja navigeerige järgmisel URL-il oma süsteemi IP-aadressile või domeeninimele.

http://your_IP/install

Kõigepealt kontrollige Acept License Agreement ja jätkamiseks vajutage nuppu Next.

21. Järgmisena kontrollige, kas süsteeminõuded ja vajutage jätkamiseks nuppu Edasi.

22. Valige järgmises aknas Uus esmane server ja vajutage jätkamiseks nuppu Edasi.

23. Seejärel kontrollige kriitilisi binaarseid asukohti ja versioone ning muutke lülisamba binaarne tee väärtuseks/usr/local/selg/bin/selg. Kui olete lõpetanud, vajutage jätkamiseks nuppu Järgmine.

24. Järgmisena kontrollige, kas kõik veebiserveri kataloogi load on olemas (kirjutamisõigused on määratud) ja vajutage jätkamiseks nuppu Edasi.

25. Järgmisel sammul kontrollige kõiki malle ja vajutage nuppu Valmis, et installiprotsess lõpule viia.

26. Logige Cacti veebiliidesesse sisse allpool näidatud vaikemandaatidega ja muutke administraatori parooli, nagu on illustreeritud järgmistel ekraanipiltidel.

Username: admin
Password: admin

27. Järgmisena minge jaotisse Konsool -> Konfiguratsioon -> Seaded -> Poller ja muutke Polleri tüüp cmd.php-st binaarseks selgrooks ja kerige konfiguratsiooni salvestamiseks alla nupule Salvesta.

28. Seejärel minge Console -> Configuration -> Settings -> Paths ja lisage järgmine tee Cacti-Spine konfiguratsioonifaili:

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

Konfiguratsiooni rakendamiseks vajutage nuppu Salvesta.

29. Lõplik seadistus, mis võimaldab kaktuste küsitlejal hakata jälgitavatest seadmetest andmeid koguma, on lisada uus crontab-ülesanne, et iga seadme kohta SNMP kaudu iga 5 minuti järel päringuid teha.

Crontab-töö peab kuuluma www-data kontole.

# crontab -u www-data -e

Croni failikirje lisamine:

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

30. Oodake mõni minut, kuni kaktused andmeid koguvad, ja minge jaotisse Graafikud -> Vaikepuu ja peaksite nägema teie jälgitavate seadmete jaoks kogutud graafikuid.

See on kõik! Olete edukalt installinud ja seadistanud kaktused allikatest koosneva Cacti-Spine pooleri abil Debian 9 ja Ubuntu 16.04 LTS serveri viimases versioonis.