Translate

четвер, 29 січня 2015 р.

Centralize Loggining with Kibana/Logstash/Elasticsearch

Я раніше писав про установку та налаштування серверу централізованого збору логів в основі якого лежав Rsyslog з бекендом LogAnalyzer, та сервер із Syslog-ng. Основним недоліком LogAnalyzer є відсталість його інтерфейсу. Тому якщо цей недолік для вас є основним - раджу спробувати Kibana/Logstash зі зберіганням данних в Elasticsearch.

Kibana/Logstash не є вузькоспеціалізованим продуктом, що призначений лише для збирання логів програм. За його допомогою можна також візуалізувати власні дані за допомогою різноманітних графіків та діаграм, наприклад, статистику використання браузерів чи найбільш популярні сторінки власного сайту та ін.

Спочатку розберемось щодо складових частин серверу збору логів та їхнього призначення.


Logstash читає логи або отримує їх від клієнтів за допомогою Logstash-forwarder, розбирає їх по полям відповідними драйверами та записує їх до Elasticsearch, потім, за допомогою Kibana, можна переглядати логи і будувати різноманітні діаграми чи графіки.

Дистрибутив, що я буду використовувати - Ubuntu 14.04. Навіть для тестів краще брати машину як мінімум із 2 ГБ RAM та 2 CPU.

Почнемо з установки серверної частини. Logstash та Elasticsearch потребують Java 7 для роботи, для чого підійде як Oracle Java 7, так і OpenJDK.

# add-apt-repository -y ppa:webupd8team/java
# apt-get update
# apt-get -y install oracle-java7-installer

Для production середовища, можливо, краще скористатись джавою що надає Oracle на власному сайті та зібрати власний пакет:

# apt-get install java-package
# wget http://download.oracle.com/otn-pub/java/jdk/7u75-b13/server-jre-7u75-linux-x64.tar.gz?AuthParam=1423217016_530b51c9d6c77e8237c6a2f2288d7657 -O jre-7u75-linux-x64.tar.gz
# make-jpkg jre-7u75-linux-x64.tar.gz
# dpkg -i oracle-j2re1.7_1.7.0+update75_amd64.deb
# update-alternatives --auto java

неділя, 11 січня 2015 р.

Deploy with Webistrano (Capistrano)


Webistrano - це фронтенд написаний на ROR до ruby-програми Capistrano. Це зручна адмін-панель до управління процесом виливки коду: за допомогою Webistrano можна зручно управляти етапами деплою проектів, надавати певні права користувачам, повертатись на попередні релізи у разі появи проблем та ін.

На жаль, проект більше 5 років не підтримується розробником - тому чим далі, тим буде складніше його установити, адже ніхто не тестує його роботу з останніми бібліотеками Ruby. Наразі краще пошукати альтернативи Webistrano або ж просто користуватись лише консольним інтерфейсом Capistrano, що звісно не додає зручності.

Для Ubuntu 14.04 LTS установка і налаштування проходить наступним чином. Перш за все встановимо необхідні пакети зі стандартних репозиторіїв:

# apt-get install ruby ruby-dev gem rubygems-integration libmysqlclient-dev ruby1.9.1-dev make git mysql-server

Призначення кожного пакету, я думаю, зрозуміле. Наступний крок - установка Rails:

# gem install rdoc mysql2
# gem install rails --no-ri --no-rdoc

Встановлюємо Capistrano, бекенд до Web:

# gem install capistrano