vostok
play

Vostok .NET - PowerPoint PPT Presentation

Vostok .NET , , 2019 https://tech.kontur.ru


  1. Григорий Кошелев СКБ Контур Vostok Эволюция телеметрии для микросервисов на .NET Стачка , Ульяновск, 2019

  2. Немного про Контур https://tech.kontur.ru

  3. Контур в цифрах ~ 80 команд ~ 60 продуктов 3 дата - центра > 3000 хостов (железо и виртуалки ) https://tech.kontur.ru

  4. Немного про Vostok https://github.com/vostok

  5. Vostok – инфраструктурный проект Logs Service Discovery Metrics Hosting Distributed Tracing Deploy Configuration https://github.com/vostok

  6. Hercules – подсистема Востока Logs Metrics Distributed Tracing https://github.com/vostok/hercules

  7. Vostok – цели Простота Унификация Расширяемость https://github.com/vostok

  8. Ретроспектива: Логи

  9. Логи (I) Elastic https://www.elastic.co

  10. Логи (I) Elastic Kibana https://www.elastic.co/products/kibana

  11. Логи (I) Elastic

  12. Логи (II) Rabbit MQ elk-streams Elastic https://www.rabbitmq.com

  13. Логи (III) elk-gate Rabbit MQ elk-streams Elastic

  14. Логи (IV) elk-gate Rabbit MQ elk-streams Elastic elk-gate Rabbit MQ elk-streams Elastic

  15. Ретроспектива: Метрики

  16. Метрики ( I) Graphite https://graphiteapp.org

  17. Метрики ( I) Graphite Grafana https://grafana.com

  18. Метрики ( I) Graphite https://graphiteapp.org

  19. Метрики ( I) carbon-relay carbon Whisper Graphite https://graphiteapp.org

  20. Метрики ( II) carbon Whisper carbon-relay Moira https://moira.readthedocs.io

  21. Метрики ( II) carbon Whisper carbon-relay Moira

  22. Метрики ( III) go-carbon Whisper carbon-c-relay Moira https://github.com/grobian/carbon-c-relay

  23. Метрики ( III) go-carbon Whisper carbon-c-relay Moira https://github.com/lomik/go-carbon

  24. Метрики ( IV) ClickHouse carbon-clickhouse carbon-c-relay Moira https://clickhouse.yandex

  25. Метрики ( IV) ClickHouse carbon-clickhouse carbon-c-relay Moira https://github.com/lomik/carbon-clickhouse

  26. Ретроспектива: Трассировки

  27. Трассировки A: Front Service B C B: Backend Service C: Database D: Print Service A 100 мс D

  28. Трассировки TraceA { B C SpanAB { 5 мс SpanBC { 10 мс } A } 100 мс 75 мс SpanAD { } D }

  29. Трассировки (I) dtrace-gate Elastic dtrace-web

  30. Трассировки (II) dtrace-gate Elastic dtrace-web

  31. Трассировки (III) spanaggr Cassandra Contrails http://cassandra.apache.org

  32. Трассировки (III) spanaggr Cassandra Contrails http://cassandra.apache.org

  33. Трассировки (IV) Cassandra Contrails spanaggr

  34. Всё вместе Graphite graphite-relay Moira

  35. Всё вместе elk-gate Rabbit MQ elk-streams Elastic Graphite graphite-relay Moira

  36. Всё вместе elk-gate Rabbit MQ elk-streams Elastic Graphite graphite-relay Moira spanaggr Trace C*

  37. Всё вместе Sentry elk-gate Rabbit MQ elk-streams Elastic Graphite graphite-relay Moira spanaggr Trace C* Контур. Метрика

  38. Всё вместе Sentry elk-gate Rabbit MQ elk-streams Elastic Graphite graphite-relay Moira spanaggr Trace C* Контур. Метрика

  39. Всё вместе Простота Унификация Расширяемость

  40. Единая транспортная система для данных телеметрии Hercules Client Hercules Event -Log Event -Metric Value Hercules -Trace Span -Business Event

  41. Hercules under the hood (zoom x1) Sentry Elastic ? Gate Graphite Moira Trace C*

  42. Выбираем подходящую технологию для транспорта Высокая производительность Высокая доступность Простота масштабирования Зрелость Open Source

  43. Apache Kafka vs <awesome_technology> RabbitMQ NATS Streaming Apache ActiveMQ Apache Pulsar ZeroMQ

  44. Hercules under the hood (zoom x2) Sentry Elastic Gate Graphite Moira Trace C*

  45. Hercules under the hood (zoom x2) Sentry Sink Sentry ZK Elastic Sink Elastic Kafka Gate Graphite Sink Graphite Moira Sink Moira Tracing Sink Trace C*

  46. Hercules under the hood (zoom x3) Stream Logs #1 Stream Logs #2 Stream Metrics Kafka

  47. Hercules under the hood (zoom x3) Elastic Sink Stream Logs #1 Elastic Sink Stream Logs #2 Elastic Sink Stream Metrics Kafka

  48. Hercules under the hood (zoom x3) Elastic Sink Stream Logs #1 Gate Elastic Sink Stream Logs #2 Elastic Sink Gate Stream Metrics Kafka

  49. Hercules under the hood (zoom x3) Elastic Sink Stream Logs #1 Gate Elastic Sink Stream Logs #2 Elastic Sink Gate Stream Metrics Kafka

  50. Hercules under the hood (zoom x3) Elastic Sink Stream Logs #1 Gate Elastic Sink Stream Logs #2 Elastic Sink Gate Stream Metrics Sentry Sink Kafka

  51. ZooKeeper Уже используется кластером Kafka Конфигурация кластера Hercules Правила авторизации и настройки стримов

  52. Cassandra Трассировки traceId #1 SpanBC SpanAB SpanAD TraceA traceId #2 Span #1 Span #2 Span #3

  53. Cassandra Временн ы е ряды stream «Ведёрко» – фиксированный промежуток времени

  54. Cassandra Временн ы е ряды ведёрко #1 Event #1 Event #2 Event #3 Event #4 ведёрко #2 Event #5 Event #6

  55. Тестирование 3 Kafka nodes (12x cores , 128 GB RAM, 1 Gbps, 4x HDD) 3 Gate + Sink nodes (12x cores, 128 GB RAM, 1 Gbps) Запись в Kafka: упёрлись в 1 Гбит Чтение из Kafka: упёрлись в 1 Гбит Elastic Sink: упёрлись в Elastic

  56. Production ( Логи ) 60 000 eps (events per second) 100 000+ eps в пике ~ 3 TB логов в сутки

  57. Бонус: Надёжность

  58. Надёжность Kafka – персистентное хранилище (до нескольких дней) elk-gate Rabbit MQ elk-streams Elastic

  59. Надёжность Kafka – персистентное хранилище (до нескольких дней) elk-gate Rabbit MQ elk-streams Elastic

  60. Надёжность Kafka – персистентное хранилище (до нескольких дней) elk-gate Rabbit MQ elk-streams Elastic

  61. Надёжность Kafka – персистентное хранилище (до нескольких дней) Cassandra spanaggr

  62. Надёжность Kafka – персистентное хранилище (до нескольких дней) Cassandra spanaggr

  63. Надёжность Kafka – персистентное хранилище (до нескольких дней) Cassandra spanaggr

  64. Надёжность Kafka – персистентное хранилище (до нескольких дней) Cassandra spanaggr

  65. OpenSource (MIT- лицензия) https://github.com/vostok https://github.com/vostok/hercules Make telemetry great again!

  66. Hercules under the hood Sentry Sink Sentry ZK Stream Sink Elastic Sink Elastic Kafka Gate Graphite Sink Graphite Timeline Sink Moira Sink Moira C* Tracing Sink Trace C* Timeline API Stream API

Recommend


More recommend