Skip to content

Latest commit

 

History

History
61 lines (57 loc) · 4.52 KB

Readme.rdoc

File metadata and controls

61 lines (57 loc) · 4.52 KB

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