Frunze de galben - articole - contabilizarea traficului LAN utilizând fprobe și instrumente de flux

Foarte des, administratorii de sistem au sarcina de a contabiliza traficul LAN. Mai jos, veți vedea cum puteți rezolva această problemă utilizând fprobe-ul și utilitarul senzorului de debit din pachetul de instrumente Flow-tools.







Vom începe cu condițiile inițiale:

Mai întâi de toate, instalați fprobe pe server:

Când a fost întrebată de la ce interfață să eliminați traficul, este necesar să răspundeți la "eth1" și la întrebarea unde să trimiteți jurnalele - "192.168.2.10:9999". Portul poate fi selectat în mod arbitrar - principalul lucru este că acesta este gratuit pe serverul de monitorizare. De fapt, configurația gateway-ului Internet este terminată, mergem la serverul de monitorizare.

Apoi, adăugați fișierul /etc/flow-tools/flow-capture.conf în formularul:

Creați un director pentru jurnale:

Și reporniți colectorul de debit:

Doar în caz, asigurați-vă că colectorul ascultă portul dorit:

În cazul în care totul este bine, producția va arăta cam așa:

Dacă colectorul nu pornește - verificați cu atenție setările acestuia.

După un timp, în directorul specificat veți începe să colectați jurnalele. Rămâne doar să scrieți scripturi pentru a genera rapoarte bazate pe aceste jurnale. Creați directorul / root / flow-uri, vom face toate următoarele în el:

Creați fișierul flow.acl, în care descriem listele de acces de care avem nevoie, iar acest fișier va fi apoi utilizat de utilitarul de filtrare a debitului:

De asemenea, nu este necesar să uitați că atunci când specificați rețelele în acest fișier, trebuie să utilizați măști inverse. Dacă nu lucrați foarte bine cu aceste măști, utilizați calculatorul IP.

Următorul pas este să creați un fișier report.conf care va fi utilizat de utilitarul raport flux:

Aceasta finalizează scrierea fișierelor de configurare și puteți continua să scrieți scripturi. Mai întâi, creați un script pentru a genera rapoarte zilnice și salvați-l ca stat_daily.sh. Iată lista lui:

Efectuați scriptul executabil și adăugați-l la cron:

După aceea, în fiecare zi din directorul / var / www / flow-reports / daily vor fi adăugate rapoartele de trafic pentru ziua precedentă. Raportul va arăta astfel:

Am citat mai sus, pe când m-am împins.
O voi repeta încă o dată.
așa este dat
1. Debitul este scris în / var / log / flow /
2. Filtrele se află în /home/log/filter.acl
3. Baza din musculatura speciei

