Log Appliance import


Procedura importu logów z urządzenia NETASQ/Stormshield do narzędzia Log Appliance

Aby zaimportować logi z urządzenia do Log Appliance i na ich podstawie wygenerować raporty należy:

1. Zalogować się do Log Appliance (LA) na konto root:

sudo su

2. Utworzyć folder /import:

mkdir /import

3. Skopiować pliki logów z urządzenia do folderu /import. Pliki na urządzeniu znajdują się w folderze /log/ i mają nazwy zaczynające się od l_nazwamodułu i zawierają datę pierwszego i ostatniego wpisu logu oraz liczbę linii logu. Na przykład plik o nazwie l_web_00003011_20150501095216_20150502064951_09669 zawiera logi z modułu filtrowania www, które zostały zebrane pomiędzy 1 maja 2015 godzina 9:52 a 2 maja 2015 godzina 6:49 i zawiera 9669 rekordów.

4. Po skopiowaniu plików należy edytować plik /etc/logstash/conf.d/stormshield.conf i dodać w nim wpis:

input {
        tcp {
                host => "127.0.0.1"
                port => 6000
                type => "sns"
        }
}

5. Należy wykonać restart usługi za pomocą komendy:

service logstash restart

6. Następnie należy utworzyć plik import.pl Plik można utworzyć w folderze domowym użytkownika root za pomocą komendy:

touch import.pl

7. Plikowi należy zadać atrybut wykonywalności za pomocą komendy:

chmod 777 import.pl

8. Następnie należy edytować plik za pomocą edytora tekstu (np. vi lub nano) i skopiować do niego następującą zawartość:

#!/usr/bin/perl

# send l_* files to logstash

use strict;
use IO::Socket::INET;

die "Usage : $0 files...nn" if(@ARGV<2);

my $socket = IO::Socket::INET->new(PeerAddr => '127.0.0.1', PeerPort => 6000, Proto => 'tcp')
        or die "Can't connect to 127.0.0.1:6000$!n";

my $c=1;
my $ts_start = time()-1;
my $lines = 0;
foreach my $file (@ARGV)
{
        $file =~ /l_([a-z]+).*/;
        my $logtype = $1;
        print "$file logtype: $logtype ($c/".(scalar @ARGV).")n";
        $c++;

        open IN,"<$file" or die "Can't read $file: $!n";
        while(my $message = )
        {
                $message =~ s/(s*)$//;
                print $socket $message." logtype=$logtypen";
                $lines++;
        }
        close IN;

        my $rate = $lines / (time() - $ts_start);
        print "tRate : ".sprintf("%.1f",$rate)." lines / s n";
}

9. Skrypt uruchamiamy za pomocą komendy:

./import.pl /import/*

10. Po zakończeniu importu logów do LA należy skasować zawartość folderu /import w celu zwolnienia przestrzeni na dysku.

 


 

Powrót