SARG - generator poročila o analizi lignjev in orodje za nadzor pasovne širine interneta


SARG je odprtokodno orodje, ki vam omogoča analizo datotek lignjev in ustvarja čudovita poročila v obliki HTML z informacijami o uporabnikih, naslovih IP, najbolj dostopnih spletnih mestih, skupni uporabi pasovne širine, pretečenem času, prenosih, zavrnjenih dostopih do spletnih mest, dnevnih poročilih, tedenska in mesečna poročila.

SARG je zelo priročno orodje za ogled, koliko pasovne širine interneta uporabljajo posamezni stroji v omrežju, in lahko spremlja, na katerih spletnih mestih dostopajo uporabniki omrežja.

V tem članku vas bom vodil, kako namestiti in konfigurirati SARG - generator poročila o analizi lignjev na sistemih RHEL/CentOS/Fedora in Debian/Ubuntu/Linux Mint.

Namestitev Sarg - Squid Log Analyzer v Linux

Predvidevam, da ste strežnik Squid že namestili, konfigurirali in preizkusili kot prosojni strežnik proxy in DNS za ločevanje imen v načinu predpomnjenja. V nasprotnem primeru jih pred namestitvijo Sarga najprej namestite in konfigurirajte.

Pomembno: Ne pozabite, da brez nastavitve Squid in DNS nobena namestitev sarga v sistem sploh ne bo delovala. Torej gre za zahtevo, da jih najprej namestite, preden nadaljujete z namestitvijo Sarg.

Za namestitev DNS in Squid v sisteme Linux sledite tem navodilom:

  1. Namestite strežnik DSN Only Cache v RHEL/CentOS 7
  2. Namestite strežnik DSN Only Cache v RHEL/CentOS 6
  3. Namestite strežnik DSN Only Cache v Ubuntu in Debian

  1. Nastavitev prosojnega proxyja za lignje v Ubuntuju in Debianu
  2. Namestite strežnik predpomnilnika lignjev na RHEL in CentOS

Paket 'sarg' privzeto ni vključen v distribucije na osnovi RedHat, zato ga moramo ročno prevesti in namestiti iz izvorne tarball. Za to potrebujemo nekaj dodatnih predpogojev, ki jih je treba namestiti v sistem, preden ga sestavimo iz vira.

# yum install –y gcc gd gd-devel make perl-GD wget httpd

Ko namestite vse zahtevane pakete, prenesite najnovejši sarg source tarball ali pa uporabite naslednji ukaz wget, da ga naložite in namestite, kot je prikazano spodaj.

# wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.10/sarg-2.3.10.tar.gz
# tar -xvzf sarg-2.3.10.tar.gz
# cd sarg-2.3.10
# ./configure
# make
# make install

V distribucijah, ki temeljijo na Debianu, lahko paket sarg enostavno namestite iz privzetih repozitorij z uporabo upravitelja paketov apt-get.

$ sudo apt-get install sarg

Zdaj je čas, da uredite nekatere parametre v glavni konfiguracijski datoteki SARG. Datoteka vsebuje veliko možnosti za urejanje, vendar bomo uredili samo zahtevane parametre, kot so:

  1. Dostop do poti dnevnika
  2. Izhodni imenik
  3. Oblika datuma
  4. Prepiši poročilo za isti datum.

Odprite datoteko sarg.conf z izbiro urejevalnika in izvedite spremembe, kot je prikazano spodaj.

# vi /usr/local/etc/sarg.conf        [On RedHat based systems]
$ sudo nano /etc/sarg/sarg.conf        [On Debian based systems]

Zdaj odkomentirajte in dodajte izvirno pot v datoteko dnevnika dostopa do lignjev.

# sarg.conf
#
# TAG:  access_log file
#       Where is the access.log file
#       sarg -l file
#
access_log /var/log/squid/access.log

