Рубрики
Uncategorized

7 лучших инструментов для ведения журнала Kubernetes

Вам может быть интересно, почему вы должны беспокоиться о инструментах ведения журнала Kubernetes? Kubernetes доминирует в … с меткой Kubernetes, DevOps, Cloud.

Вам может быть интересно, почему вы должны беспокоиться о инструментах ведения журнала Kubernetes?

Kubernetes доминирует на рынке оркестровки контейнеров и часто используется для размещения микросервисов. Каждый экземпляр микросервиса генерирует большое количество событий журнала, которые могут быстро управлять. Но хуже, когда что-то пойдет не так, поиск основной причины может быть жесткой из-за сложных взаимодействий между услугами и почти взысканным количеством возможных режимов отказа. Этот потенциал для неприятностей вызвал популярность инструментов управления журналами для Kubernetes.

Но почему у нас так много инструментов? Есть ли один идеальный инструмент, чтобы покрыть каждую потребность и сделать мониторинг, регистрацию и анализ первопричин максимально эффективным и максимально быстрым? Как вы, возможно, догадались, нет.

Большинство инструментов управления журналами Kubernetes — это вариации лося, выполняют подобные вещи и имеют сходные ограничения. Эти инструменты помогают вам получить доступ к журналам и поиск информации, Но улов, вам нужно знать, что искать. Большинство из этих инструментов также требуют правил анализа и правил предупреждения правил для правильной работы. Но я столкнулся с одним исключением, которое не нуждается в ручных правилах для автоматического обнаружения проблем.

Читайте дальше для моего списка лучших инструментов журнала для Kubernetes в 2020 году.

1. Дени

Вы ожидали, что другой инструмент появится на первом месте? Возможно, Прометей или лось? Нет, я в первую очередь поместил Зебриум, потому что вижу, что этот инструмент может стать следующей большой вещью в управлении журналами Kubernetes.

Этот новый стартап недавно был размещен на обоих «25 лучших стартапов корпоративного программного обеспечения Gartner для просмотра в 2020 году» и «Forbes ‘AI 50: самые перспективные компании искусственного интеллекта» Анкет

Говоря об успехе, Zebrium также недавно помог Sweetwater сократить время отслеживания инцидентов с 3 часа до нескольких минут . Зебриум может даже раскрыть скрытые проблемы, которые раньше не были замечены. Это отличная функция, так как она может помочь обнаружить проблемы, прежде чем они повлияют на клиентов.

Так что же выделяет подход Зебрия из конкуренции? Что ж, они используют искусственный интеллект (ИИ), чтобы найти проблемы, чтобы автоматически раскрыть основную причину, в то время как все остальные инструменты полагаются на то, что пользователи добавляют правила вручную. Зебриум также можно использовать в качестве автономной платформы управления журналами или интегрироваться со стеком Elk (они называют его стеком Zelk:-) или другими менеджерами журнала.

Это звучит как мечта, поэтому я дал ему тест на очень простой проект. В этом тесте Zebrium автоматически обнаружил проблему, когда сетевой вызов был выведен. Я не создавал никаких правил для этого, и при этом я не контролировал систему вручную. Зебриум только что поднял эту проблему благодаря своим алгоритмам на основе ML и немедленно сообщил мне.

Также важно упомянуть, что я не профессиональный инженер DevOps, и я еще не тестировал зебриум на более крупных проектах.

Плюсы:

  1. Легко начать; Просто скопируйте/вставьте настройку Helm или Kubectl Command.
  2. Автоматическое обнаружение проблем и основной причины без необходимости ручных правил.
  3. Может использоваться в качестве автономного инструмента управления журналами или в качестве дополнения ML для вашего существующего инструмента управления журналами, такого как стек ELK.

Минусы:

  1. Не так известно, как его конкуренты.
  2. Бесплатный план ограничен 500 МБ в день с 3-дневным удержанием.
  3. Поддерживает Kubernetes, Docker и самые распространенные платформы, но еще не поддерживает Windows.

Ссылка: https://www.zebrium.com

2. Sematext

Это решение для управления журналами и мониторинга производительности приложений. Sematext обеспечивает полную визуальность системы системы.

Sematext не ограничивается журналами K8S, но также делает мониторинг и оповещение для K8s (на метрик и журналах). Собранные журналы анализируются/структурированы автоматически для нескольких различных известных форматов журналов, и пользователи также могут предоставлять шаблоны для пользовательских журналов. Он также разоблачает API Elasticsearch, поэтому вы можете использовать любой инструмент, который работает с Elasticsearch, таким как FileBeat и Logstash с Sematex. Вы можете использовать его в качестве варианта лося или с нативной экосистемой Sematext. Инструмент помогает создавать конкретные правила для мониторинга конкретных случаев и ловить аномалии. Клиенты могут контролировать и контролировать все услуги, благодаря Sematex’s Комплексная панель в реальном времени Анкет

Плюсы:

  1. Интеграция с другими Sematext облачными инструментами, такими как опыт и мониторинг инфраструктуры.
  2. Настраиваемые запасные элементы управления затратами, останавливая журналы от принятия.
  3. Гибкость лося.

Минусы:

  1. Виджеты Sematext и Kibana не могут быть смешаны на одной приборной панели.
  2. Пользовательский анализ должен быть выполнен в грузовике, Sematext Banistress только Syslog и JSON на стороне сервера.
  3. Слабая функциональность трассировки, хотя они планируют улучшить его.

Ссылка: https://sematext.com/

3. Локи Графана

Третье место в списке инструментов мониторинга журнала K8S предназначено не для лося, а для Локи. Loki-это мультитенантный и высокодоступный инструмент агрегации журнала, вдохновленный Prometheus. Этот инструмент помогает собирать журналы, но пользователям необходимо будет создавать для него ручные правила. Локи работает с Графаной, Прометеем и Кубернетом. Локи может сделать ваши внутренние процессы намного более эффективными. Например, он сохранил Paytm Insider 75% о стоимости журнала и мониторинга Анкет Локи достигает большой эффективности, потому что он не индексирует содержимое ваших журналов, а вместо этого индексирует только набор метков для каждого потока событий.

Плюсы:

  1. Большая экосистема.
  2. Богатые возможности визуализации.
  3. Эффективность из -за не индексации содержимого журнала

Минусы:

  1. Не оптимизирован для управления журналами Kubernetes.
  2. Много ручной работы для правил строительства.
  3. Отсутствие индекса контента потенциально ограничивает производительность поиска.

Ссылка: https://grafana.com/oss/loki/

4. Стек лося (a.k.a. эластичный стек)

Наконец, Элк составляет список на четвертом месте. Elk, может быть, самый известный инструмент с открытым исходным кодом для управления журналами в целом. Elk является аббревиатурой для Elasticsearch, Logstash и Kibana; Каждый компонент заботится о разных частях процесса журнала. Elasticsearch — это мощная и масштабируемая поисковая система, журналы Logstash Agagreates and Process, а Kibana предоставляет интерфейс анализа и визуализации, который помогает пользователям разобраться с данными. Вместе они предоставляют комплексное решение для ведения журнала для K8s. Обратите внимание, что есть много других вариантов стека Elk (например, efk Stack — Elasticsearch, Fluentd и Kibana).

Elk используется многими крупными компаниями, такими как Adobe, T-Mobile и Walmart, так что вы можете быть уверены в ее надежности. В целом, это надежный и хорошо прорезиционный инструмент. Я поместил его на третье место из -за его сложности и значительных ресурсов, необходимых для его работы.

Плюсы:

  1. Инструмент хорошо известен и имеет огромное сообщество.
  2. Очень широкая поддержка платформы.
  3. Богатые возможности анализа и визуализации в Кибане.
  4. Требуется сложный анализ для журналов и вручную определенные правила оповещения.

Минусы:

  1. Трудно поддерживать в масштабе.
  2. Много настройки, особенно для больших сред.
  3. Требования тяжелых ресурсов.
  4. Некоторые функции требуют оплачиваемой лицензии

Ссылка: https://www.elastic.co/what-is/elk-stack

5. Операции Google (ранее Stackdriver)

Операции Google, которые вы, возможно, знаете как StackDriver, является собственным инструментом для мониторинга, устранения неполадок и улучшения производительности приложений в среде технического гиганта Google. Он собирает метрики, журналы и следы в Google Cloud и ваших приложениях. Google Operations является эквивалентом CloudWatch на AWS, и, как и в случае с CloudWatch, он имеет решения для ведения журнала и мониторинга.

Облачное ведение журнала глубоко интегрировано с GKE и добавляется по умолчанию в каждый созданный вами кластер GKE. Ваши журналы хранятся в хранилище журнала и индексируются как для поиска, так и для визуализаций. Облачное ведение журнала поддерживает гибкие запросы (которые можно сохранить), простых исследователей поля и визуализации гистограммы и могут быть легко интегрированы с другими инструментами из инфраструктуры Google.

Плюсы:

  1. Управление журналами в реальном времени и анализ.
  2. Встроенная наблюдение метрик в масштабе.
  3. Много интеграций.

