Сервис логирования LogAnalyzer на Trusty

Posted by

Сегодня я выложу на свой блог инструкцию как на установить сервис по сбору и визуализации собираемых логов с удаленных систем и устройств. Ранее уже такой сервис я уже разворачивал и использовал для единого сбора логов со всех подконтрольных Windows станций, но все меняется, вот к примеру сейчас я использую совместно несколько дистрибутивов Ubuntu: Precise & Trusty, и вот последний все чаще. А потому нужно уметь развернуть сервис LogAnalyzer и на другом релизе. Ниже пошаговые действия, так сказать от и до.

Системный требования моей станции:

CPU = 1Ghz

RAM = 2G

HDD = 50Gb

Ниже небольшие пояснения.

Обновляю систему до стабильного состояния в рамках текущего релиза Ubuntu Trusty (LTS):

ekzorchik@srv-host:~$ sudo apt-get update && sudo apt-get upgrade -y

Устанавливаю Linux Apache Mysql PHP связку:

ekzorchik@srv-host:~$ sudo tasksel install lamp-server
New password for the MySQL «root» user: 712mbddr@
Repeat password for the MySQL «root» user: 712mbddr@

ekzorchik@srv-host:~$ sudo nano /etc/apache2/sites-available/000-default.conf

DocumentRoot /var/www

ekzorchik@srv-host:~$ sudo rm -Rf /var/www/html

ekzorchik@srv-host:~$ sudo nano /etc/apache2/apache2.conf

ServerName srv-host

ekzorchik@srv-host:~$ sudo service apache2 restart

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

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

Password of the database’s administrative user: 712mbddr@

MySQL application password for rsyslog-mysql: 712mbddr@

Password confirmation: 712mbddr@

ekzorchik@srv-host:~$ sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.backup

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

# provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514

# provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514

ekzorchik@srv-host:~$ sudo service rsyslog restart

ekzorchik@srv-host:~$ sudo nano /etc/rsyslog.d/relp.conf

$ModLoad imrelp

$InputRELPServerRun 20514

ekzorchik@srv-host:~$ sudo mkdir -p /var/rsyslog/work

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

$ModLoad ommysql

*.* :ommysql:localhost,Syslog,rsyslog,712mbddr@

$WorkDirectory /var/rsyslog/work # default location for work (spool) files

$ActionQueueType LinkedList # use asynchronous processing

$ActionQueueFileName dbq # set file name, also enables disk mode

$ActionResumeRetryCount -1 # infinite retries on insert failure

ekzorchik@srv-host:~$ sudo service rsyslog restart

Теперь когда подготовка завершена пора перейти к разбору шагов по установке LogAnalyzer на сервер:

ekzorchik@srv-host:~$ sudo mkdir -p /opt/log

ekzorchik@srv-host:~$ cd /opt/log

ekzorchik@srv-host:/opt/log$ sudo wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.6.tar.gz

ekzorchik@srv-host:/opt/log$ sudo tar -zxf loganalyzer-3.6.6.tar.gz && cd loganalyzer-3.6.6

ekzorchik@srv-host:/opt/log/loganalyzer-3.6.6$ sudo mkdir /var/www/logs

ekzorchik@srv-host:/opt/log/loganalyzer-3.6.6$ sudo cp -R src/* /var/www/logs/

ekzorchik@srv-host:/opt/log/loganalyzer-3.6.6$ sudo cp contrib/* /var/www/logs/

ekzorchik@srv-host:/opt/log/loganalyzer-3.6.6$ cd /var/www/logs/

ekzorchik@srv-host:/var/www/logs$ sudo chmod +x configure.sh secure.sh

ekzorchik@srv-host:/var/www/logs$ sudo ./configure.sh

ekzorchik@srv-host:/var/www/logs$ cd ~/

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

ekzorchik@srv-host:~$ mysql -u root -p712mbddr@

mysql> create database db_analyzer;

mysql> grant all on db_analyzer.* to analyzer@'localhost' identified by '712mbddr@';

Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> exit

Bye

После открываю http://IP&DNS/logs и прохожу по шагам настройки на связку LogAnalyzer & MYSQL:

Здесь шаги идентичны ранее опубликованной заметки:

Шаг №1: Next

Шаг №2: Next

Шаг №3:

Database Host: localhost

Database Port: 3306

Database Name: db_analyzer

Table prefix: logcon_

Database User: analyzer

Database Password: 712mbddr@

Require user to be logged in: No

Authentication method: Internal authentication

Шаг №3: Next

Шаг №4: Next

Шаг №5: Должно быть так, а после нажимаем Next

Step 5 — Check SQL Results

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

  • Successfully executed statements: 23
  • Failed statements: 0

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

Шаг №6: Создаем административного пользователя по управлению через Web-интерфейс:

Username: ekzorchik

Password: 712mbddr@

Repeat Password: 712mbddr@

а после нажимаем Next

Шаг №7:

Name of the Source: My Syslog Source

Source Type: MYSQL Native

Select View: Syslog Fields

Table type: MonitorWare

Database Host: localhost

Database Name: Syslog

Database Tablename: SystemEvents

Database User: rsyslog

Database Password: 712mbddr@

Enable Row Counting: No

Шаг №8: Сообщение должно выглядеть так.

Step 8 — Done

Congratulations! You have successfully installed LogAnalyzer :)!

Click here to go to your installation.

а после нажимаем Finish

И по проходу дальнейших шагов предомной предстает уже знакомый Web-интерфейс по визуализированному отображению собираемых логов:

Web-сервис визуализации собираемых логов с удаленных система/устройств

Если же Вы не видите данную Web-страницу, то значит на каком то этапе инсталляции допустили опечатку, чтобы ее поправить нужно удалить сформировавшийся файл конфигурации (или попробовать отредактировать его напрямую, а потом поправить права на каталог /var/www и перезапустить службу Web-сервера и конечно же проверить через Web-интерфейс) и пройтись по всем шагам заново:

ekzorchik@srv-host:~$ sudo rm /var/www/logs/config.php

и пересоздаем базу db_analyzer

ekzorchik@srv-host:~$ mysql -u root -p712mbddr@

mysql> drop database db_analyzer;

mysql> create database db_analyzer;

mysql> grant all on db_analyzer.* to analyzer@'localhost' identified by '712mbddr@';

mysql> flush privileges;

mysql> quit

Bye

А после заново пройтись по Web-шагам настройки ( http://IP&DNS/logs )

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

На заметку: советую побеспокоиться о типах логирования и месторасположении баз данных куда складываются все сообщения, потому как от большого количества база будет рости, у меня к примеру она пока маленькая:

ekzorchik@srv-host:~$ sudo du -sh /var/lib/mysql/db_analyzer

204K /var/lib/mysql/db_analyzer

ekzorchik@srv-host:~$ sudo du -sh /var/lib/mysql/Syslog

32K /var/lib/mysql/Syslog

Для чего я еще раз разобрал как поставить инструмент по управлению собиранию логов тех систем за которыми нужен глаз да глаз. Просто порой к примеру базовый станции Grandstream & D-Link падают, отваливаются от облачной АТС и мне хочется побольше узнать что происходит в этот момент и до него, а без логов это сделать не представляется возможным. Ведь чтобы базовые станции восстановили свою работу я их просто перезагружаю раз в день скриптом, а при этом логи стираются, вот так вот. А мне они необходимы. На этом я прощаюсь, с уважением автор блога — ekzorchik.