Skip to content
/ parsa Public
forked from puzanov/parsa

log parser and analyser for namba filesystem

Notifications You must be signed in to change notification settings

dukelion/parsa

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

parsa

Что это parsa?

parsa – это парсер логов для Намба файлов. parsa берет логи из боксов файлбара, скачивает их себе, парсит и сохраняет нужную для админов информацию в локальную базу. По анализу этой базы админами принимается решение о прогреве файлов и об удалении файлов

Что умеет parsa?

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

Как установить parsa и как заставить ее работать?

Очень просто.

  • Нужно подготовить бокс на котором будет стоять ruby версии 1.8, rubygems(нужно скачать rubygems версии 1.6.1 с rubygems.org) и mysql. Возможно потребуется поставить ruby-dev. У этого бокса должны быть ключи для доступа к боксам Намба файлов

  • Нужно склонировать репозиторий parsa

    git clone git://github.com/puzanov/parsa.git
  • Поставить bundler и rake

    sudo gem install bundler rake
    
  • Поставить нужные для parsa гемы через bundler

    bundle install
    
  • Создать базу parsa в mysql; пользователя, если требуется и дать ему права на базу

    mysql -u root
    mysql>create database parsa;
    mysql>grant all on parsa.* to 'root'@'localhost';
  • Подготовить базу для работы с parsa

    rake db:migrate
    
  • Запустить parsa и проверить нет ли ошибок

    ruby parsa
    

Файл конфигурации и директории для локальных логов

parsa считывает файл config.yml в котором указываются боксы Намба файлов, реквизиты доступа и директории для логов.

cp config.default.yml config.yml

Дефолтный конфиг выглядит так:

servers:
  -
    host: host1
    username:
    password:
    remote_dir: /var/log/filebar
    remote_dir_for_archived_log: /tmp
    local_dir: /home/user/parsa/logs/host1
    log_filename_prefix: access-
  -
    host: host2
    username:
    password:
    remote_dir: /var/log/filebar
    remote_dir_for_archived_log: /tmp
    local_dir: /home/user/parsa/logs/host2
    log_filename_prefix: access-

На что нужно обратить внимание?

  • значения нужно писать без кавычек

  • local_dir должен быть уникален для каждого хоста. То есть для каждого хоста нужно прописать свою диру, куда будут складываться логи этого хоста. Если у двух хостов будут прописаны одинаковые local_dir, то это пиздец. Наверное следует сделать проверку при запуске parsa, чтобы локальные диры для логов были доступны и чтобы они были уникальны

  • У пользователя username должны быть права на чтение remote_dir и на запись в remote_dir_for_archived_log

Примечания

  • parsa можно запускать на разных боксах. Если логи слишком большие и у parsa уходит много времени на их парсинг, то можно установить parsa на две или три машины и прописать в конфиге для каждой машины свой пул боксов Намба файлов. Доступ к базе должен быть одинаков

  • исходя из пункта выше можно с уверенностью сказать, что parsa можно запускать на боксах Намба файлов, если удастся установить необходимые для нее библиотеки на Solaris

About

log parser and analyser for namba filesystem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%