Инструменты пользователя

Инструменты сайта


raspberry_pi:pi_4_model_b:raspberry_pi_os:syslog-ng:loganalyzer

Это старая версия документа!


Использование LogAnalyzer без MySQL

До меня это не сразу дошло, но LogAnalyzer можно спокойно использовать без базы данных, что актуально для дома или в маленьких проектах, где логи смотреть надо, а заморачиваться и излишне нагружать систему не хочется.

Однако, в таком режиме доступны не все функции, к примеру, авторизация пользователей1), отчеты и… может быть что-то еще, не знаю.

Apache

Нужен для работы LogAnalyzer. Ниже мое творчество, основанное на данных2) из разных источников. Установка производится на Raspberry Pi OS 11 (bullseye).

Установка

  1. Обновить систему sudo apt update && sudo apt upgrade;
  2. установить необходимые пакеты sudo apt install apache2 php libapache2-mod-php;
  3. установить библиотеку GD3) в зависимости от установленной ранее версии PHP4) sudo apt install php7.4-gd;
  4. открыть конфигурацию sudo nano /etc/apache2/apache2.conf и установить переменную «ServerName»5);
  5. открыть sudo nano /etc/apache2/mods-enabled/dir.conf и переместить «index.php» в начало списка;

Настройка

В базовом варианте настроить нужно только авторизацию:

  1. выполнить sudo htpasswd -c /etc/apache2/.htpasswd UserName6) и ввести 2 раза новый пароль7);
  2. открыть sudo nano /etc/apache2/sites-enabled/000-default.conf и в секцию «<VirtualHost *:80>» вставить код ниже.
<Directory "/var/www/html">
   AuthType Basic
   AuthName "Restricted Content"
   AuthUserFile /etc/apache2/.htpasswd
   Require valid-user
</Directory>

Теперь нужно проверить синтаксис конфигурации и, если все хорошо, перезапустить сервис:

  • sudo apache2ctl configtest;
  • sudo systemctl restart apache2.

LogAnalyzer

Опять же, информация ниже, это микс из некоторого количества разных источников8), т.к. ни в одном месте нет единой картины, увы, детка, это опен сорс, чтоб его…

Установка

В домашнем каталоге выполнить последовательно следующие команды:

  1. mkdir tmpLA && cd tmpLA;
  2. wget https://download.adiscon.com/loganalyzer/loganalyzer-4.1.12.tar.gz9);
  3. tar zxvf loganalyzer-4.1.12.tar.gz;
  4. sudo mv loganalyzer-4.1.12/src/* /var/www/html;
  5. sudo chown -R www-data:www-data /var/www/html;
  6. cd ~ && rm -r tmpLA.

Настройка

Для заполнения конфигурационного файла, проще всего перейти браузером по адресу сервера и ответить на вопросы конфигуратора, после чего в каталоге с анализатором создастся файл «config.php».

Параметры

Ниже описание некоторых полезных параметров из файла конфигурации, для открытия которого нужно выполнить команду sudo nano /var/www/html/config.php.

  • $CFG['ViewMessageCharacterLimit'] = 100; – изменение лимита символов в колонке «Message»;
  • $CFG['InjectHtmlHeader'] = "<style>.mainheader > tbody > tr > td:nth-child(2) { display:none; }</style>"; – скрытие рекламного баннера;
  • $CFG['ShowMessage'] = true; – так и не понял, что это делает, а в код поленился лезть;
  • $CFG['Columns'] = array ( SYSLOG_DATE, SYSLOG_FACILITY, SYSLOG_SEVERITY, SYSLOG_HOST, SYSLOG_MESSAGE ); – изменение состава колонок вида «Legacy Columns Configuration»10);
  • $CFG['DefaultViewsID'] = "SYSLOG"; – вид по умолчанию, если в источнике не указано другое;
  • $CFG['ViewDefaultLanguage'] = "ru"; – язык по умолчанию, см. секцию с локализацией;
  • $CFG['ViewEnableAutoReloadSeconds'] = 60; – периодичность обновления страницы по умолчанию;
  • $CFG['DefaultSourceID'] = 'Source2'; – источник по умолчанию.

Источники

Дополнительные источники добавляются в конце конфигурации перед закрывающим тегом «?>».

$CFG['Sources']['Source2']['ID'] = 'Source2';
$CFG['Sources']['Source2']['Name'] = 'MikroTik Devices';
$CFG['Sources']['Source2']['ViewID'] = 'LEGACY';
$CFG['Sources']['Source2']['SourceType'] = SOURCE_DISK;
$CFG['Sources']['Source2']['LogLineType'] = 'Syslog23';
$CFG['Sources']['Source2']['DiskFile'] = '/var/log/mikrotik/remote.log';

Данный пример иллюстрирует добавление логов устройств MikroTik, которые пишутся в файл «remote.log» в формате IETF-syslog (RFC 5424) и для просмотра используется набор колонок «legacy».

Локализация

Чисто для эстетического удовольствия перевел те части интерфейса, которые доступны в рамках этой статьи.

Для установки русского перевода LogAnalyzer'а нужно в домашнем каталоге сделать следующее:

  1. wget https://wiki.soloshin.su/_media/raspberry_pi/pi_4_model_b/raspberry_pi_os/syslog-ng/loganalyzer-4.1.12-russian.tar.gz;
  2. tar -xvf loganalyzer-4.1.12-russian.tar.gz && rm loganalyzer-4.1.12-russian.tar.gz;
  3. sudo mv ru /var/www/html/lang.

:!: Однако, это не совсем все… Часть строк находится в файле конфигурации.

Раз кусочек11):

$CFG['SearchCustomButtonCaption'] = "Хочу расстроиться!";

И вот еще:

$CFG['Search'][] = array ( "DisplayName" => "Предупреждения и ошибки", "SearchQuery" => "filter=severity%3A0%2C1%2C2%2C3%2C4&search=Search" );
$CFG['Search'][] = array ( "DisplayName" => "Только ошибки", "SearchQuery" => "filter=severity%3A0%2C1%2C2%2C3&search=Search" );
$CFG['Search'][] = array ( "DisplayName" => "Сообщения за последний час", "SearchQuery" => "filter=datelastx%3A1&search=Search" );
$CFG['Search'][] = array ( "DisplayName" => "Сообщения за последние 12 часов", "SearchQuery" => "filter=datelastx%3A2&search=Search" );
$CFG['Search'][] = array ( "DisplayName" => "Сообщения за последние 24 часа", "SearchQuery" => "filter=datelastx%3A3&search=Search" );
$CFG['Search'][] = array ( "DisplayName" => "Сообщения за последние 7 дней", "SearchQuery" => "filter=datelastx%3A4&search=Search" );
$CFG['Search'][] = array ( "DisplayName" => "Сообщения за последний 31 день", "SearchQuery" => "filter=datelastx%3A5&search=Search" );
1)
Что легко решается авторизацией Apache.
2)
Источник раз, два и много других.
3)
Нужна для отображения графиков LogAnalyzer.
4)
В моем случае, как видно, PHP 7.4.
5)
Доменное имя машины, где установлен Апач, к примеру «server.home.int».
6)
Где «UserName», понятно, имя пользователя
7)
Далее, для добавления других пользователей убрать флаг «-c»!
9)
Актуальную версию можно узнать тут.
10)
Данный кейс оптимален для просмотра логов MikroTik.
11)
Забавная, кстати, кнопка – быстрая команда, по умолчанию ищущая слово «error» в логе.

Обсуждение

Ваш комментарий:
W G R W P K T E᠎ T A X L B L T G
 
Последнее изменение: 2022/02/12 11:40 (внешнее изменение)