Nato dodajte pravilno pot izhodnega imenika, da v ta imenik shranite poročila o ustvarjanju lignjev. Upoštevajte, da je pri distribucijah, ki temeljijo na Debianu, spletni korenski imenik Apache „/ var/www“. Zato bodite previdni, ko dodajate pravilne spletne korenske poti v svoje distribucije Linuxa.

# TAG:  output_dir
#       The reports will be saved in that directory
#       sarg -o dir
#
output_dir /var/www/html/squid-reports

Nastavite pravilno obliko datuma za poročila. Na primer „date_format e“ bo prikazal poročila v obliki „dd/mm/ll“.

# TAG:  date_format
#       Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)
#
date_format e

Nato odkomentirajte in nastavite Prepiši poročilo na »Da«.

# TAG: overwrite_report yes|no
#      yes - if report date already exist then will be overwritten.
#       no - if report date already exist then will be renamed to filename.n, filename.n+1
#
overwrite_report yes

To je to! Shranite in zaprite datoteko.

Ko ste končali s konfiguracijskim delom, je čas, da z naslednjim ukazom ustvarite poročilo dnevnika lignjev.

# sarg -x        [On RedHat based systems]
# sudo sarg -x        [On Debian based systems]
 sarg -x

SARG: Init
SARG: Loading configuration from /usr/local/etc/sarg.conf
SARG: Deleting temporary directory "/tmp/sarg"
SARG: Parameters:
SARG:           Hostname or IP address (-a) =
SARG:                    Useragent log (-b) =
SARG:                     Exclude file (-c) =
SARG:                  Date from-until (-d) =
SARG:    Email address to send reports (-e) =
SARG:                      Config file (-f) = /usr/local/etc/sarg.conf
SARG:                      Date format (-g) = USA (mm/dd/yyyy)
SARG:                        IP report (-i) = No
SARG:             Keep temporary files (-k) = No
SARG:                        Input log (-l) = /var/log/squid/access.log
SARG:               Resolve IP Address (-n) = No
SARG:                       Output dir (-o) = /var/www/html/squid-reports/
SARG: Use Ip Address instead of userid (-p) = No
SARG:                    Accessed site (-s) =
SARG:                             Time (-t) =
SARG:                             User (-u) =
SARG:                    Temporary dir (-w) = /tmp/sarg
SARG:                   Debug messages (-x) = Yes
SARG:                 Process messages (-z) = No
SARG:  Previous reports to keep (--lastlog) = 0
SARG:
SARG: sarg version: 2.3.7 May-30-2013
SARG: Reading access log file: /var/log/squid/access.log
SARG: Records in file: 355859, reading: 100.00%
SARG:    Records read: 355859, written: 355859, excluded: 0
SARG: Squid log format
SARG: Period: 2014 Jan 21
SARG: Sorting log /tmp/sarg/172_16_16_55.user_unsort
......

Opomba: Ukaz ‘sarg -x’ bo prebral konfiguracijsko datoteko ‘sarg.conf’ in prevzel pot lignjev ‘access.log’ ter ustvaril poročilo v obliki html.

Ustvarjena poročila, postavljena pod ‘/ var/www/html/squid-reports /‘ ali ‘/ var/www/squid-reports /‘, do katerih lahko dostopate iz spletnega brskalnika z uporabo naslova.

http://localhost/squid-reports
OR
http://ip-address/squid-reports

Za avtomatizacijo postopka generiranja sarg poročila v določenem časovnem obdobju prek cron opravil. Denimo, da želite na primer samodejno generirati poročila na uro, za to pa morate konfigurirati opravilo Cron.

# crontab -e

Nato dodajte naslednjo vrstico na dnu datoteke. Shranite in zaprite.

* */1 * * * /usr/local/bin/sarg -x

Zgornje pravilo Cron bo poročilo SARG generiralo vsako 1 uro.

Referenčne povezave

Domača stran Sarg

To je vse s SARG! Pripravil bom še nekaj zanimivih člankov o Linuxu, do takrat pa spremljajte TecMint.com in ne pozabite dodati svojih dragocenih komentarjev.