Sakinisha Cacti (Ufuatiliaji wa Mtandao) kwenye RHEL/CentOS 8/7 na Fedora 30


Chombo cha Cacti ni ufuatiliaji wa mtandao wa mtandao wa chanzo huria na suluhisho la ufuatiliaji wa mfumo wa graphing kwa biashara ya IT. Cacti huwezesha mtumiaji kupigia kura huduma mara kwa mara ili kuunda grafu kwenye data inayotokana kwa kutumia RRDtool. Kwa ujumla, hutumika kuorodhesha data ya mfululizo wa saa ya vipimo kama vile nafasi ya diski, n.k.

Katika jinsi ya kufanya, tutakuonyesha jinsi ya kusakinisha na kusanidi programu kamili ya ufuatiliaji wa mtandao iitwayo Cacti kwa kutumia zana ya Net-SNMP kwenye mifumo ya RHEL, CentOS na Fedora kwa kutumia zana ya kidhibiti kifurushi cha DNF.

Cacti ilihitaji vifurushi vifuatavyo kusakinishwa kwenye mifumo yako ya uendeshaji ya Linux kama vile RHEL/CentOS/Fedora.

  1. Apache : Seva ya Wavuti ya kuonyesha grafu za mtandao iliyoundwa na PHP na RRDTool.
  2. MySQL : Seva ya Hifadhidata ya kuhifadhi maelezo ya cacti.
  3. PHP : Sehemu ya hati ya kuunda grafu kwa kutumia RRDTool.
  4. PHP-SNMP : Kiendelezi cha PHP kwa SNMP kufikia data.
  5. NET-SNMP : SNMP (Itifaki Rahisi ya Usimamizi wa Mtandao) inatumika kudhibiti mtandao.
  6. RRDTool : Zana ya hifadhidata ya kudhibiti na kurejesha data ya mfululizo wa saa kama vile mzigo wa CPU, Bandwidth ya Mtandao, n.k.

Kumbuka: Maagizo ya usakinishaji yalionyeshwa hapa yameandikwa kulingana na usambazaji wa CentOS 7.5 Linux.

Kufunga Vifurushi Vinavyohitajika vya Cacti kwenye RHEL/CentOS/Fedora

Kwanza, tunahitaji kusakinisha vifurushi vifuatavyo vya utegemezi mmoja baada ya mwingine kwa kutumia zana ya kidhibiti cha kifurushi kama inavyoonyeshwa.

# yum install httpd httpd-devel   [On RHEL/CentOS 7/6]
# dnf install httpd httpd-devel   [On RHEL/CentOS 8 and Fedora 30]
# yum install mysql mysql-server      [On RHEL/CentOS 6]

MariaDB ni uma iliyoendelezwa na jamii ya mradi wa hifadhidata ya MySQL na hutoa mbadala wa MySQL. Hapo awali hifadhidata rasmi iliyoungwa mkono ilikuwa MySQL chini ya RHEL/CentOS na Fedora.

Hivi majuzi, RedHat hufanya muamala mpya kutoka MySQL hadi MariaDB, kwani MariaDB ndio utekelezwaji chaguomsingi wa MySQL katika RHEL/CentOS 8/7 na Fedora 19 kuendelea.

# yum install mariadb-server -y		[On RHEL/CentOS 7]
# dnf install mariadb-server -y         [On RHEL/CentOS 8 and Fedora 30]
# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli
OR
# dnf install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli
# yum install php-snmp
OR
# dnf install php-snmp         
# yum install net-snmp-utils net-snmp-libs
OR
# dnf install net-snmp-utils net-snmp-libs
# yum install rrdtool
OR
# dnf install rrdtool

Inaangazia Apache, MySQL, na Huduma za SNMP

Mara tu unaposakinisha programu zote zinazohitajika kwa usakinishaji wa Cacti, wacha tuzianze moja kwa moja kwa kutumia amri zifuatazo.

 service httpd start
 service mysqld start
 service snmpd start
 systemctl start httpd.service
 systemctl start mariadb.service
 systemctl start snmpd.service

Sanidi Viungo vya Kuanzisha Mfumo

Inasanidi Huduma za Apache, MySQL na SNMP ili kuanza kwenye buti.

 /sbin/chkconfig --levels 345 httpd on
 /sbin/chkconfig --levels 345 mysqld on
 /sbin/chkconfig --levels 345 snmpd on
 systemctl enable httpd.service
 systemctl enable mariadb.service
 systemctl enable snmpd.service

Sakinisha Cacti kwenye RHEL/CentOS/Fedora

Hapa, unahitaji kusakinisha na kuwezesha Hifadhi ya EPEL. Mara baada ya kuwezesha hazina, chapa amri ifuatayo ili kusakinisha programu ya Cacti.

# yum install cacti         [On RHEL/CentOS 7]
# dnf install cacti         [On RHEL/CentOS 8 and Fedora 30]

Inasanidi Seva ya MySQL kwa Usakinishaji wa Cacti

Tunahitaji kusanidi MySQL ya Cacti, ili kufanya hivyo tunahitaji kupata seva mpya ya MySQL iliyosakinishwa na kisha tutaunda hifadhidata ya Cacti na mtumiaji Cacti. Ikiwa MySQL tayari imesakinishwa na kulindwa, basi huna haja ya kuifanya tena.

# mysql_secure_installation