CREATE TABLE Dacă nu există "raw" (
`unix_secs` int (11) nesemnate NOT NULL implicit '0',
`unix_nsecs` int (11) nesemnate NOT NULL implicit '0',
`sysuptime` int (11) nesemnate NOT NULL implicit '0',
`exaddr` varchar (45) collate utf8_unicode_ci NOT NULL implicit '0',
`dflows` int (11) nesemnate NOT NULL implicit '0',
`dpkts` int (11) nesemnate NOT NULL implicit '0',
`doctets` int (11) nesemnate NOT NULL implicit '0',
`primul 'int (11) nesemnificat NOT NULL implicit' 0 ',
`final` int (11) nesemnate NOT NULL implicit '0',
`motor_type` tinyint (3) nesemnate NOT NULL default '0',






`motor_id` tinyint (3) nesemnate NOT NULL implicit '0',
`srcaddr` varchar (45) collate utf8_unicode_ci NOT NULL implicit '0',
`dstaddr` varchar (45) collate utf8_unicode_ci NOT NULL implicit '0',
`nexthop` varchar (45) collate utf8_unicode_ci NOT NULL implicit '0',
`intrare 'smallint (5) nesemnate NOT NULL default' 0 ',
`output 'smallint (5) nesemnate NOT NULL default' 0 ',
`srcport` smallint (5) nesemnate NOT NULL default '0',
`dstport` smallint (5) nesemnate NOT NULL default '0',
`prot` tinyint (3) nesemnate NOT NULL default '0',
`tos` tinyint (3) nesemnate NOT NULL implicit '0',
`tcp_flags` tinyint (3) nesemnate NOT NULL default '0',
`src_mask` tinyint (3) nesemnate NOT NULL default '0',
`dst_mask` tinyint (3) nesemnate NOT NULL default '0',
`flag` tinyint (1) nesemnificat NOT NULL implicit '0',
TASTĂ PRIMARĂ (`unix_secs`,` srcaddr`, `dstaddr`,` srcport`, `dstport`)
) MOTOR = MyISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;

apoi scrieți fișierul Shelovskiy și îl împingeți în coroane, în fișier specificăm ce număr de fișiere (din actualul minus 30 de minute în exemplul meu) până la momentul selectării.
/ baza este expediată în / usr / bin / flux-export

pentru i în $ (/ usr / bin / find / var / log / flux / nume ft * -mmin -30); face / usr / bin / flow-cat $ i | / Usr / bin / flux-nfilter -Foutputtraff -f /home/log/filter.acl | / Usr / bin / flux-export -f3 -mUNIX_SECS, DOCTETS, prima, ultima, SRCADDR, dstaddr, SRCPORT, DSTPORT, PROT -u "utilizator: parola: host: port: de bază: de masă"; făcut

care are loc, este posibilă pornirea coroanelor cel puțin o dată pe minut; fiecare înregistrare este unică.
și interfețele am razrulivayu
prin introducerea câmpului cheie ()
există interfețe 1 și 2. Cred că prin experiență puteți vedea ce interfață. )

Da, în cazul în care aruncarea unui fișier nu în shelovskom prin bucla, urca apoi la valoarea de bază a stânga (un marcaj de timp 00000000) Nu știu de ce, la începutul construcției a fost o astfel de descoperire. flux-pisică <> /;
apoi am observat și l-am rescris prin buclă, până când totul este OK!

Am înțeles :) Voi știu :)

Răspunsul este în această linie:

Aici inregistrati jurnalele? Judecând după textul jurnalelor de eroare pe care nu le aveți, în cazul în care scenariul se așteaptă să le vadă

Am dat un exemplu pentru directoarele mele, respectiv, dacă puneți jurnale într-un director diferit, atunci trebuie să remediați acest lucru. )

> Pentru a accesa rapoartele, puteți ridica serverul web
Spuneți-mi ce server web este cel mai convenabil pentru configurarea pentru a lucra cu fluxul de bușteni?


Spuneți-mi ce server web este cel mai convenabil pentru configurarea pentru a lucra cu fluxul de bușteni?

Cred că aici va fi de ajuns.

Acum, există o singură întrebare: se pare că statisticile sunt luate în considerare numai pe traficul primit. Este posibil să se ia în considerare același mod și să se procedeze fără dansuri speciale cu tamburine?

în postul meu există încă. nu te uita atent! )))

Aici, de asemenea, împinge în bază
pentru i în $ (/ usr / bin / find / var / log / flux / nume ft * -mmin -30); face / usr / bin / flow-cat $ i | / Usr / bin / flux-nfilter -Foutputtraff -f /home/log/filter.acl | / Usr / bin / flux-export -f3 -mUNIX_SECS, DOCTETS, prima, ultima, SRCADDR, dstaddr, SRCPORT, DSTPORT, PROT -u "utilizator: parola: host: port: de bază: de masă"; făcut


despre țesătura simplă a botului nu are sens. IMHO. sau scrieți deja toate tipurile de facturare auto-scrise sau nevoi nafig. Desigur, există idei cu acest lucru. dar timpul este extrem de lipsit)

Heh. Deci aveți toți clienții la același link ca rezultat conectat? Apoi introduceți-le în ACL pentru filtrul de curgere. La ideea voi ajuta


Sincer, nu știu. Aș vrea să văd ce sa întâmplat acolo în rapoarte. Nu sunt sigur că pentru un astfel de jurnal același sarg sau webalizer poate genera ceva inteligibil. Vobschem ar trebui să o vadă :)

3 De mult timp am citit, te-am aruncat așa. Am aruncat-o, a fost cu mult timp în urmă. Multe mulțumiri că au răspuns.


Vă mulțumesc :) Și încerc să răspund tuturor celor care pun întrebări interesante și adecvate. Eu însumi beneficiez de acest lucru pentru mine în formă de noi cunoștințe obținute ca urmare a discuțiilor.

Foarte convenabil în opinia mea, arată cine mulți.
Din fprobe, trebuie să treceți în parametrii scriptului, cum ar fi resursele time / volume / ip client / ip.

Ai skype.

Citirea cu atenție a rapoartelor privind fluxul paginii omului vă va ajuta. Trebuie doar să setați formatul corect pentru raport.







Trimiteți-le prietenilor: