10.3 Початкова конфігурація сервера аналізу журналів подій
ДляПочаткова забезпеченняконфігурація довгострокового збереження архівів повідомлень, прийнятих/переданих через ШБО, необхідно налаштувати процедуру архівування журналу повідомлень до сервера базаналізу данихжурналів та архівування. Налаштуванняподій виконується Адміністратором локальних компонентів (системним адміністратором).
НаДля ШБО архівні файли (ZIP-контейнери) знаходяться у директорії, що вказана параметромпочаткової конфігурації необхідно перейти до вебінтерфейсу серверу аналізу журналів за посиланням: archivehttp://<IP-GRAYLOG-Serverpath.>:9000,
Імена архівних файлів виражені у форматі де<mlogIP-XYZGRAYLOG.-zipServer,> де:
·це IPX -– часовийадреса покажчиксерверу (часаналізу UTCжурналів у форматі YYYYMMDDHHmmss) першого запису журналу повідомлень,
· Y - позначка часу останнього запису журналу повідомлень (записи обробляються в хронологічному порядку),
· Z - довільна буквено-цифрова послідовність довжиною 10 символів.подій,
Прикладомвикористовуючи назвилогін архівного«admin» файлута є:пароль, який було створено в пункті
mlog-20150504152559-20150504152559-10.2a7JS05XAJC.zip
Інсталяційний
Після пакетуспішної ШБОавторизації, міститьнеобхідно допоміжнийперейти скриптдо /usr/share/uxp/scripts/archive-http-transporter.sh,вкладки призначений для передачі архівних файлів. Цей скрипт використовує протокол HTTP/HTTPS (метод POST, ім’я формиSystem -> файл) для передачі архівних файлів з ШБО на сервер баз даних та архівування.Inputs:
Для
налаштування
Та архівнихстворити файлівновий Input, задавши його тип як «Syslog UDP» та натиснути на серверкнопку баз«Launch данихnew та архівування необхідно:input»:
1.
Після Увійтицього донеобхідно командноївідредагувати консоліполя ШБО«Title» та «Port» наступним чином:
2. Відкрити на редагування файл /etc/uxp/conf.d/local.ini за допомогою наступної команди:
sudo nano /etc/uxp/conf.d/local.ini3. Додати наступний рядок до файлу:
archive-transfer-command=/usr/share/uxp/scripts/archive-http-transporter.sh -r http://IP_адреса_сервера_баз_даних_та_архівування/cgi-bin/upload.plде <IP_адреса_сервера_баз_даних_та_архівування> -
відповідна IP-адреса сервера баз даних та архівування.
4.Та Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде показано повідомлення про підтвердженнянатиснути на збереження змін - необхідно натиснутикнопку «Y», а потім «Enter» для збереження.Save»:
5. Увійти до командної консолі серверу баз даних та архівування
6. Послідовно виконати наступні команди:
sudo apt install apache2 libapache2-mod-perl2 libcgi-session-perl
sudo systemctl restart apache2
sudo a2enmod cgi
sudo mkdir /var/log/uxp_message_log_archive
sudo chown root:www-data /var/log/uxp_message_log_archive
sudo chmod 570 /var/log/uxp_message_log_archive
sudo mkdir /var/www/perl7. Відкрити на редагування файл /etc/apache2/sites-enabled/000-default.conf за допомогою наступної команди:
sudo nano /etc/apache2/sites-enabled/000-default.conf8. Додати наступний блок конфігурації перед тегом </VritualHost>:
ScriptAlias /cgi-bin/ /var/www/perl/
<Directory /var/www/perl/>
Options ExecCGI
AddHandler cgi-script cgi pl
</Directory>9 Створити та відкрити на редагування файл /var/www/perl/upload.pl за допомогою наступної команди:
sudo nano /var/www/perl/upload.pl10. Додати наступні рядки:
#!/usr/bin/perl -w
use CGI;
use Fcntl;
use strict;
use constant FILE_FIELD => "file";
my $q = new CGI;
# Error handling.
sub err {
# HTTP-header with error status.
print $q->header(-status => "500 @_");
die @_;
}
# Directory where to archive posted files.
my $FILESTORE = '/var/log/uxp_message_log_archive';
# Create archive directory if not exists.
(! -d $FILESTORE) &&
(mkdir $FILESTORE || err("Cannot create directory $FILESTORE"));
# Get file from request.
my $filename = $q->param(FILE_FIELD) || err("Invalid query: missing file name");
my $filehandle = $q->upload(FILE_FIELD);
# Write file from request.
my $buffer;
my $bytesread;
sysopen (OUT, "$FILESTORE/$filename", O_WRONLY | O_EXCL | O_CREAT) ||
err("Cannot open file '$FILESTORE/$filename': $!");
while ((defined($bytesread = read($filehandle, $buffer, 0xffff)) ||
err("Cannot read posted file: $!")) && $bytesread) {
print OUT $buffer;
}
close OUT;
unlink($filehandle);
close($filehandle);
# HTTP header with OK status.
print $q->header();
exit 0;11. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», далі буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
12. Налаштувати права доступу до файлу /var/www/perl/upload.pl за допомогою наступної команди:
sudo chmod +x /var/www/perl/upload.pl13. Перезавантажити службу apache2 за допомогою наступної команди:
sudo service apache2 restart Примітка. Архівний файл успішно перенесений, коли сервер баз даних та архівування повертає код статусу HTTP 200.

