Настраиваем хранение логов в базе данных MySQL::Журнал СА 5.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6195
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6903
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4188
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2989
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3795
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3805
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6299
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3152
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3446
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7263
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10628
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12352
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13983
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9110
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7064
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5375
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4604
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3414
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3145
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3392
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3013
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Настраиваем хранение логов в базе данных MySQL

Архив номеров / 2009 / Выпуск №5 (78) / Настраиваем хранение логов в базе данных MySQL

Рубрика: Базы данных /  Инструменты

Сергей Крутилин

Настраиваем хранение логов в базе данных MySQL

Не всегда есть возможность зайти на удалённый сервер для просмотра журналов системы или приложений. Иногда возникает необходимость делегировать другому сотруднику задачи мониторинга. А может, под рукой не оказалось средств для удалённого доступа? Этих проблем можно избежать при помощи средств, настройка которых будет описана в данной статье.

Для решения поставленных целей нам понадобится следующее ПО – rsyslog (http://www.rsyslog.com) и phpLogcon (http://www.phplogcon.com). Первое будет записывать различные события журналов в базу данных MySQL, второе – предоставлять веб-интерфейс для их просмотра.

Необходимые требования:

  •   Сервер MySQL (http://www.mysql.com).
  •  Веб-сервер Apache (http://apache.org).
  • PHP5 (http://php.net).
  • Перед запуском rsyslogd системный демон syslogd должен быть остановлен и деактивирован в автозагрузке системы.

Примечание: все действия по установке ПО на *nix-сервере выполняем под пользователем root.

Установка rsyslog

Авторизуемся под учётной записью root на сервере с помощью консоли или используя ssh-клиент, удалённо (к примеру, putty – http://www.chiark.greenend.org.uk/~sgtatham/putty). Для работы с файлами на удалённом *nix-сервере можно использовать WinSCP (будет рассмотрена далее).

Загружаем последнюю стабильную версию (для порядка лучше создать директорию, в которой будут лежать все дистрибутивы, к примеру, это может быть /usr/Distr), после чего распаковываем полученный архив:

#mkdir /usr/Distr

# cd /usr/Distr/

#wget http://www.rsyslog.com/Downloads-req-viewsdownload-sid-1.phtml

# tar -zxf rsyslog-3.20.5

#cd rsyslog-3.20.5

Конфигурируем rsyslog (с поддержкой MySQL):

./configure CFLAGS="-I/usr/local/include/" LDFLAGS="-L/usr/local/lib" --enable-mysql

После чего выполняем:

#make

#make install

Создаём базу MySQL для rsyslog, используя файл createDB.sql. В нашем случае он находится в директории /usr/Distr/rsyslog-3.20.5/plugins/ommysql/. Также нам необходим пользователь баз данных samaglog с паролем samagpassword, который имеет все права на созданную базу данных с именем Syslog:

# /usr/local/bin/mysql --user=root --password=password < /usr/Distr/rsyslog-3.20.5/plugins/ommysql/createDB.sql

# /usr/local/bin/mysql --user=root --password=password

mysql>create user 'samaglog'@'localhost' identified by 'samagpassword';

mysql>GRANT ALL PRIVILEGES ON Syslog.* TO 'samaglog'@'localhost';

mysql>quit;

Модифицируем rsyslog.conf. По умолчанию он находится в директории /etc. Включаем поддержку MySQL:

$ModLoad ommysql.so

Синтаксис записи событий в определённый файл схож с системным. Для базы MySQL он будет следующим:

*.* >servername,dbname,user,password

Рассмотрим пример записи событий системы, связанных с безопасностью:

security.* >127.0.0.1,syslog,samaglog,samagpassword

Запускаем демон rsyslogd со следующими параметрами:

rsyslogd -c3 -4 -f /etc/rsyslog.conf

где:

  • c – обязательный параметр для определения совместимости со старыми версиями rsyslog,
  • 4 – использование ipv4,
  • f – путь к файлу конфигурации.

Дополнительную информацию о ключах запуска смотрите в документации по адресу http://wiki.rsyslog.com/index.php/Main_Page.

На этом установка rsyslog закончена, и мы переходим к phpLogcon.

Установка phpLogcon

Скачиваем последнюю стабильную версию phpLogcon и распаковываем её в новую директорию нашего веб-сервера:

# mkdir /var/www/samaglogs/ && cd /var/www/samaglogs/

# wget http://www.phplogcon.org/Downloads-req-getit-lid-54.phtml

# tar -zxf phplogcon-2.6.2.tar.gz

# cp -R phplogcon-2.6.2/src/* .

# rm -r phplogcon*

Создаём пустой файл конфигурации и устанавливаем необходимые разрешения:

# touch /var/www/samaglogs/config.php

# chmod 666 /var/www/samaglogs/config.php

Для запуска скрипта установки phpLogcon необходимо открыть в браузере следующий адрес: http://samag.local/samaglogs/install.php, где samag.local – это имя или IP-адрес вашего веб-сервера.

Следуя указаниям мастера, доходим до 7-го шага и в поле Source Type выбираем MySQL Native, как показано на рис. 1. Обращаю ваше внимание на то, что данные в поле Database Tablename чувствительны к регистру.

Рисунок 1. Настройка базы MySQL для phpLogcon

Рисунок 1. Настройка базы MySQL для phpLogcon

Если после установки возникнет ошибка:

 

No syslog records found - Error Details:

Could not find the configured table, maybe misspelled or the tablenames are case sensitive

 

Значит, вы неверно указали имя таблицы (вместо SystemEvents написали systemevents). В случае возникновения данной ошибки нужно исправить следующую строчку в файле /var/www/samaglogs/config.php:

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

Практика

Рассмотрим пример использования нескольких экземпляров rsyslogd и phplogcon. Нам необходим мониторинг событий mail.* (почтового сервера).

Модифицируем в файле createDB.sql в /usr/Distr/rsyslog-3.20.5/plugins/ommysql две первые строчки:

CREATE DATABASE Maillog;

USE Maillog;

Остальное оставляем без изменений.

Аналогично установке rsyslog создаём базу и даём на неё все права пользователю samaglog:

# /usr/local/bin/mysql --user=root --password=password < /usr/Distr/rsyslog-3.20.5/plugins/ommysql/createDB.sql

# /usr/local/bin/mysql --user=root --password=password

mysql>GRANT ALL PRIVILEGES ON Maillog.* TO 'samaglog'@'localhost';

mysql>quit;

Копируем файл /etc/rsyslog.conf в /etc/rsyslogmail.conf. После перечисления модулей в файле /etc/rsyslogmail.conf оставляем лишь:

mail.* >127.0.0.1,maillog,samaglog,samagpassword

Запускаем rsyslogd со следующими ключами:

rsyslogd -c3 -4 -f /etc/ rsyslogmail.conf -i /var/run/samag.pid

где i – путь к pid-файлу, для второго экземпляра rsyslogd.

Копируем директорию /var/www/samaglogs/ в другую (к примеру, /var/www/samagmaillogs/).

Переходим в новую директорию и изменяем следующую строчку в конце файла config.php:

$CFG['Sources']['Source1']['DBName'] = 'maillog';

Получаем отдельный мониторинг по адресу http://samag.local/samagmaillogs, как показано на рис. 2.

Рисунок 2. Пример работы phpLogcon

Рисунок 2. Пример работы phpLogcon

Как видно из примера, просматривать журналы намного удобнее через веб-интерфейс. Можно задавать различные фильтры, выбирать тип отображаемых данных и просматривать графики. Также rsyslog можно использовать для консолидации журналов нескольких серверов или сетевых устройств. Один интерфейс просмотра всегда удобнее, чем несколько.

WinSCP

В заключение рассмотрим упомянутый выше инструмент – WinSCP (http://winscp.net/eng/docs/lang:ru). Это файл-менеджер, который работает по протоколу SFTP (http://en.wikipedia.org/wiki/SFTP).

При помощи WinSCP вы можете работать с удалённым сервером *nix посредством демона SSH. WinSCP имеет следующие возможности:

  • графический интерфейс;
  • интеграция с ОС Windows (drag&drop, поддержка схем URL, ярлыки);
  • все основные файловые операции.

Остальное вы найдёте на официальном сайте проекта по адресу http://winscp.net/eng/docs/lang:ru#возможности_программы.

Для работы с WinSCP необходимо настроить сервис SSH. Раскомментируйте в файле /etc/ssh/sshd_config следующую строчку:

Subsystem sftp /usr/libexec/sftp-server

После чего перезапустите демон sshd, используя следующую команду:

kill -HUP $(cat /var/run/sshd.pid)

где /var/run/sshd.pid – путь к pid-файлу демона sshd.

Пример работы WinSCP показан на рис. 3.

Рисунок 3. Пример работы WinSCP

Рисунок 3. Пример работы WinSCP

Заключение

Оптимизация повседневных задач упрощает вашу работу. Единая система мониторинга позволит избежать многих проблем. Грамотное использование средств администрирования, будь то скрипты или сторонне ПО, в большинстве своём принесут только пользу.

Большой каталог свободно распространяемого ПО вы найдёте по адресу http://sf.net.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru