Installéiert Cacti (Network Monitoring) op RHEL/CentOS 8/7 a Fedora 30


Cacti Tool ass eng Open-Source Web-baséiert Netzwierk Iwwerwachung a System Iwwerwachung Grafik Léisung fir IT Geschäfter. Cacti erméiglechen e Benotzer fir Servicer a reegelméissegen Intervalle ze pollen fir Grafike op resultéierend Donnéeën mat RRDtool ze kreéieren. Allgemeng gëtt et benotzt fir Zäitseriedaten vu Metriken wéi Disk Space, etc.

An dësem How-to, wäerte mir Iech weisen wéi Dir eng komplett Netzwierk Iwwerwachungsapplikatioun mam Numm Cacti installéiert an opstellt mat Net-SNMP Tool op RHEL, CentOS a Fedora Systemer mat DNF Package Manager Tool.

De Cacti erfuerdert déi folgend Packagen fir op Äre Linux Betribssystemer wéi RHEL/CentOS/Fedora installéiert ze ginn.

  1. Apache: E Webserver fir Netzwierkgrafiken ze weisen, erstallt vu PHP an RRDTool.
  2. MySQL: En Datebankserver fir Kaktusseinformatioun ze späicheren.
  3. PHP : E Skriptmodul fir Grafike mat RRDTool ze kreéieren.
  4. PHP-SNMP: Eng PHP-Extensioun fir SNMP fir Zougang zu Daten.
  5. NET-SNMP: E SNMP (Simple Network Management Protocol) gëtt benotzt fir den Netz ze verwalten.
  6. RRDTool: En Datebankinstrument fir Zäitseriedaten wéi CPU Belaaschtung, Netzwierkbandbreedung, etc.

Bemierkung: D'Installatiounsinstruktiounen hei gewisen gi geschriwwe baséiert op CentOS 7.5 Linux Verdeelung.

Installéiere vun Cacti Required Packages op RHEL/CentOS/Fedora

Als éischt musse mir folgend Ofhängegkeetspäck een-vun-een installéieren mat dem Standard Package Manager Tool wéi gewisen.

# 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 ass eng Gemeinschaft-entwéckelt Gabel vum MySQL Datebankprojet a bitt en Ersatz fir MySQL. Virdru war déi offiziell ënnerstëtzt Datebank MySQL ënner RHEL/CentOS a Fedora.

Viru kuerzem mécht RedHat eng nei Transaktioun vu MySQL op MariaDB, well MariaDB ass d'Standardimplementatioun vu MySQL an RHEL/CentOS 8/7 a Fedora 19 weider.

# 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

Staring Apache, MySQL, an SNMP Services

Wann Dir all déi erfuerderlech Software fir d'Cacti Installatioun installéiert hutt, loosst eis se een-fir-een ufänken mat de folgende Kommandoen.

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

Konfiguréieren System Startup Linken

Apache, MySQL an SNMP Services konfiguréieren fir beim Boot ze starten.

 /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

Installéiert Cacti op RHEL/CentOS/Fedora

Hei musst Dir den EPEL Repository installéieren an aktivéieren. Wann Dir de Repository aktivéiert hutt, gitt de folgende Kommando fir d'Cacti Applikatioun z'installéieren.

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

MySQL Server fir Cacti Installatioun konfiguréieren

Mir mussen MySQL fir Cacti konfiguréieren, fir dëst ze maachen musse mir en nei installéierten MySQL Server sécheren an da kreéiere mir Cacti Datebank mat Benotzer Cacti. Wann Dir MySQL ass schonn installéiert a geséchert, da musst Dir et net erëm maachen.

# mysql_secure_installation

Login op MySQL Server mat engem nei erstallt Passwuert a erstellt Cacti Datebank mam Benotzer Cacti a setzt d'Passwuert dofir.

 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

Fannt den Datebankdatei Wee mam RPM Kommando eraus, fir Kaktussetabellen an nei erstallt Cacti Datebank z'installéieren, benotzt de folgende Kommando.

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

Elo hu mir vun der Plaz vun der Cacti.sql Datei, gitt de folgende Kommando fir Tabellen z'installéieren, hei musst Dir d'Cacti Benotzer Passwuert aginn.

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

Öffnen d'Datei genannt /etc/cacti/db.php mat all Editor.

# vi /etc/cacti/db.php

Maacht déi folgend Ännerungen a späichert d'Datei. Vergewëssert Iech datt Dir Passwuert richteg agestallt hutt.

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

Firewall fir Cacti konfiguréieren

 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

Apache Server fir Cacti Installatioun konfiguréieren

Open Datei mam Numm /etc/httpd/conf.d/cacti.conf mat Ärer Wiel vum Editor.

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

Dir musst Zougang zu Cacti Applikatioun fir Äre lokalen Netzwierk oder pro IP Niveau aktivéieren. Zum Beispill hu mir Zougang zu eisem lokalen LAN Netzwierk 172.16.16.0/20 aktivéiert. An Ärem Fall wier et anescht.

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

An der leschter Versioun vun Apache (zB: Apache 2.4), musst Dir eventuell no de folgenden Astellungen änneren.

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>

Endlech, den Apache Service nei starten.

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

Astellung Cron fir Cacti

Open Datei /etc/cron.d/cacti.

# vi /etc/cron.d/cacti

Kommentéieren déi folgend Linn. De Poller.php Skript leeft all 5mins a sammelt Daten vum bekannten Host, dee vun der Cacti Applikatioun benotzt gëtt fir Grafiken ze weisen.

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

Lafen Cacti Installer Setup

Endlech, Cacti ass prett, gitt einfach op http://YOUR-IP-HERE/cacti/ & befollegt d'Installatiounsinstruktioun duerch déi folgend Schiirme. Gitt d'Default Umeldungsdetailer an a klickt Enter Knäppchen.

User: admin
Password: admin

Als nächst ännert de Standard Cacti Passwuert.

Akzeptéieren Cacti Lizenz Accord.

Als nächst weist den Ecran Pre-Installatiounschecks fir d'Cacti Installatioun, korrigéiert w.e.g. déi proposéiert Astellungen an Ärer /etc/php.ini Datei wéi gewisen a start Apache nei nodeems Dir Ännerungen gemaach hutt.

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

Ähnlech musst Dir och Zougang zu der MySQL TimeZone Datebank fir Benotzer Cacti ginn, sou datt d'Datebank mat globaler TimeZone Informatioun populéiert ass.

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

Wielt w.e.g. den Installatiounstyp als Nei Installatioun.

Vergewëssert Iech datt all déi folgend Verzeechnes Permissiounen richteg sinn ier Dir weider geet.

Vergewëssert Iech datt all dës Critical Binary Locations a Versioune Wäerter richteg sinn ier Dir weider geet.

Wielt w.e.g. de Standarddatenquellprofil fir fir Ëmfroquellen ze benotzen.

Wielt w.e.g. d'Device Templates déi Dir benotze wëllt no der Cacti Install.

Setzt d'Server Collation an Ärer MySQL Konfiguratiounsdatei /etc/my.cnf ënner der [mysqld] Sektioun wéi gewisen.

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

Äre Cacti Server ass bal fäerdeg. Confirméiert w.e.g. datt Dir frou sidd weiderzegoen.

Fir méi Informatioun a Benotzung besicht w.e.g. d'Cacti Säit.