Installer kaktus (netværksovervågning) på RHEL/CentOS 8/7 og Fedora 30


Kaktusværktøj er en open-source webbaseret netværksovervågning og systemovervågningsgrafløsning til it-forretning. Kaktus gør det muligt for en bruger at afstemme tjenester med jævne mellemrum for at oprette grafer over resulterende data ved hjælp af RRDtool. Generelt bruges det til at tegne tidsseriedata for metrics såsom diskplads osv.

I denne vejledning skal vi vise dig, hvordan du installerer og opsætter en komplet netværksovervågningsapplikation kaldet Cacti ved hjælp af Net-SNMP-værktøjet på RHEL-, CentOS- og Fedora-systemer ved hjælp af DNF-pakkehåndteringsværktøj.

Kaktuserne krævede, at følgende pakker skulle installeres på dine Linux-operativsystemer som RHEL/CentOS/Fedora.

  1. Apache: En webserver, der viser netværksgrafer oprettet af PHP og RRDTool.
  2. MySQL: En databaseserver til lagring af kaktusoplysninger.
  3. PHP: Et scriptmodul til oprettelse af grafer ved hjælp af RRDTool.
  4. PHP-SNMP: En PHP-udvidelse til SNMP for at få adgang til data.
  5. NET-SNMP: En SNMP (Simple Network Management Protocol) bruges til at styre netværket.
  6. RRDTool: Et databaseværktøj til at styre og hente tidsseriedata som CPU-belastning, netværksbåndbredde osv.

Bemærk: Installationsinstruktionerne, der blev vist her, er skrevet baseret på CentOS 7.5 Linux-distribution.

Installation af nødvendige kaktuspakker på RHEL/CentOS/Fedora

Først skal vi installere følgende afhængighedspakker en efter en ved hjælp af standardpakkehåndteringsværktøjet som vist.

# 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 er en community-udviklet fork af MySQL-databaseprojektet og giver en erstatning for MySQL. Tidligere var den officielt understøttede database MySQL under RHEL/CentOS og Fedora.

For nylig foretager RedHat en ny transaktion fra MySQL til MariaDB, da MariaDB er standardimplementeringen af MySQL i RHEL/CentOS 8/7 og Fedora 19 og fremefter.

# 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 og SNMP Services

Når du har installeret al den nødvendige software til Cacti-installation, skal vi starte dem en efter en ved hjælp af følgende kommandoer.

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

Konfigurer systemstartlinks

Konfiguration af Apache, MySQL og SNMP Services til start ved opstart.

 /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

Installer kaktus på RHEL/CentOS/Fedora

Her skal du installere og aktivere EPEL Repository. Når du har aktiveret lageret, skal du skrive følgende kommando for at installere Cacti-applikationen.

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

Konfiguration af MySQL-server til installation af kaktus

Vi er nødt til at konfigurere MySQL til Cacti, for at gøre dette er vi nødt til at sikre en nyinstalleret MySQL-server, og så opretter vi Cacti-database med bruger Cacti. Hvis du er MySQL allerede er installeret og sikret, behøver du ikke gøre det igen.

# mysql_secure_installation

Log ind på MySQL-server med en nyoprettet adgangskode, og opret Cacti-database med bruger Cacti, og indstil adgangskoden til den.

 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

Find ud af databasefilen ved hjælp af RPM-kommandoen. Brug følgende kommando for at installere kaktustabeller i nyoprettet Cacti-database.

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

Nu har vi placeringen af filen Cacti.sql, skriv følgende kommando for at installere tabeller, her skal du skrive Cacti-brugeradgangskoden.

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

Åbn filen kaldet /etc/cacti/db.php med en hvilken som helst editor.

# vi /etc/cacti/db.php

Foretag følgende ændringer, og gem filen. Sørg for at indstille adgangskoden korrekt.

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

Konfiguration af firewall til kaktus

 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

Konfiguration af Apache Server til installation af kaktus

Åbn filen kaldet /etc/httpd/conf.d/cacti.conf med dit valg af editor.

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

Du skal aktivere adgang til Cacti-applikationen til dit lokale netværk eller pr. IP-niveau. For eksempel har vi aktiveret adgang til vores lokale LAN-netværk 172.16.16.0/20. I dit tilfælde ville det være anderledes.

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

I den nyeste version af Apache (f.eks: Apache 2.4) skal du muligvis ændre i henhold til følgende indstillinger.

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>

Til sidst skal du genstarte Apache-tjenesten.

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

Indstilling af Cron til kaktus

Åbn fil /etc/cron.d/cacti.

# vi /etc/cron.d/cacti

Fjern kommentar til den følgende linje. Poller.php-scriptet kører hver 5. minut og indsamler data fra den kendte vært, som bruges af Cacti-applikationen til at vise grafer.

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

Kører Cacti Installer Setup

Endelig er Cacti klar, bare gå til http:/DIN-IP-HER/kaktus/og følg installationsvejledningen gennem følgende skærme. Indtast standard loginoplysninger, og tryk på Enter-knappen.

User: admin
Password: admin

Skift derefter standard Cacti-adgangskoden.

Accepter Cacti licensaftale.

Dernæst viser skærmen Pre-installation Checks for Cacti installation, bedes du rette de foreslåede indstillinger i din /etc/php.ini fil som vist og genstart Apache efter ændringer.

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

På samme måde skal du også give adgang til MySQL TimeZone-databasen for bruger Cacti, så databasen er befolket med globale TimeZone-oplysninger.

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

Vælg installationstypen som “Ny installation”.

Sørg for, at alle følgende bibliotektilladelser er korrekte, inden du fortsætter.

Sørg for, at alle disse kritiske værdier for binær placering og version er korrekte, inden du fortsætter.

Vælg den standarddatakildeprofil, der skal bruges til afstemningskilder.

Vælg de enhedsskabeloner, du vil bruge efter Cacti-installationen.

Indstil serveropsamlingen i din MySQL-konfigurationsfil /etc/my.cnf under [mysqld] som vist.

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

Din Cacti Server er næsten klar. Bekræft venligst, at du er glad for at fortsætte.

For mere information og brug, besøg Cacti-siden.