Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Чем может быть полезен стек ELK

962 views

Published on

Стек Elasticsearch, Logstash и Kibana используется в Automattic не только для выполнения поиска по более чем 100 миллионам сайтов, но и для создания и хранения логов, котоые потом могут быть использованы для разных нестандартный и интересных задач, о которых Александр и расскажет в своем докладе на WordCamp Moscow 2016.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Чем может быть полезен стек ELK

  1. 1. Чем может быть полезен стек ELK Aleksandr Stankevic
  2. 2. Systems Wrangler @Automattic 2012 - NOW()
  3. 3. Проблема ● >4000 серверов ● сервер недоступен ● сервер взломан ● десятки терабайт логов в день
  4. 4. Решение ● оставить как есть ● удаленный syslog - медленный поиск, не достаточно функциональный ● splunk - 600$ / GB ?!?! ● ELK
  5. 5. Что такое ELK? Elasticsearch: - Поисковый движок (Lucene) - Распределенная и масштабируемая система Logstash: - Обработка логов Kibana: - Визуализация и поиск логов
  6. 6. Logstash - input input { file { path => … } syslog { } } inputs: tcp, udp, syslog, file, eventlog, imap, irc, rss, redis, stdin, 0mq и т.д* * https://www.elastic.co/guide/en/logstash/2.3/input-plugins.html
  7. 7. Logstash - filter filter { json { source => … } grok { match => [ “message”, “/^%{IP:user_ip} (?<username>w+)/” ] } Filters: cidr, geoip, date, grok, json, kv, ruby, xml, useragent, mutate и т.д* * https://www.elastic.co/guide/en/logstash/2.3/filter-plugins.html
  8. 8. Logstash - output output { stdout {} elasticsearch {} } Outputs: file, email, exec, graphite, jira, nagios, pagerduty, redis, zabbix и т.д* * https://www.elastic.co/guide/en/logstash/2.3/output-plugins.html
  9. 9. Пример input { courier { port => 1234 } file { path => ‘/tmp/php-memory.log’ } } filter { json => { source => “message” } date => { match => [ “timestamp”, “UNIX”, “dd/MMM/YYYY:HH:mm:ss Z" } output { elasticsearch { hosts => “localhost:9200”, index => “logs-%{+YYYY.MM.dd} }
  10. 10. Kibana
  11. 11. Kibana
  12. 12. Визуализация
  13. 13. Kibana dashboard
  14. 14. ELK кластер Elasticsearch: 8 archive nodes (HDD, 128GB RAM ) 13 active (SSD, 64GB RAM ) 87 TB Logstash: 14 (16GB RAM ) + 1 per POP ( 6GB RAM, 4 vCPU )
  15. 15. Электронная почта ● > 30 миллионов писем в день ● 70-80 GB логов в день ● несколько запросов в день ● распределено по нескольким серверам ● до 5 дней
  16. 16. Электронная почта
  17. 17. Электронная почта
  18. 18. Электронная почта
  19. 19. Электронная почта
  20. 20. PHP ● 50-150 миллионов php сообщений в день ● ~ 2400 серверов ● бесконечный цикл :(
  21. 21. PHP
  22. 22. PHP
  23. 23. Netflows
  24. 24. Тепловая карта России
  25. 25. Города и провайдеры
  26. 26. nginx - ~2000 серверов - Более 2 миллиардов запросов в день - Не включая кэшированные запросы - Не включая лоад балансеры
  27. 27. nginx
  28. 28. Запросы из России
  29. 29. Отфильтрованные запросы из России
  30. 30. Понравилось? https://automattic.com/work-with-us/
  31. 31. Вопросы?

×