Denne vejledning viser dig, hvordan du installerer og konfigurerer Cacti Network Monitoring Tool fra kilden for at sikre, at du får den nyeste version på Debian 9, codename Stretch.
Cacti er et webbaseret netværksovervågningsværktøj, helt open source, designet til at vise netværks- og systemgrafik via RRDtool. Det bruger SNMP-protokollen (Simple Network Management Protocol) til at samle og overvåge netværkstrafik fra netværksenheder, såsom switche, routere, Linux, Unix og Windows servere eller andre typer netværksbaserede enheder, der understøtter SNMP.
Krav
- Debian 9 minimal installation på en bare-metal maskine eller på en virtuel privat server.
- En statisk IP-adresse konfigureret til et af dine netværksinterfacekort.
- Adgang til root-konto eller en bruger med root-konto privilegier via sudo.
Indledende konfiguration
Før vi begynder at installere Cacti fra kilden, skal du først forsikre dig om, at dit system opfylder alle softwarekravene til kompilering og installation af Cacti. I det første trin skal du åbne Debian kilder listefilen til redigering med root privilegier og tilføj de bidragsfrie og ikke-gratis lagre som vist i nedenstående filuddrag.
nano /etc/apt/sources.list
sources.list fil prøve:
deb http://ftp.ro.debian.org/debian/ stretch main bidrag gratis deb-src http://ftp.ro.debian.org/debian/ stretch main deb http://security.debian.org/debian-security stretch / updates main bidrag gratis deb-src http://security.debian.org/debian-security stretch / updates main
Når du er færdig med at redigere filen, skal du gemme og lukke filen og opdatere dine systembeholdninger og softwarepakker for at indarbejde de nye pakker ved at udstede nedenstående kommandoer.
apt opdatering
apt opgradering
Dernæst brand en ny kommando for at installere nogle nødvendige værktøjer, der vil blive brugt til yderligere at administrere dit system fra kommandolinjen.
apt installere wget patch unzip zip bash-færdiggørelse
Cacti er et webbaseret overvågningsværktøj, der for det meste er skrevet i PHP-server-side programmeringssprog. For at kunne køre php-filskriptene fra Cacti skal en webserver, såsom Apache HTTP-server og en PHP-tolk, installeres og fungere i systemet. For at installere Apache webserver og PHP tolken sammen med alle nødvendige PHP-moduler, som Cacti skal bruge for at kunne køre korrekt, skal du udstede følgende kommando i din serverkonsol.
apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt
Efter at Apache og PHP er installeret, skal du teste om webserveren er i gang og lytter efter netværksforbindelser på port 80 ved at udstede følgende kommando med root privilegier.
netstat -tlpn
I tilfælde af netstat netværksværktøjet er ikke installeret som standard på dit Debian-system, skal du udføre kommandoen nedenfor for at installere den.
apt installere netværktøjer
Ved at inspicere netstat kommandoudgang kan du se, at apache daemon lytter til indkommende netværksforbindelser på port 80.
Hvis du har en firewall aktiveret på dit system, f.eks. UFW firewall-applikation, skal du tilføje en ny regel for at tillade HTTP-trafik at passere gennem firewall ved at udstede følgende kommando.
ufw tillader WWW
or
ufw tillade 80 / tcp
Endelig test, om standardwebsiden for Apache webserver kan vises i din klients browser ved at besøge din Debian-maskinens IP-adresse via HTTP-protokollen, som vist i nedenstående billede. Hvis du ikke kender din maskinens IP-adresse, skal du udføre 'ifconfig' eller 'ip a ' kommandoer. Min IP i denne opsætning er: http: // 192.168.1.14
I det næste trin skal vi foretage nogle yderligere ændringer til PHP standard konfigurationsfil for at sikre, at file_uploads variabel er aktiveret og PHP tidszone Indstillingen er korrekt konfigureret og matcher din fysiske placering på systemet. Åben /etc/php/7.0/apache2/php.ini filen til redigering og sørg for at følgende linjer er opstillet som følger.
file_uploads = Til date.timezone = Europa / London
Udskift tidszone-variablen tilsvarende til din fysiske tidszone ved at høre listen over tidszoner, der leveres af PHP-docs på det følgende link http://php.net/manual/en/timezones.php
Når du har lavet de nødvendige ændringer, skal du oprette en php info-fil og genstarte apache-dæmonen for at anvende ændringer ved at udstede følgende kommandoer.
ekko ' '| tee /var/www/html/info.php
systemctl genstart apache2
Kontroller, om PHP-tidszonen er konfigureret korrekt, ved at besøge php info-scriptet fra en browser på følgende URL (som illustreret i nedenstående billede). Rul ned til dato indstilling for at kontrollere php tidszone indstilling.
Cacti overvågningsværktøj gemmer konfigurationer og indsamlet data i en RDBMS database. I denne vejledning konfigurerer vi Cacti med MariaDB database backend. Udgiv nedenstående kommando for at installere MariaDB-databasen og det PHP-modul, der er nødvendigt for at få adgang til mysql-databasen.
apt installer mariadb-server php7.0-mysql
Når du har installeret MariaDB, skal du kontrollere, at dæmonen kører og lytter til netværksforbindelser på localhost, port 3306, ved at køre netstat kommando.
netstat -tlpn | grep mysql
Derefter logger du på MySQL-konsollen og sikrer MariaDB rod konto ved at udstede følgende kommandoer.
mysql -h localhost
brug mysql; Opdater bruger set plugin = '' hvor bruger = 'root'; flush privilegier; Afslut
I det næste trin skal du sikre MariaDB ved at udføre scriptet mysql_secure_installation leveret af installationspakken fra Debian Stretch repository. Mens du kører, spørger scriptet en række spørgsmål for at sikre MariaDB-databasen, f.eks .: at ændre MySQL-rodadgangskode, for at fjerne anonyme brugere, for at deaktivere eksterne root-logins og slette testdatabasen. Udfør scriptet ved at udstede nedenstående kommando og forsikre dig om at skrive ja til alle spørgsmål, der stilles for at sikre MySQL-daemon fuldt ud. Brug nedenstående script output undtagen som en vejledning.
sudo mysql_secure_installation
BEMÆRK: RUNNING AF ALLE DELER AF DETTE SKRIV ANBEFALES FOR ALLE MariaDB
SERVICERE I PRODUKTION BRUG! LÆS ALLE TRIN FORSIGTIG!
For at kunne logge ind på MariaDB for at sikre det, skal vi bruge strømmen
adgangskode til root-brugeren. Hvis du lige har installeret MariaDB, og
du har ikke angivet root password endnu, vil adgangskoden være tom,
så du skal bare trykke her ind.
Indtast aktuel adgangskode til root (indtast for ingen):
OK, vellykket brugt kodeord, fortsætter ...
Indstilling af rodadgangskoden sikrer, at ingen kan logge ind på MariaDB
root bruger uden den korrekte tilladelse.
Du har allerede et root password-sæt, så du kan sikkert svare 'n'.
Skift rodadgangskoden? [Y / n] y
Nyt kodeord:
Indtast ny adgangskode:
Adgangskode opdateret med succes!
Genindlæser privilegietabeller ..
... succes!
Som standard har en MariaDB-installation en anonym bruger, der tillader nogen
at logge ind på MariaDB uden at skulle have en brugerkonto oprettet til
dem. Dette er kun beregnet til test, og at gøre installationen
gå lidt glattere. Du skal fjerne dem, før du flytter til en
produktionsmiljø.
Fjern anonyme brugere? [Y / n] y
... succes!
Normalt bør root kun få lov til at oprette forbindelse fra 'localhost'. Dette
sikrer, at nogen ikke kan gætte på rodadgangskoden fra netværket.
Disallow root login fjernt? [Y / n] y
... succes!
Som standard kommer MariaDB med en database med navnet 'test' som alle kan
adgang. Dette er også kun beregnet til test, og skal fjernes
før de går ind i et produktionsmiljø.
Fjern test database og adgang til det? [Y / n] y
- Afsluttende testdatabase ...
... succes!
- Fjernelse af privilegier på testdatabasen ...
... succes!
Genoplæsning af privilegietabellerne sikrer, at alle de ændringer, der er foretaget indtil videre
træder i kraft straks.
Genindlæs privilegietabeller nu? [Y / n] y
... succes!
Gøre rent…
Helt færdig! Hvis du har gennemført alle ovenstående trin, er din MariaDB
installationen skal nu være sikker.
Tak for at bruge MariaDB!
For at teste MariaDB-sikkerhed skal du prøve at logge ind på databasen fra konsol med nr rod adgangskode. Adgangen til databasen skal nægtes, hvis der ikke er adgangskode til rod konto. Hvis adgangskoden leveres, skal loginprocessen gives til MySQL-konsollen, som vist på nedenstående skærmbillede.
mysql -h localhost -u root
mysql -h localhost -u root -p
Mens du er logget ind på MariaDB-databasen, skal du gå videre og oprette en database til Cacti-installation og oprette den bruger, der skal bruges til at administrere kaktus database ved at udstede følgende kommandoer. Udskift kaktus database bruger og adgangskode i overensstemmelse hermed.
oprette database kaktus; give alt på kaktus. * til 'cacti_user' @ 'localhost' identificeret af 'cacti_pass'; flush privilegier; Afslut
Giv også tilladelser til cacti database brugeren til MySQL tidszone ved at udstede nedenstående kommandoer. Dette er et nyt krav for at installere og køre den nyeste version af Cacti.
mysql -u root -p mysql </usr/share/mysql/mysql_test_data_timezone.sql
mysql -u root -p -e 'give valg på mysql.time_zone_name til [email protected]'
I det næste trin skal du åbne MySQL-serverens standardkonfigurationsfil og tilføje følgende linjer som vist i nedenstående eksempel.
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Tilføj følgende linjer nederst på 50-server.cnf fil:
max_heap_table_size = 98M tmp_table_size = 64M join_buffer_size = 64M innodb_buffer_pool_size = 485M innodb_doublewrite = fra innodb_additional_mem_pool_size = 80M innodb_flush_log_at_timeout = 3 innodb_read_io_threads = 32 innodb_write_io_threads = 16
For at anvende alle de ændringer, vi har lavet indtil nu, skal du genstarte MySQL og Apache-dæmoner og kontrollere, at dæmonerne kører ved at udstede følgende kommandoer.
systemctl genstart mysql apache2
systemctl status mysql apache2
Konfigurer SNMP-service
Cacti web overvågningstjeneste bruger SNMP-protokollen for at indsamle enhedsdata og statistikker. For at installere SNMP-programmet, SNMP daemon service og SNMP MIBS i dit lokale Debian 9 system, udsted følgende kommando med root privilegier.
apt installere snmp snmpd snmp-mibs-downloader
Installer også industristandard datalogningsværktøjet RRDtool, som bruges af Cacti til at vise graffunktionaliteten.
apt install rrdtool
Dernæst rediger SNMP konfigurationsfilen /etc/snmp/snmp.conf og kommentere "MIB'er” linje ved at tilføje en hashtag (#) foran linjen som beskrevet i nedenstående billede.
Konfigurer også SNMP daemon remote og localhost adgang ved at åbne snmpd.conf filefor redigering og søgning og opdater nedenstående linjer som følger:
nano /etc/snmp/snmpd.conf
Uanmeldt linjen for at lytte til forbindelser på alle grænseflader
agentAddress udp: 161, udp6: [:: 1]: 161
Tilføj følgende linjer for at tillade SNMP forespørgsel for dit lokale netværk via snmp_string adgangskode. Udskift SNMP-fællesskabstrengen snmp_string kodeord og dit netværk CIDR adresse i overensstemmelse hermed.
roommunity snmp_string localhost rocommunity snmp_string 192.168.1.0 / 25
Eventuelt kan du også ændre kontakt- og positionsvariablen for at give oplysninger om din server. Disse oplysninger vises i Cacti-meddelelsesområdet, når du tjekker dine serveroplysninger. Også dit systemværtsnavn, kerneversion og systemopetid vises i Cacti-meddelelsesområdet.
For at ændre disse oplysninger skal du redigere SystemPlacering , sysContact linjer under systeminformation sektionen og tilføje dine egne værdier. Som standard er følgende værdier konfigureret til SystemPlacering , sysContact.
sysLocation Sitting on the Dock of the Bay sysKontakt mig <[email protected]>
Når du har foretaget de rigtige ændringer til snmpd.conf fil, gem og luk filen og genstart snmp daemon for at afspejle ændringer ved at udstede nedenstående kommandoer. Kontrollér derefter snmpd-dæmonstatusen og de ejede porte i lyttetilstand.
systemctl genstart snmpd.service
systemctl status snmpd.service
netstat -tulpn | grep snmp
Åbn firewall-port til SNMP:
ufw tillade 161 / udp
For at kontrollere, at SNMP-dæmonen fungerer som forventet og henter alle SNMP-værdierne under hukommelsestræet til localhost, skal du køre nedenstående kommando.
snmpwalk -v 2c -c snmp_string localhost-hukommelse
Installer Cacti-Spine
Cacti-Spine er en erstatning for standard cmd.php poller, skrevet i C for hurtigere eksekveringstid. For at kompilere og installere Cacti-Spine Pooler fra kilder i Debian 9, udfør først følgende kommando for at installere alle de nødvendige afhængigheder i systemet.
apt installer build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql ++ - dev libmariadb-dev libmariadbclient-dev librrds-perl libsnmp-dev
Dernæst download den nyeste version af Cacti-Spine-tjære komprimeret arkiv med wget utility, ekstraher tarball arkivet og indtaste cacti-ryggradsekstraheret bibliotek ved at udstede følgende kommandoer.
wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tjære xfz cacti-spine-latest.tar.gz
cd-kaktus-rygsøjle-1.1.24 /
Nu kompilere og installer Cacti-Spine-hjælpeprogrammet fra kilder ved at udstede nedenstående kommandoer.
./bootstrap
./configure
lave
make install
Cacti-Spine vil blive installeret i / Usr / local / ryg / systemsti. Spine anbefaler, at du indstiller SUID-bit til rygsøjlen binært for at understøtte ICMP ping-anmodninger.
chown root: root / usr / local / ryg / bin / rygsøjle
chmod + s / usr / lokal / ryg / bin / rygsøjle
Du skal også forbinde Spine til cacti-databasen ved at redigere konfigurationsfilen med som vist i nedenstående filuddrag.
nano /usr/local/spine/etc/spine.conf
spine.conf filprøve. Udskift legitimationsoplysningerne i overensstemmelse hermed. Brug de samme databaseoplysninger som konfigureret til Cacti.
DB_Host lokalhost DB_Database kaktus DB_User user_cacti DB_Pass pass_cacti DB_Port 3306 DB_PreG 0
Installer kaktus
For at installere Cacti fra kilder i Debian 9 skal du først downloade og uddrage den nyeste version af Cacti Tarball komprimeret arkiv og derefter kopiere alle de udpakkede filer til apache web root path ved at udstede følgende kommandoer.
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tjære xfz cacti-latest.tar.gz
cp -rf cacti-1.1.24 / * / var / www / html /
I det næste trin skal du åbne kaktus konfigurationsfil og opdatere følgende linjer for at afspejle MySQL kakti databasens brugernavn, adgangskode, vært og URL-sti i overensstemmelse hermed, som illustreret i nedenstående eksempel.
nano /var/www/html/include/config.php
Kaktus config.php filprøve:
$ database_type = 'mysql'; $ database_default = 'cacti'; $ database_hostname = 'localhost'; $ database_username = 'cacti_user'; $ database_password = 'cacti_pass'; $ database_port = '3306'; $ database_ssl = false;
Rul ned og ændrer sti-variablen fra ”/ Kaktus"Til"/"
$ url_path = '/';
Dernæst skal du udfylde cacti-databasen ved at indlæse cacti.sql script placeret i din webserver dokument rod placering og verificere cacti mysql tabeller ved at udstede nedenstående kommandoer.
mysql -u kaktus_bruger kaktus -p </var/www/html/cacti.sql
mysql -u cacti_user cacti -p -e 'vise tabeller'
Endelig, før du begynder at installere Cacti fra webgrænsefladen, udfør nedenstående kommandoer for at fjerne standard index.html filen installeret af Apache webserver, lav logfilen til Cacti og lad Apache runtime bruger med fuld skrive tilladelser til cacti installationssti .
rm /var/www/html/index.html
touch /var/www/html/log/cacti.log
chown -R www-data: www-data / var / www / html /
Begynd at installere Cacti via webgrænsefladen ved at besøge systemets IP-adresse eller domænenavn fra en browser og åbne følgende URL.
Ved den første skærmkontrol Accepter GPL Licensaftale og tryk på knappen Næste for at fortsætte som vist på nedenstående skærmbillede.
På den næste skærm skal du rulle ned og kontrollere, om alle systemkrav er bestået af installationsprogrammet, og tryk på Næste-knappen for at gå videre med installationsprocessen.
Vælg derefter Ny primær server som installationstype og klik på Næste-knappen for at fortsætte.
Kontrollér nu, om alle kritiske binære steder og versioner er korrekt registreret af kaktusinstallatøren. Du skal også opdatere Spine binær sti til / Usr / local / ryg / bin / ryg. Du kan vælge det klassiske tema og trykke på Næste knappen for at fortsætte.
På den næste skærm vil installationsprogrammet verificere Apache web root directory tilladelser for at kontrollere om webserveren får lov til at udføre skriver til cacti installationssti. Hvis alle de krævede stier er skrivbare, skal du trykke på Næste-knappen for at fortsætte.
Vælg alle skabeloner fra den angivne liste og tryk på Afslut-knappen for at fuldføre installationen.
Når du er færdig med installationen, skal du logge ind på Cacti web-interface med følgende standardoplysninger og erstatte administratorens standardadgangskode med et nyt stærkt kodeord, som illustreret i de følgende skærmbilleder.
Vælg et brugernavn: admin
Adgangskode: admin
Når du logger ind på Cacti web-interface, skal du navigere til Konsol -> Konfiguration -> Indstillinger -> Poller og skift poller type fra cmd.php til rygsøjlen binær, som vist i nedenstående billede. Rul ned og tryk på Gem knappen for at anvende ændringer.
Gå derefter til Konsol -> Konfiguration -> Indstillinger -> Stier og opdater Cacti-Spine og indstil konfigurationsfilsti til den følgende vej /usr/local/spine/etc/spine.conf og tryk på Gem knappen for at anvende konfiguration som vist i nedenstående billede.
For at tilføje en ny enhed, der skal overvåges via SNMP, skal du gå til Konsol -> Ledelse -> Enheder og slå på + ikon som vist i nedenstående billede. Til demonstrationsformål tilføjer vi den lokalehost-maskine, der skal overvåges af Cacti via SNMP-protokollen.
For den nyligt tilføjede Linux-enhed, som vil blive overvåget via SNMP, skal du tilføje en beskrivelse af enheden, værtsnavnet, FQDN eller IP-adressen på den overvåget enhed, og vælg Lokal Linux-maskine som enhedsskabelon. I SNMP-muligheder skal du vælge den korrekte SNMP-version (i dette tilfælde bruger vi versionen 2) og skriver enheden SNMP-fællesskabsstreng, som beskrevet i nedenstående billeder. Hvis SNMP-porten ikke er ændret, skal du forlade portværdien som standard, og når du er færdig skal du rulle ned og trykke på knappen Opret for at tilføje enheden til Cacti-databasen for at blive overvåget.
Når enheden er blevet tilføjet til Cacti-databasen, vises en SNMP-oversigt oven på enhedssiden, hvis enheden blev korrekt registreret og forespurgt. For at oprette RRDTool SNMP grafer for denne enhed, skal du klikke på Opret grafer til denne enhed link, kontroller grafskabelonerne, du vil undersøge yderligere, og tryk på knappen Opret for at flytte til næste skærm, og tryk derefter på knappen Opret igen for at afslutte, som illustreret i de følgende billeder.
For at visualisere graferne skal du navigere til Konsol -> Styring -> Enheder, kontrollere den enhed, du vil udføre en handling yderligere, og vælg Placer i et træ (standardtræ) i handlingsmenuen.
På den nye skærm skal du lade destinationsgrenen være som standard og trykke på Fortsæt-knappen for at afslutte processen, som beskrevet i nedenstående billede.
Endelig, for at Cacti poller skal begynde at indsamle data om overvågede enheder, skal du tilføje et nyt cron job, der vil forespørge enhederne via SNMP hvert 5 minut. Tilføj det planlagte job, der skal ejes og udføres af Apache runtime bruger ved at udstede nedenstående kommando.
crontab -u www-data -e
Crontab job linje:
* / 5 * * * * / usr / bin / php /var/www/html/poller.php> /var/www/html/log/cron.log 2> & 1
Når du har tilføjet pooler cronjob, skal du vente ca. en halv time for at give Cacti tid til at indsamle data og derefter navigere til fanen Grafer i web-interface Cacti. Udvid standard træet, og graferne indsamlet fra din overvåget maskine skal vises som vist på nedenstående skærmbillede.
For øjeblikket kan Cacti-interface fås fra klientens browsere på en usikker måde via HTTP-protokollen. Alle følsomme oplysninger om dine enheder, samt cacti login credentials, sendes i almindelig tekst. For at kryptere trafikken mellem klientens browsere og Cacti web-interface skal du udstede følgende kommandoer med root privilegier for at aktivere Apache SSL-konfiguration.
a2enmod ssl
a2ensite default-ssl.conf
systemctl genstart apache2
Bagefter navigere til Cacti web interface via HTTPS protokol. Da Apache webserver bruger et selvsigneret certifikat til at kryptere forbindelsen, skal en fejlmeddelelse vises i din browser. Accepter fejlen, og du kan nu sikkert få adgang til Cacti web-interface som vist i det følgende skærmbillede.
Det er alt! Du har installeret og konfigureret Cacti fra kilder i Debian 9. For andre brugerdefinerede indstillinger vedrørende kaktus, besøg dokumentationssiderne på følgende link https://docs.cacti.net/manual:100