Ract/CentOS 8/7 we Fedora 30-da Cacti (Network Monitoring) guruň


Cacti guraly, açyk çeşme web esasly tor gözegçiligi we IT biznesi üçin ulgam gözegçiligi grafiki çözgüdi. Cacti, ulanyja RRDtool ulanyp, maglumatlaryň grafiklerini döretmek üçin yzygiderli aralykda hyzmatlary saýlamaga mümkinçilik berýär. Adatça, disk meýdançasy we ş.m. ýaly ölçegleriň wagt seriýaly maglumatlaryny grafika etmek üçin ulanylýar.

Bu usulda, DNF paket dolandyryjy guralyny ulanyp, RHEL, CentOS we Fedora ulgamlarynda Net-SNMP guralyny ulanyp, Cacti atly doly tor gözegçilik programmasyny nädip gurmalydygyny we gurmalydygyny görkezeris.

Cacti, RHEL/CentOS/Fedora ýaly Linux operasiýa ulgamlaryňyza aşakdaky paketleri gurmagy talap etdi.

  1. Apache: PHP we RRDTool tarapyndan döredilen tor grafiklerini görkezmek üçin web serweri.
  2. MySQL: Kakti maglumatlary saklamak üçin maglumatlar bazasy serweri.
  3. PHP: RRDTool ulanyp grafikleri döretmek üçin skript moduly.
  4. PHP-SNMP: SNMP maglumatlara girmek üçin PHP giňeltmesi.
  5. NET-SNMP: Ulgamy dolandyrmak üçin SNMP (Simönekeý tor dolandyryş protokoly) ulanylýar.
  6. RRDTool: CPU ýükleri, Network Bandwidth we ş.m. ýaly wagt seriýaly maglumatlary dolandyrmak we almak üçin maglumat bazasy guraly

Bellik: Bu ýerde gurnama görkezmeleri CentOS 7.5 Linux paýlanyşyna esaslanýar.

RHEL/CentOS/Fedora-da gerekli paketleri gurmak

Ilki bilen, görkezilişi ýaly deslapky paket dolandyryjy guralyny ulanyp, aşakdaky garaşlylyk paketlerini birin-birin gurmalydyrys.

# 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, MySQL maglumat bazasy taslamasynyň jemgyýetçilik tarapyndan döredilen çeňňegi bolup, MySQL üçin çalyşma üpjün edýär. Ozal resmi goldaýan maglumatlar bazasy RHEL/CentOS we Fedora-daky MySQL.

Recentlyakynda, RedHat MySQL-den MariaDB-a täze bir amal etdi, sebäbi MariaDB RHEL/CentOS 8/7 we Fedora 19-dan MySQL-iň deslapky ýerine ýetirilişi.

# 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

Apache, MySQL we SNMP Hyzmatlaryny görmek

Cacti gurmak üçin zerur programma üpjünçiligini guranyňyzdan soň, aşakdaky buýruklary ulanyp, ýeke-ýekeden başlalyň.

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

Ulgamyň başlangyç baglanyşyklaryny sazlaň

Başlamak üçin Apache, MySQL we SNMP hyzmatlaryny sazlamak.

 /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

Kaktini RHEL/CentOS/Fedora guruň

Bu ýerde, EPEL ammaryny gurmaly we işletmeli. Ammary açanyňyzdan soň, Cacti programmasyny gurmak üçin aşakdaky buýrugy ýazyň.

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

Kakti gurmak üçin MySQL serwerini sazlamak

Cacti üçin MySQL-i sazlamaly, munuň üçin täze gurlan MySQL serwerini üpjün etmeli, soň bolsa Cacti ulanyjysy bilen Cacti maglumatlar bazasyny dörederis. MySQL bolsaňyz, eýýäm gurlan we ygtybarly bolsaňyz, ony gaýtadan etmegiň zerurlygy ýok.

# mysql_secure_installation

MySQL serwerine täze döredilen parol bilen giriň we Cacti ulanyjysy bilen Cacti maglumatlar bazasyny dörediň we paroly belläň.

 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

