Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Сбор данных с машин в тестовых окружениях

5206c19df417b8876825b5561344c1a0?s=47 Exactpro
PRO
September 27, 2018

Сбор данных с машин в тестовых окружениях

Денис Заикин
Руководитель группы разработки ПО, Exactpro

TMPA School Kostroma, 2018

НИУ ВШЭ: https://cs.hse.ru/big-data/csmc/about
TMPA School: https://school.tmpaconf.org/
Exactpro: https://exactpro.com/

5206c19df417b8876825b5561344c1a0?s=128

Exactpro
PRO

September 27, 2018
Tweet

Transcript

  1. Build Software to Test Software exactpro.com Сбор данных с машин

    в тестовых окружениях Денис Заикин
  2. 2 Build Software to Test Software exactpro.com Введение

  3. 3 Build Software to Test Software exactpro.com Проблема сбора данных

    Основные проблемы сбора данных: • у каждого приложения свой формат логов • логи не структурированы • большие объемы собираемых данных • нужно агрегировать данные не связанных между собой систем • сложная реализация поиска по собранным данным
  4. 4 Build Software to Test Software exactpro.com Структура задачи по

    сбору данных - Сбор данных использование специальных инструментов для сбора, подготовки и передачи данных - Передача данных передача данных от машины с данными до хранилища - Хранение данных файловая система, различные базы данных, распределенные хранилища - Обработка данных машинное обучение, ручная обработка, специальные алгоритмы
  5. 5 Build Software to Test Software exactpro.com Существующие решения для

    работы с логами и сбора данных - Graylog https://www.graylog.org/ - Flume http://flume.apache.org/ - Fluend https://www.fluentd.org/ - Heka https://github.com/mozilla-services/heka - Splunk https://www.splunk.com/ - Scribe https://github.com/facebookarchive/scribe - Alco https://github.com/rutube/alco - rsync - Beats https://www.elastic.co/products/beats - Logstash https://www.elastic.co/products/logstash
  6. 6 Build Software to Test Software exactpro.com Проблема сбора сетевого

    трафика
  7. 7 Build Software to Test Software exactpro.com Обработка сетевого трафика

    и передача данных
  8. 8 Build Software to Test Software exactpro.com Существующие решения для

    хранения данных - Hadoop https://hadoop.apache.org/ - InfluxData https://www.influxdata.com/ - Splunk https://www.splunk.com/ - NoSQL базы данных - Реляционные базы данных - Облачные решения - Elasticsearch https://www.elastic.co/
  9. 9 Build Software to Test Software exactpro.com Что такое Elasticsearch

    и в чем его преимущества? - Поисковый движок Apache Lucene - Масштабируемость и отказоустойчивость из коробки - Мультиарендность - Отсутствие схемы - Полноценная система для хранения данных - Интерфейс доступа к данным RESTFul - Реализация оптимистической блокировки из коробки - Open Source - Популярность https://stackoverflow.com/search?q=elasticsearch
  10. 10 Build Software to Test Software exactpro.com Описание стека Elasticsearch

  11. 11 Build Software to Test Software exactpro.com Filebeat ############################# Filebeat

    ###################################### filebeat.inputs: - type: log enabled: true paths: - /opt/exp/loadinjector/loadinjector*.log fields: service: loadinjector input_type: log type: loadinjector_log ############################# Output ########################################## output.logstash: hosts: ["127.0.0.1:5044"]
  12. 12 Build Software to Test Software exactpro.com Logstash input {

    beats { port => 5044 ssl => false } file { type => "loadinjector_log" path => [ "/opt/exp/loadinjector/loadinjector*.log" ] exclude => [ "*.gz", "*.zip", "*.rar" ] start_position => "end" stat_interval => 1 discover_interval => 30 } } output { if [type]=="loadinjector_log" { elasticsearch { hosts => ["localhost:9200"] index => "loadinjector" } } }
  13. 13 Build Software to Test Software exactpro.com Logstash filter {

    if [type]=="loadinjector_log" { grok { match => [ "message", "%{NUMBER:millis} %{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:loglevel} %{SPACE} %{GREEDYDATA:msgbody}" ] add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{@host}" ] } date { match => ["logdate", "yyyy-MM-dd HH:mm:ss,SSS", "ISO8601"] } } }
  14. 14 Build Software to Test Software exactpro.com Структура хранения данных

    Elasticsearch Elasticsearch Index Type n Document 1 Field 1 ... Field n Document n Field 1 ... Field n Type 1 Field 1 ... Field n Document n Field 1 ... Field n Document 1
  15. 15 Build Software to Test Software exactpro.com Работа с документами

    в Elasticsearch curl -XGET/POST/DELETE "$ES_URL/$INDEX_NAME/$TYPE/$REQUEST”
  16. 16 Build Software to Test Software exactpro.com Работа с документами

    в Elasticsearch
  17. 17 Build Software to Test Software exactpro.com Опыт Exactpro проект

    Minium https://www.miniumtech.com/solution https://www.miniumtech.com/news/minium-and-exactpro-partner-to-perform-advanced-quality-assurance
  18. 18 Build Software to Test Software exactpro.com Опыт Exactpro Отдел

    “Сетевая инфраструктура”
  19. 19 Build Software to Test Software exactpro.com Опыт Exactpro Команда

    NFT
  20. 20 Build Software to Test Software exactpro.com Выводы + Elasticsearch

    может использоваться как основное хранилище, для сбора данных + Logstash очень мощный инструмент для работы с логами + Elasticsearch активно развивается, плюс большая популярность + Kibana очень удобный инструмент, для обработки и анализа данных - При изменении формата логов, нужно менять выражения в Logstash - Ресурсоемкость
  21. 21 Build Software to Test Software exactpro.com Вопросы?