Top Banner
Logstash. Как обработать логи и не только Коваль Антон
39

Thumbtack Expertise Days # 5 - Logstash

Jul 20, 2015

Download

Technology

Alexey Remnev
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Thumbtack Expertise Days # 5 - Logstash

Logstash. Как обработать логи и не только

Коваль Антон

Page 2: Thumbtack Expertise Days # 5 - Logstash

Что такое logstash

Инструмент для потоковой обработки событий в реальном времени.Написан на JRuby.

Page 3: Thumbtack Expertise Days # 5 - Logstash

Почему logstash?

● большое количество плагинов● простота● не cloud● бесплатный

Page 4: Thumbtack Expertise Days # 5 - Logstash

Альтернативы

★ loggly★ graylog★ splunk★ logscale

Page 5: Thumbtack Expertise Days # 5 - Logstash

Как работает

Page 6: Thumbtack Expertise Days # 5 - Logstash

После INPUT

Page 7: Thumbtack Expertise Days # 5 - Logstash

После FILTER

Page 8: Thumbtack Expertise Days # 5 - Logstash

Простейшее приложение

★ установленный logstash★ конфиг файл

Page 9: Thumbtack Expertise Days # 5 - Logstash

Пример конфига

Page 10: Thumbtack Expertise Days # 5 - Logstash

Чуть посложнее приложение

★ установленный logstash★ конфиг файл★ свой плагин

Page 11: Thumbtack Expertise Days # 5 - Logstash

Пишем свой плагин

Легко писать расширения, но …..

Page 12: Thumbtack Expertise Days # 5 - Logstash

Пишем свой плагин

Легко писать расширения, но …..

JRUBY

Page 13: Thumbtack Expertise Days # 5 - Logstash

Пишем свой плагин

Page 14: Thumbtack Expertise Days # 5 - Logstash

Пишем свой плагин

Input: register, run, teardown

Filter: register, filter

Output: register, receive, teardown

Page 15: Thumbtack Expertise Days # 5 - Logstash

Сложное приложение

★ установленный logstash★ конфиг файл★ свой плагин★ java бибилиотеки

Page 16: Thumbtack Expertise Days # 5 - Logstash

Java dependencies

Включение jar зависимостей:

● environment.rb (ручная загрузка jar файлов)

Page 17: Thumbtack Expertise Days # 5 - Logstash

Java dependencies

Включение jar зависимостей:

★ environment.rb (ручная загрузка jar файлов)★ classpath (пришлось править logstash.sh)

Page 18: Thumbtack Expertise Days # 5 - Logstash

Используем Java классы

java_import net.thumbtack.MyClass

Page 19: Thumbtack Expertise Days # 5 - Logstash

Отказоустойчивость

20 20

Page 20: Thumbtack Expertise Days # 5 - Logstash

Отказоустойчивость

40 событий может быть потеряно

20 20

Page 21: Thumbtack Expertise Days # 5 - Logstash

Масштабируемость

Input: каждый источник работает в отдельном потоке.

Filter: модель worker-ов.

Output: модель worker-ов.

Page 22: Thumbtack Expertise Days # 5 - Logstash

Best practice (error handling)

Все ошибки складывать в одно поле.

Page 23: Thumbtack Expertise Days # 5 - Logstash

Best practice (logging)

★ в модулях у каждого свой логгинг

★ нельзя поменять формат

★ в сложных конфигах сложно следить за

процессом

Page 24: Thumbtack Expertise Days # 5 - Logstash

Best practice (logging)

Свой custom logging

Page 25: Thumbtack Expertise Days # 5 - Logstash

Мониторинг

Page 26: Thumbtack Expertise Days # 5 - Logstash

Мониторинг

Page 27: Thumbtack Expertise Days # 5 - Logstash

Мониторинг

Output:

★ ganglia★ graphite★ zabbix★ nagios

Page 28: Thumbtack Expertise Days # 5 - Logstash

Мониторинг

Page 29: Thumbtack Expertise Days # 5 - Logstash

Healthcheck

★ активные★ пассивные

Page 30: Thumbtack Expertise Days # 5 - Logstash

Healthcheck

★ активные (input и output не связаны)★ пассивные (метрики)

Page 31: Thumbtack Expertise Days # 5 - Logstash

Тестирование (ручное)

Page 32: Thumbtack Expertise Days # 5 - Logstash

Тестирование (автоматическое)

★ Руби-тест:

bin/logstash rspec

spec/core/timestamp_spec.rb

★ blackbox тестирование

Page 33: Thumbtack Expertise Days # 5 - Logstash

Визуализация логов

★ elasticsearch ★ kibana

Page 34: Thumbtack Expertise Days # 5 - Logstash

Визуализация логов

Page 35: Thumbtack Expertise Days # 5 - Logstash

Визуализация логов

Page 36: Thumbtack Expertise Days # 5 - Logstash

Что еще мы делали?

● ротация логов● сжатие логов● чтение писем (IMAP)● сделали свой плагин для JMS

Page 37: Thumbtack Expertise Days # 5 - Logstash

Спасибо!

Page 38: Thumbtack Expertise Days # 5 - Logstash

Вопрос 1

Есть конфигурация с 2-мя output плагинами.Что будет, если один из них начнет медленно посылать события?

Page 39: Thumbtack Expertise Days # 5 - Logstash

Вопрос 2

Есть файл с логами. Как можно сделать сжатие файла при помощи Logstash?