RPM buýrugyny ulanyp, maglumat bazasynyň faýl ýoluny tapyň, täze döredilen Cacti maglumatlar bazasyna kaktus tablisalaryny gurmak üçin aşakdaky buýrugy ulanyň.

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

Indi biz “Cacti.sql” faýlynyň ýerleşýän ýeri, tablisalary gurmak üçin aşakdaky buýrugy ýazyň, bu ýerde “Cacti” ulanyjy parolyny ýazmaly.

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

/Etc/cacti/db.php atly faýly islendik redaktor bilen açyň.

# vi /etc/cacti/db.php

Aşakdaky üýtgeşmeleri giriziň we faýly ýazdyryň. Paroly dogry belländigiňize göz ýetiriň.

/* 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;

Kakti üçin gorag diwaryny sazlamak

 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

Kakti gurmak üçin Apache serwerini sazlamak

Redaktoryňyzy saýlamak bilen /etc/httpd/conf.d/cacti.conf atly faýly açyň.

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

Networkerli ulgamyňyz üçin ýa-da IP derejesinde Cacti programmasyna girmegi üpjün etmeli. Mysal üçin, ýerli LAN ulgamyna 172.16.16.0/20 girmäge mümkinçilik berdik. Siziň ýagdaýyňyzda başgaça bolardy.

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

Apache-iň soňky wersiýasynda (mysal üçin: Apache 2.4), aşakdaky sazlamalara görä üýtgemeli bolmagyňyz mümkin.

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>

Ahyrynda, Apache hyzmatyny täzeden açyň.

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

Kakti üçin kron düzmek

/Etc/cron.d/cacti faýly açyň.

# vi /etc/cron.d/cacti

Aşakdaky setir. Poller.php skripti her 5 minutdan işleýär we grafikleri görkezmek üçin Cacti programmasy tarapyndan ulanylýan belli öý eýesiniň maglumatlary ýygnaýar.

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

Cacti gurnaýjy gurnama

Ahyrynda, Cacti taýýar, diňe http:// YOUR-IP-HERE/cacti/-e giriň we gurnaýjy görkezmesini aşakdaky ekranlar arkaly ýerine ýetiriň. Adaty giriş maglumatlaryny giriziň we Enter düwmesine basyň.

User: admin
Password: admin

Ondan soň, Cacti parolyny üýtgediň.

Kakti ygtyýarnamasy şertnamasyny kabul ediň.

Ondan soň, ekranda “Cacti” gurmak üçin deslapky barlaglar görkezilýär, görkezilişi ýaly /etc/php.ini faýlyňyzda teklip edilen sazlamalary düzediň we üýtgeşmeler girizilenden soň Apache-i täzeden açyň.

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

Edil şonuň ýaly-da, ulanyjy Cacti üçin MySQL TimeZone maglumat bazasyna girmäge rugsat bermeli, maglumatlar bazasy global TimeZone maglumatlary bilen doldurylýar.

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

Gurmak görnüşini “Täze gurnama” hökmünde saýlaň.

Dowam etmezden ozal aşakdaky katalog rugsatlarynyň dogrudygyna göz ýetiriň.

Dowam etmezden ozal bu tankydy ikilik ýerleriň we wersiýalaryň hemmesiniň dogrudygyna göz ýetiriň.

Saýlaw çeşmeleri üçin ulanyljak deslapky maglumatlar çeşmesini saýlaň.

“Cacti” gurnandan soň ulanmak isleýän enjamyňyz şablonlaryny saýlaň.

Serwer ýygyndysyny görkezilişi ýaly [mysqld] bölüminiň aşagyndaky MySQL konfigurasiýa faýlyňyzda /etc/my.cnf düzüň.

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

“Cacti Server” taýýar diýen ýaly. Dowam etmegiňize begenýändigiňizi tassyklaň.

Has giňişleýin maglumat we ulanmak üçin Kakti sahypasyna girmegiňizi haýyş edýäris.