Сегодня я выложу на свой блог инструкцию как на Ubuntu Trusty установить сервис по сбору и визуализации собираемых логов с удаленных систем и устройств. Ранее уже такой сервис я уже разворачивал и использовал для единого сбора логов со всех подконтрольных 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-страницу, то значит на каком то этапе инсталляции допустили опечатку, чтобы ее поправить нужно удалить сформировавшийся файл конфигурации (или попробовать отредактировать его напрямую, а потом поправить права на каталог /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.