Как развернуть LogAnalyzer on Ubuntu 18.04

Posted by

Настраиваю текущую систему скриптом выкачанным из своего репозитария, у Вас он свой или оставляйте систему по дефолту. По личным соображения я его не публикую.

ekzorchik@srv-bionic:~$ sudo ./dproject/default

Напомню тем кто смотрит на эту заметку впервые (А я уже использовал данный сервис в Ubuntu Trusty, смотреть заметку: или брать за основу), разворачиваемый сервис LogAnalyzer (версия 4.1.6 — это сервис для централизованного хранения логов отправляемых на эту систему, будь-то сетевое оборудование Mikrotik, будь-то Ubuntu системы или Windows системы. Я описываю свое практическое использованию и в следствии этого хочу сделать акцент, что сервис LogAnalyzer может использовать и для чего-то иного не упомянутого в этой заметке. Я же описываю только то с чем работаю и ничто другое.

ekzorchik@srv-bionic:~$ uname -a

Linux srv-bionic 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

ekzorchik@srv-bionic:~$ sudo apt-get install apache2 mysql-server mysql-client -y

ekzorchik@srv-bionic:~$ sudo mysqladmin -u root password 712mbddr@

ekzorchik@srv-bionic:~$ apt-cache search rsyslog-mysql

rsyslog-mysql - MySQL output plugin for rsyslog

ekzorchik@srv-bionic:~$ sudo apt-get install rsyslog-mysql -y

Configure database for rsyslog-mysql with dbconfig-common? Yes

MySQL application password for rsyslog-mysql: 712mbddr@

Password confirmation: 712mbddr@

Создаю базу данных, пользователи и пароль которые будут использоваться под сервис rsyslog-mysql:

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create database dbsyslog character set utf8"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create user 'ussyslog'@'localhost' identified by '612mbddr@'"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "grant all on dbsyslog.* to 'ussyslog'@'localhost';"

Загружаю содержимое базы, его схему в созданную базу данных:

ekzorchik@srv-bionic:~$ sudo mysql -u ussyslog -p612mbddr@ -D dbsyslog < /usr/share/dbconfig-common/data/rsyslog-mysql/install/mysql

Теперь создаю базу данных, пользователи и пароль которые будут использоваться под сервис LogAnalyzer:

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create database dbloganalyzer character set utf8"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create user 'usloganalyzer'@'localhost' identified by '612mbddr@'"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "grant all on dbloganalyzer.* to 'usloganalyzer'@'localhost';"

ekzorchik@srv-bionic:~$ sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.org

ekzorchik@srv-bionic:~$ sudo nano /etc/rsyslog.conf

# provides UDP syslog reception

module(load="imudp")

input(type="imudp" port="514")

# provides TCP syslog reception

module(load="imtcp")

input(type="imtcp" port="514")

ekzorchik@srv-bionic:~$ sudo nano /etc/rsyslog.d/mysql.conf

### Configuration file for rsyslog-mysql

### Changes are preserved

module (load="ommysql")

*.* action(type="ommysql" server="localhost" db="dbsyslog" uid="ussyslog" pwd="612mbddr@")

ekzorchik@srv-bionic:~$ sudo systemctl restart rsyslog

Теперь навешиваю Webинтерфейс именуемый, как LogAnalyzer:

ekzorchik@srv-bionic:~$ wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz

ekzorchik@srv-bionic:~$ tar zxf loganalyzer-4.1.6.tar.gz

ekzorchik@srv-bionic:~$ sudo mkdir /var/www/html/loganalyzer

ekzorchik@srv-bionic:~$ sudo cp -r loganalyzer-4.1.6/src/* /var/www/html/loganalyzer/

ekzorchik@srv-bionic:~$ sudo touch /var/www/html/loganalyzer/config.php

ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/

http://IP&DNS/loganalyzer

Не отрабатывают PHP скрипты у Web-сервиса Apache2

Проблема не отрабатывают PHP скрипты:

ekzorchik@srv-bionic:~$ sudo apt-get install libapache2-mod-php7.2 -y

После на странице Web-браузера нажимаю клавишу F5 для обновления состояния экрана и нажимаю на гиперссылку с надписью «here» надписи «Errordetails: Error, main configuration file is missing. Click here to install Adiscon LogAnalyzer!» после запускается мастер настройки:

Шаг №1: Prerequisites

Нажимаю Next

Шаг №2: Verify File Permissions

Проверяются разрешения на файл configure.sh из каталога contrib , они должны иметь статус записи, т. е. Writeable и нажимаю Next

Шаг №3: Basic Configuration

  • Enable User Database: Yes
  • Database Host: localhost
  • Database Port: 3306
  • Database Name: dbloganalyzer
  • Table prefix: logcon_
  • Database User: usloganalyzer
  • Database Password: 612mbddr@
  • Require user to be logged in: No
  • Authentication method: Internal authentication

и нажимаю Next

Нет модуля связки php & mysql

Шаг №4: Вот только этого шага у меня нет, а всего лишь белая страница:

смотрю логи Web-сервиса:

ekzorchik@srv-bionic:~$ sudo tail -f /var/log/apache2/error.log

[Fri Sep 28 20:55:54.594972 2018] [php7:error] [pid 23463] [client 172.33.33.7:35670] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/loganalyzer/install.php:377\nStack trace:\n#0 {main}\n thrown in /var/www/html/loganalyzer/install.php on line 377, referer: http://172.33.33.25/loganalyzer/install.php?step=3

Как видно у меня не установлен модуль для связи php и mysql:

ekzorchik@srv-bionic:~$ apt-cache search php | grep mysql

php-mysql - MySQL module for PHP [default]

php7.2-mysql - MySQL module for PHP

php-mdb2-driver-mysql - mysql MDB2 driver

ekzorchik@srv-bionic:~$ sudo apt-get install php7.2-mysql -y

ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

После на странице Web-браузера нажимаю клавишу F5 для обновления состояния экрана и вижу Шаг №4: Create Tables, нажимаю Next

Шаг №5: Check SQL Results

Tables have been created. Check the List below for possible Error's

  • Successfully executed statementes: 24
  • Failed statementes: 0

You can now proceed to the next step adding the first LogAnalyzer Admin User!

и нажимаю Next

Шаг №6: Creating the Main Useraccount (Создаю административный аккаунт по использованию сервисом LogAnalyzer)

  • Username: ekzorchik
  • Password: 712mbddr@
  • Repeat Password: 712mbddr@

и нажимаю Next, если появилась надпись красного цвета «Successfully created User 'ekzorchik'.», то значит Вы правильно указали пароль и такого административного пользователя нет, он уникален

Шаг №7: Create the first source for syslog messages

  • Name of the Source: My Syslog Source
  • Source Type: MYSQL Native
  • Select View: Syslog Fields
  • Table type: MonitorWare
  • Database Host: localhost
  • Database Name: dbsyslog
  • Database Tablename: systemevents
  • Database User: ussyslog
  • Database Password: 612mbddr@
  • Enable Row Counting: No

и нажимаю Next

Шаг №8: Done

должны быть строки: Congratulations! You have successfully installed LogAnalyzer :)!

Click herehere» → это опять гиперсcылка: http://172.33.33.25/loganalyzer/index.php) to go to your installation.

Перехожу по гиперссылке и меня встречает первая ошибка, что указанной таблицы systemevents нет:

Ошибка открытия таблицы SystemEvents из базы dbsyslog

 

Вспомнил, что таблица должна быть надписана с заглавной буквы:

ekzorchik@srv-bionic:~$ sudo nano /var/www/html/loganalyzer/config.php

#$CFG['Sources']['Source1']['DBTableName'] = 'systemevents';

$CFG['Sources']['Source1']['DBTableName'] = 'SystemEvents';

ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

и через F5 ошибка пропадает и я вижу, как логи системы формируются в базу dbsyslog, а уже LogAnalyzer читает эту базу и отображает все логирование через удобный Web-интерфейс:

Просмотр логов через Web-интерфейс - работает!

Если нужно переустановить LogAnalyzer то шаги сводятся к удалению config.php и созданию заново баз, пользователей и паролей.

На заметку: мой Вам совет, администрируйте в одни руки инфраструктуру дабы ни от кого не нужно было быть зависимым и конечно документируйте настройки, изменения в инфраструктуре, как работают сервисы и оборудование.

Задача данной заметки выполнена, на этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.