Ingia kwenye seva ya MySQL ukitumia nenosiri jipya na uunde hifadhidata ya Cacti na mtumiaji Cacti na uweke nenosiri lake.

 mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL ON cacti.* TO [email  IDENTIFIED BY 'tecmint';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye
 mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.41-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database cacti;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON cacti.* TO [email  IDENTIFIED BY 'tecmint';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> FLUSH privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit;
Bye

Tafuta njia ya faili ya hifadhidata kwa kutumia amri ya RPM, kusanikisha meza za cacti kwenye hifadhidata mpya ya Cacti, tumia amri ifuatayo.

# rpm -ql cacti | grep cacti.sql
/usr/share/doc/cacti-1.2.6/cacti.sql
OR
/usr/share/doc/cacti/cacti.sql

Sasa tuna eneo la faili ya Cacti.sql, chapa amri ifuatayo ili kusakinisha meza, hapa unahitaji kuandika nenosiri la mtumiaji wa Cacti.

 mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
Enter password:

Fungua faili inayoitwa /etc/cacti/db.php na mhariri wowote.

# vi /etc/cacti/db.php

Fanya mabadiliko yafuatayo na uhifadhi faili. Hakikisha umeweka nenosiri kwa usahihi.

/* make sure these values reflect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "your-password-here";
$database_port = "3306";
$database_ssl = false;

Inasanidi Firewall kwa Cacti

 iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
 iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
 service iptables save
 firewall-cmd --permanent --zone=public --add-service=http
 firewall-cmd --reload

Inasanidi Seva ya Apache kwa Usakinishaji wa Cacti

Fungua faili inayoitwa /etc/httpd/conf.d/cacti.conf na chaguo lako la kihariri.

# vi /etc/httpd/conf.d/cacti.conf

Unahitaji kuwezesha ufikiaji wa programu ya Cacti kwa mtandao wako wa karibu au kwa kiwango cha IP. Kwa mfano, tumewezesha ufikiaji wa mtandao wetu wa ndani wa LAN 172.16.16.0/20. Kwa upande wako, itakuwa tofauti.

Alias /cacti    /usr/share/cacti
 
<Directory /usr/share/cacti/>
        Order Deny,Allow
        Deny from all
        Allow from 172.16.16.0/20
</Directory>

Katika toleo la hivi karibuni la Apache (mfano: Apache 2.4), huenda ukahitaji kubadilisha kulingana na mipangilio ifuatayo.

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
                # httpd 2.4
                Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
                # httpd 2.2
                Order deny,allow
                Deny from all
                Allow from all
        </IfModule>
</Directory>

Hatimaye, anzisha upya huduma ya Apache.

 service httpd restart				[On RHEL/CentOS 6 and Fedora 18-12]
 systemctl restart httpd.service		[On RHEL/CentOS 8/7 and Fedora 19 onwards]

Kuweka Cron kwa Cacti

Fungua faili /etc/cron.d/cacti.

# vi /etc/cron.d/cacti

Toa maoni kwenye mstari ufuatao. Hati ya poller.php huendesha kila baada ya dakika 5 na kukusanya data ya seva pangishi inayojulikana ambayo hutumiwa na programu ya Cacti kuonyesha grafu.

#*/5 * * * *    cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

Inaendesha Usanidi wa Kisakinishi cha Cacti

Hatimaye, Cacti iko tayari, nenda tu kwa http://YOUR-IP-HERE/cacti/ na ufuate maagizo ya kisakinishi kupitia skrini zifuatazo. Ingiza maelezo ya msingi ya kuingia na ubofye kitufe cha Ingiza.

User: admin
Password: admin

Ifuatayo, badilisha nenosiri la msingi la Cacti.

Kubali Makubaliano ya Leseni ya Cacti.

Kisha, skrini inaonyesha Ukaguzi wa Usakinishaji wa Mapema kwa usakinishaji wa Cacti, tafadhali sahihisha mipangilio iliyopendekezwa katika faili yako ya /etc/php.ini kama inavyoonyeshwa na uwashe upya Apache baada ya kufanya mabadiliko.

memory_limit = 800M
max_execution_time = 60
date.timezone = Asia/Kolkata

Vile vile, unahitaji pia kutoa ufikiaji wa hifadhidata ya MySQL TimeZone kwa mtumiaji Cacti, ili hifadhidata iwe na taarifa za kimataifa za TimeZone.

mysql> use mysql;
mysql> GRANT SELECT ON mysql.time_zone_name TO [email ;
mysql> flush privileges;

Tafadhali chagua Aina ya usakinishaji kama Usakinishaji Mpya.

Hakikisha kwamba ruhusa zote za saraka zifuatazo ni sahihi kabla ya kuendelea.

Hakikisha maadili haya yote Muhimu ya Maeneo Nambari na Matoleo ni sahihi kabla ya kuendelea.

Tafadhali chagua Wasifu chaguomsingi wa Chanzo cha Data utakaotumiwa kwa vyanzo vya kupigia kura.

Tafadhali, chagua Violezo vya Kifaa ambavyo ungependa kutumia baada ya Kusakinisha kwa Cacti.

Weka Mkusanyiko wa Seva katika faili yako ya usanidi ya MySQL /etc/my.cnf chini ya sehemu ya [mysqld] kama inavyoonyeshwa.

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

Seva yako ya Cacti iko karibu kuwa tayari. Tafadhali thibitisha kuwa una furaha kuendelea.

Kwa habari zaidi na matumizi tafadhali tembelea Ukurasa wa Cacti.