Минусы:

  1. Трудно отслеживать реальную задержку, потому что запрос проходит различные уровни платформы Google Cloud (GCP).
  2. Подходит только для среды GCP.
  3. Сложная система ценообразования. Заранее трудно оценить, сколько что -то будет стоить.

Ссылка: https://cloud.google.com/products/operations

6. Cloudwatch

CloudWatch-это предложение AWS-родного от Amazon Web Services. Он собирает как мониторинг, так и эксплуатационные данные от AWS и визуализирует их в пределах одной автоматизированной панели панели. Это позволяет вам смотреть и коррелировать журналы и метрики, чтобы понять основную причину проблем. Журналы могут быть проанализированы с помощью собственного языка запросов CloudWatch, который поддерживает агрегации, фильтры и регуляцию. Вы также можете отправить журналы в Elasticsearch через Lambda.

В целом, CloudWatch — отличный выбор, если вы уже работаете с Amazon Services. Он также может использоваться в гибридных облачных архитектурах и использует агент или API для мониторинга локальных ресурсов. CloudWatch используется множеством громких имен, таких как Airbnb, Deliveroo, 9GAG и другие. Это также может спасти компании миллионы миллионов ежегодно благодаря DynamoDB TTL.

Плюсы:

  1. Застроен для мониторинга ресурсов AWS.
  2. Имеет разрывные экземпляры метрик (кредитный баланс T2 CPU).
  3. Подробный мониторинг и автоматические группы.

Минусы:

  1. Его можно использовать только для услуг AWS.
  2. Не много вариантов настройки для мониторинга.
  3. Не поддерживает отслеживание транзакций.

Ссылка: https://aws.amazon.com/cloudwatch/

7. Fluentd

Fluentd-это кроссплатформированный сборщик данных с открытым исходным кодом, предлагающий унифицированный слой журнала (но это не автономный менеджер журнала). Это довольно популярный инструмент, в котором более 5000 пользователей, включая Atlassian, Microsoft и Amazon. Глядя на клиентов, мы можем завершить высокий уровень надежности и производительности. Кроме того, FluentD создает унифицированный логодичный слой, который помогает вам более эффективно использовать данные и быстро итерация в вашем программном обеспечении. Этот инструмент может помочь вам обрабатывать 120 000 записей в секунду, как и для строки.

Плюсы:

  1. Большая экосистема сообщества и плагина.
  2. Объединенный лесозаготовительный слой.
  3. Доказанная надежность и производительность.
  4. Простой старт; может быть установлен менее чем за 10 минут).

Минусы:

  1. Трудно настроить.
  2. Ограниченная поддержка преобразования данных.
  3. Не полное решение для ведения журнала.

Ссылка: https://www.fluentd.org/

Вывод: как выбрать правильный инструмент?

Во -первых, я должен объяснить, почему я не включил Prometheus в список, так как я уверен, что вы ожидали его увидеть. Причина в том, что эта статья сосредоточена на инструментах мониторинга журнала, в то время как Prometheus имеет дело с метриками и не поддерживает журналы.

Поэтому, если вам надоело охота на ручной работы через журналы для основной причины, или надоела построение и управление правилами оповещения, вы должны Попробуйте Зебриум с его алгоритмами на основе ИИ и ML. Скорее всего, это сэкономит много времени и освободит вас от трудоемкой задачи создания множества правил. Это похоже на чрезвычайно интересный подход к ведению журнала.

Но если вы ищете что -то более мейнстрим и знаете, какие правила оповещения для создания — или вы не доверяете ИИ — Попробуй Локи или Sematext Это эффективные инструменты, которые вам подойдут, если вы раньше не использовали инструменты мониторинга журналов. Они будут особенно полезны, если вы уже используете продукты из Grafana или Sematext Cloud/Enterprise.

Если вы используете предложения GCP Google для своего проекта, хороший и довольно очевидный вариант для вас может быть Google Operations Анкет

Если у вас есть несколько или экзотические источники для ваших журналов, Попробуйте Fluentd С его унифицированным слоем ведения журнала, но вам все равно понадобится инструмент для ведения журнала. И, конечно, если вы пользователь AWS, CloudWatch Будет естественный выбор для вас.

В любом случае, я надеюсь, что вам понравилась статья. Если вы знаете какие -либо другие великие инструменты управления журналами Kubernetes, поделитесь ими со мной в комментариях. Я планирую обновить эту статью в будущем.

Эта статья была первоначально опубликована на Dzone Анкет

Оригинал: «https://dev.to/maxshash/7-best-tools-for-kubernetes-logging-lg6»