Jinsi ya Kufunga Cacti na Cacti-Spine katika Debian na Ubuntu


Katika somo hili tutajifunza jinsi ya kusakinisha na kusanidi zana ya ufuatiliaji wa mtandao wa Cacti katika toleo jipya zaidi la Debian na Ubuntu 16.04 LTS. Cacti itaundwa na kusakinishwa kutoka kwa faili za chanzo wakati wa mwongozo huu.

Cacti ni zana huria ya ufuatiliaji iliyoundwa kwa ajili ya mitandao ya ufuatiliaji, hasa vifaa vya mtandao, kama vile swichi, vipanga njia, seva kupitia itifaki ya SNMP. Cacti huingiliana na watumiaji wa mwisho na inaweza kusimamiwa kupitia kiolesura cha zana ya wavuti.

  1. Rafu ya LAMP Imesakinishwa katika Debian 9
  2. Rafu ya LAMP Imesakinishwa katika Ubuntu 16.04 LTS

Hatua ya 1: Sakinisha na Usanidi Masharti ya Cacti

1. Katika Debian 9, faili ya orodha ya vyanzo wazi kwa ajili ya kuhaririwa na ongeza hazina za mchango na zisizo za bure kwenye faili kwa kubadilisha mistari ifuatayo:

# nano /etc/apt/sources.list

Ongeza mistari ifuatayo kwenye faili ya 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. Baadaye, hakikisha kusasisha mfumo kwa kutoa amri iliyo hapa chini.

# apt update
# apt upgrade

3. Katika mrundikano wako wa LAMP hakikisha viendelezi vifuatavyo vya PHP vipo kwenye mfumo.

# 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. Kisha, hariri faili ya usanidi wa PHP na ubadilishe mpangilio wa eneo la saa ili ulingane na eneo halisi la seva yako, kwa kutoa amri iliyo hapa chini.

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

5. Kisha, ingia kwenye hifadhidata ya MariaDB au MySQL kutoka kwa usakinishaji wa rafu yako ya LAMP na uunde hifadhidata ya kusakinisha Cacti kwa kutoa amri zifuatazo.

Badilisha jina la hifadhidata ya cacti, mtumiaji na nenosiri ili kuendana na usanidi wako mwenyewe na uchague nenosiri dhabiti la hifadhidata ya cacti.

# 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. Pia, toa amri zilizo hapa chini ili kuruhusu ruhusa za kuchagua mtumiaji wa cacti kwa mpangilio wa data.timezone wa MySQL kwa kutoa amri zilizo hapa chini.

# 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. Kisha, fungua faili ya usanidi wa seva ya MySQL na uongeze mistari ifuatayo mwishoni mwa faili.

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

Ongeza mistari ifuatayo hadi mwisho wa faili ya 50-server.cnf au 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

Kwa hifadhidata ya MariaDB pia ongeza laini ifuatayo hadi mwisho wa faili ya 50-server.cnf:

innodb_additional_mem_pool_size	= 80M

8. Hatimaye, anzisha upya huduma za MySQL na Apache ili kutumia mipangilio yote na uthibitishe hali ya huduma zote mbili kwa kutoa amri zifuatazo.

# systemctl restart mysql apache2
# systemctl status mysql apache2

Hatua ya 2: Pakua na Andaa Ufungaji wa Cacti

9. Anza kusakinisha Cacti kutoka kwa vyanzo kwa kupakua na kutoa toleo jipya zaidi la kumbukumbu ya Cacti na unakili faili zote za dondoo kwenye mzizi wa hati ya wavuti ya Apache, kwa kutoa amri zifuatazo.

# 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. Ondoa faili ya index.html kutoka kwa saraka ya /var/www/html, unda faili ya kumbukumbu ya Cacti na upe Apache kwa ruhusa ya kuandika kwenye njia ya mizizi ya wavuti.

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

11. Kisha, hariri faili ya usanidi wa cacti na urekebishe mistari ifuatayo kama inavyoonyeshwa katika mfano ulio hapa chini.

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

Sampuli ya faili ya Cacti config.php. Badilisha jina la hifadhidata ya cacti, mtumiaji na nywila ipasavyo.

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

12. Kisha, jaza hifadhidata ya cacti na hati ya cacti.sql kutoka /var/www/html/ saraka kwa kutoa amri iliyo hapa chini.

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

13. Sasa sakinisha baadhi ya nyenzo za ziada, kwani injini ya Cacti inakusanya data ya vifaa kupitia itifaki ya SNMP na kuonyesha michoro kwa kutumia RRDtool. Sakinisha zote kwa kutoa amri ifuatayo.

# apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Thibitisha kama huduma ya SNMP iko na inafanya kazi kwa kuanzisha upya daemon ya snmpd kwa kutoa amri iliyo hapa chini. Pia angalia hali ya daemon ya snmpd na bandari zake wazi.

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

Hatua ya 3: Pakua na Sakinisha Cacti-Spine

15. Cacti-Spine ni mbadala iliyoandikwa ya C kwa poller chaguo-msingi ya cmd.php. Cacti-Spine hutoa wakati wa utekelezaji haraka. Ili kukusanya Cacti-Spine pooler kutoka kwa vyanzo sakinisha tegemezi zinazohitajika hapa chini kwenye mfumo wako.

---------------- 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. Baada ya kusakinisha vitegemezi vilivyo hapo juu, pakua toleo jipya zaidi la kumbukumbu ya Cacti-Spine, toa tarball na ukusanye cacti-spine kwa kutoa mfululizo wa amri zifuatazo.

# 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. Unganisha na usakinishe Cacti-Spine kutoka kwa vyanzo kwa kutoa amri zifuatazo.

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

18. Ifuatayo, hakikisha kwamba binary ya mgongo inamilikiwa na akaunti ya mizizi na weka sehemu ya suid kwa matumizi ya mgongo kwa kuendesha amri zifuatazo.

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

19. Sasa, hariri faili ya usanidi ya Cacti Spine na uongeze jina la hifadhidata ya cacti, mtumiaji na nenosiri kwenye faili ya Spine conf kama inavyoonyeshwa kwenye mfano ulio hapa chini.

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

Ongeza usanidi ufuatao kwenye faili ya spine.conf.

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

Hatua ya 4: Usanidi wa Mchawi wa Usakinishaji wa Cacti

20. Ili kusakinisha Cacti, fungua kivinjari na uende kwenye anwani ya IP ya mfumo wako au jina la kikoa kwenye URL ifuatayo.

http://your_IP/install

Kwanza, angalia Mkataba wa Leseni ya Kubali na ubofye kitufe Inayofuata ili kuendelea.

21. Kisha, angalia ikiwa mahitaji ya mfumo na ubofye kitufe Inayofuata ili kuendelea.

22. Katika dirisha linalofuata, chagua Seva Mpya ya Msingi na ubofye kitufe Inayofuata ili kuendelea.

23. Kisha, thibitisha maeneo na matoleo muhimu ya binary na ubadilishe njia ya jozi ya Mgongo kuwa /usr/local/spine/bin/spine. Ukimaliza, bonyeza kitufe Inayofuata ili kuendelea.

24. Kisha, angalia ikiwa ruhusa zote za saraka ya seva ya wavuti ziko (ruhusa za kuandika zimewekwa) na ubofye kitufe kinachofuata ili kuendelea.

25. Katika hatua inayofuata, angalia violezo vyote na ubonyeze kitufe cha Maliza ili kumaliza mchakato wa usakinishaji.

26. Ingia kwenye kiolesura cha wavuti cha Cacti kwa vitambulisho chaguo-msingi vilivyoonyeshwa hapa chini na ubadilishe nenosiri la msimamizi, kama inavyoonyeshwa kwenye picha za skrini zifuatazo.

Username: admin
Password: admin

27. Kisha, nenda kwa Console -> Configuration -> Settings -> Poller na ubadilishe Aina ya Poller kutoka cmd.php hadi Spine binary na usogeze chini hadi kitufe cha Hifadhi ili kuhifadhi usanidi.

28. Kisha, nenda kwa Console -> Usanidi -> Mipangilio -> Njia na uongeze njia ifuatayo kwenye faili ya usanidi ya Cacti-Spine:

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

Bonyeza kitufe cha Hifadhi ili kuweka usanidi.

29. Mipangilio ya mwisho inayowezesha Cacti poller kuanza kukusanya data kutoka kwa vifaa vinavyofuatiliwa ni kuongeza kazi mpya ya crontab ili kuuliza maswali kwa kila kifaa kupitia SNMP kila baada ya dakika 5.

Kazi ya crontab lazima imilikiwe na akaunti ya www-data.

# crontab -u www-data -e

Ongeza ingizo la faili la Cron:

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

30. Subiri dakika chache kwa Cacti kukusanya data na uende kwenye Grafu -> Mti Chaguomsingi na unapaswa kuona grafu zilizokusanywa kwa ajili ya vifaa vyako vinavyofuatiliwa.

Ni hayo tu! Umesakinisha na kusanidi kwa ufanisi Cacti kwa kutumia Cacti-Spine pooler, kutoka kwa vyanzo, katika toleo jipya zaidi la seva ya Debian 9 na Ubuntu 16.04 LTS.