Namestite kaktuse (nadzor omrežja) na RHEL/CentOS 8/7 in Fedora 30


Orodje Cacti je odprtokodna spletna nadzorna mreža in grafična rešitev za spremljanje sistema za IT-poslovanje. Kaktusi uporabniku omogočajo redno anketiranje storitev za ustvarjanje grafov na nastalih podatkih z uporabo RRDtool. Na splošno se uporablja za grafično prikazovanje podatkov časovnih vrst meritev, kot je prostor na disku itd.

V tem priročniku vam bomo pokazali, kako namestiti in nastaviti celotno aplikacijo za nadzor omrežja, imenovano Cacti, z orodjem Net-SNMP v sistemih RHEL, CentOS in Fedora z orodjem za upravljanje paketov DNF.

Kaktusi so zahtevali namestitev naslednjih paketov v vaše operacijske sisteme Linux, kot je RHEL/CentOS/Fedora.

  1. Apache: spletni strežnik za prikaz omrežnih grafov, ki sta jih ustvarila PHP in RRDTool.
  2. MySQL: strežnik zbirke podatkov za shranjevanje podatkov o kaktusih.
  3. PHP: skriptni modul za ustvarjanje grafov z uporabo RRDTool.
  4. PHP-SNMP: razširitev PHP za dostop SNMP do podatkov.
  5. NET-SNMP: Za upravljanje omrežja se uporablja SNMP (Simple Network Management Protocol).
  6. RRDTool: orodje zbirke podatkov za upravljanje in pridobivanje podatkov časovnih vrst, kot so obremenitev procesorja, pasovna širina omrežja itd.

Opomba: Tu prikazana navodila za namestitev so napisana na podlagi distribucije CentOS 7.5 Linux.

Namestitev potrebnih paketov kaktusov na RHEL/CentOS/Fedora

Najprej moramo namestiti naslednje pakete odvisnosti enega za drugim z uporabo privzetega orodja za upravljanje paketov, kot je prikazano.

# 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 je vilica projekta baze podatkov MySQL, ki jo je razvila skupnost in ponuja nadomestitev MySQL. Prej je bila uradno podprta baza podatkov MySQL pod RHEL/CentOS in Fedora.

V zadnjem času RedHat opravi novo transakcijo iz MySQL v MariaDB, saj je MariaDB privzeta izvedba MySQL v RHEL/CentOS 8/7 in Fedora 19 naprej.

# 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

Pogled v storitve Apache, MySQL in SNMP

Ko namestite vso potrebno programsko opremo za namestitev kaktusov, jih zaženite enega za drugim z naslednjimi ukazi.

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

Konfigurirajte zagonske povezave sistema

Konfiguriranje storitev Apache, MySQL in SNMP za zagon ob zagonu.

 /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

Namestite kaktuse na RHEL/CentOS/Fedora

Tukaj morate namestiti in omogočiti repozitorij EPEL. Ko omogočite repozitorij, vnesite naslednji ukaz za namestitev aplikacije Cacti.

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

Konfiguriranje strežnika MySQL za namestitev kaktusov

Za Cacti moramo konfigurirati MySQL, za to pa moramo zavarovati novo nameščen strežnik MySQL, nato pa bomo z uporabnikom Cacti ustvarili bazo podatkov Cacti. Če ste MySQL že nameščen in zaščiten, vam tega ni treba ponoviti.

# mysql_secure_installation

Prijavite se v strežnik MySQL z novo ustvarjenim geslom in ustvarite bazo podatkov Cacti z uporabnikom Cacti in nastavite geslo zanj.

 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

Poiščite pot do datoteke baze podatkov z ukazom RPM, če želite namestiti tabele kaktusov v novo ustvarjeno bazo podatkov Kaktusi, uporabite naslednji ukaz.

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

Zdaj smo na lokaciji datoteke Cacti.sql, za namestitev tabel vnesite naslednji ukaz, tukaj morate vnesti uporabniško geslo Cacti.

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

Odprite datoteko z imenom /etc/cacti/db.php s katerim koli urejevalnikom.

# vi /etc/cacti/db.php

Izvedite naslednje spremembe in shranite datoteko. Prepričajte se, da ste pravilno nastavili geslo.

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

Konfiguriranje požarnega zidu za kaktuse

 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

Konfiguriranje strežnika Apache za namestitev kaktusov

Odprite datoteko z imenom /etc/httpd/conf.d/cacti.conf z izbiro urejevalnika.

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

Omogočiti morate dostop do aplikacije Kaktusi za vaše lokalno omrežje ali po ravni IP. Na primer, omogočili smo dostop do našega lokalnega omrežja LAN 172.16.16.0/20. V vašem primeru bi bilo drugače.

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

V najnovejši različici Apache (npr. Apache 2.4) boste morda morali spremeniti v skladu z naslednjimi nastavitvami.

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>

Na koncu ponovno zaženite storitev 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]

Nastavitev Crona za kaktuse

Odprite datoteko /etc/cron.d/cacti.

# vi /etc/cron.d/cacti

Prekličite naslednjo vrstico. Skript poller.php se izvaja vsakih 5 minut in zbira podatke znanega gostitelja, ki jih aplikacija Cacti uporablja za prikaz grafov.

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

Zagon namestitve Cacti Installer

Končno so Kaktusi pripravljeni, pojdite na http:// YOUR-IP-TUKAJ/kaktusi/in sledite navodilom za namestitev na naslednjih zaslonih. Vnesite privzete podatke za prijavo in pritisnite tipko Enter.

User: admin
Password: admin

Nato spremenite privzeto geslo za kaktuse.

Sprejmite licenčno pogodbo za kaktuse.

Nato se na zaslonu prikažejo prednamestitvena preverjanja namestitve kaktusov, popravite predlagane nastavitve v datoteki /etc/php.ini , kot je prikazano, in po spremembi znova zaženite Apache.

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

Podobno morate uporabniku Kaktusi omogočiti tudi dostop do baze podatkov MySQL TimeZone, tako da bo baza podatkov zapolnjena s splošnimi informacijami o časovnem pasu.

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

Prosimo, izberite vrsto namestitve kot »Nova namestitev«.

Pred nadaljevanjem se prepričajte, da so vsa naslednja dovoljenja za imenik pravilna.

Pred nadaljevanjem se prepričajte, da so vse te vrednosti kritičnih binarnih lokacij in različic pravilne.

Izberite privzeti profil vira podatkov, ki se bo uporabljal za vire glasovanja.

Prosimo, izberite predloge naprav, ki jih želite uporabiti po namestitvi kaktusov.

Nastavite Server Collation v svoji konfiguracijski datoteki MySQL /etc/my.cnf v razdelku [mysqld], kot je prikazano.

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

Vaš strežnik kaktusov je skoraj pripravljen. Potrdite, da z veseljem nadaljujete.

Za več informacij in uporabo obiščite stran Kaktusi.