Техническая документация Prometheus - Концепция

 Prometheus — это ссылка на проект с открытым исходным кодом:

Домашняя страница Prometheus, документация и загрузки — Система мониторинга услуг — OSCHINA — Китайское сообщество по обмену технологиями с открытым исходным кодом

основная концепция:

 

        Prometheus — это система мониторинга и оповещения с открытым исходным кодом, разработанная на основе системы мониторинга Google BorgMon. Он в основном используется для мониторинга и измерения различных данных временных рядов, таких как производительность системы, задержка в сети, ошибки приложений и т. д. Prometheus собирает данные мониторинга и сохраняет их в базе данных временных рядов, а затем использует язык запросов PromQL для анализа и визуализации данных. Основные компоненты Prometheus включают Prometheus Server, Exporters и Pushgateway. Он поддерживает несколько механизмов обнаружения служб, таких как Kubernetes, EC2, GCE и т. д., для автоматического обнаружения и мониторинга рабочего состояния служб. Prometheus также предоставляет механизмы безопасности и контроля разрешений, такие как аутентификация, авторизация и т. д., для обеспечения безопасности доступа к данным. Он стал вторым по величине проектом CNCF после k8s и широко используется для мониторинга различных сред центров обработки данных.

Имеет следующие характеристики:

  • Многомерная модель данных

  • пользовательский язык запросов

  • Визуальное отображение данных

  • эффективная стратегия хранения

  • Простота в эксплуатации и обслуживании

  • Предоставление различных клиентских библиотек для разработки

  • Предупреждения и сигналы тревоги

  • Вывод данных

Изучите важные концепции Прометея

  1. Индикаторы мониторинга (метрики): Prometheus собирает различные данные мониторинга и сохраняет их в виде данных временных рядов. Эти данные описывают различные аспекты системы с помощью конкретных показателей, таких как использование системного ЦП, сетевой трафик, ошибки приложений и т. д.
  2. Постоянство хранилища: Prometheus хранит собранные данные мониторинга в базе данных временных рядов, которая специально разработана для хранения крупномасштабных данных временных рядов. Prometheus поддерживает несколько серверных хранилищ, таких как локальный диск, удаленное хранилище и т. д.
  3. Язык запросов: Prometheus использует PromQL в качестве языка запросов данных. PromQL позволяет пользователям запрашивать и анализировать данные мониторинга из репозитория и визуализировать их различными способами.
  4. Правила оповещения: Prometheus предоставляет правила оповещения для запуска оповещений на основе пороговых значений данных мониторинга. Оповещения могут быть отправлены различным получателям, таким как электронная почта, Slack, PagerDuty и т. д.
  5. Визуализация данных: Prometheus предоставляет интерфейс приборной панели (Dashboard) для отображения данных мониторинга и состояния тревоги. Пользователи могут создавать свои собственные информационные панели, перетаскивая и настраивая конфигурации.
  6. Обнаружение служб: Prometheus поддерживает различные механизмы обнаружения служб, такие как Kubernetes, EC2, GCE и т. д., для автоматического обнаружения и мониторинга рабочего состояния служб.
  7. Безопасность и контроль доступа (Security and Access Control): Prometheus также предоставляет механизмы безопасности и контроля доступа, такие как аутентификация, авторизация и т. д., для обеспечения безопасности доступа к данным.
  8. Извлечение данных: Prometheus также поддерживает извлечение данных из других источников данных, например передачу данных, которые Prometheus не может собрать напрямую, в Pushgateway с помощью Pushgateway, а затем Prometheus извлекает данные из Pushgateway.

Prometheus поддерживает несколько механизмов обнаружения служб для автоматического обнаружения и мониторинга рабочего состояния служб:

  1. Kubernetes: Prometheus можно интегрировать с кластером Kubernetes для автоматического обнаружения и мониторинга служб и контейнеров в Kubernetes через API Kubernetes. Этот механизм обнаружения служб подходит для распределенных систем, работающих в среде Kubernetes.
  2. EC2 (Elastic Cloud Compute): EC2 — это облачный сервис, предоставляемый Amazon Web Services (AWS).Prometheus может обнаруживать и отслеживать экземпляры EC2 через API EC2. Этот механизм обнаружения сервисов подходит для распределенных систем, работающих в среде AWS.
  3. GCE (Google Cloud Engine): GCE — это облачная служба, предоставляемая Google Cloud.Prometheus может обнаруживать и отслеживать экземпляры GCE через GCE API. Этот механизм обнаружения служб подходит для распределенных систем, работающих в среде Google Cloud.

Эти механизмы обнаружения сервисов позволяют Prometheus автоматически обнаруживать и отслеживать различные сервисы и экземпляры, тем самым упрощая и автоматизируя процесс мониторинга.

используемые сцены:

Prometheus — это широко используемая система мониторинга и оповещения с открытым исходным кодом, подходящая для различных сценариев. Вот несколько распространенных сценариев использования:

  1. Облачная экосистема: Prometheus — это один из управляемых проектов CNCF (Cloud Native Computing Foundation), который тесно интегрирован с облачными технологиями, такими как Kubernetes. Он широко используется в облачной экосистеме для автоматического обнаружения и мониторинга служб и контейнеров в кластерах Kubernetes.
  2. Распределенные системы и микросервисы: Prometheus подходит для распределенных систем и микросервисных архитектур и может отслеживать показатели производительности различных сервисов и приложений, такие как загрузка ЦП, потребление памяти, сетевая задержка и т. д.
  3. Мониторинг производительности и работоспособности системы: Prometheus может отслеживать производительность и работоспособность всей системы, включая серверы, сетевые устройства, операционные системы и многое другое. Он может собирать различные показатели производительности на уровне системы, такие как использование ЦП, использование диска, пропускная способность сети и т. д.
  4. Мониторинг бизнес-показателей: Prometheus также можно использовать для мониторинга бизнес-показателей, таких как частота ошибок приложений, активность пользователей, объем бизнес-транзакций и т. д. Эти показатели могут помочь разработчикам и бизнес-аналитикам лучше понять производительность системы и бизнес-условия.
  5. Автоматическое развертывание и управление контейнерами: Prometheus можно интегрировать с инструментами автоматического развертывания и управления контейнерами, такими как Docker, Kubernetes, Helm и т. д. Он отслеживает процессы создания, удаления и обновления контейнеров, а также автоматизирует процесс и результаты развертывания.
  6. Тревога в реальном времени и реагирование на чрезвычайные ситуации: Prometheus и AlertManager могут устанавливать правила тревоги и запускать тревоги. Оповещения можно отправлять различным получателям, таким как электронная почта, Slack, PagerDuty и т. д., для оповещения в режиме реального времени и реагирования на чрезвычайные ситуации.

Причина использования

  1. Открытый исходный код и поддержка сообщества: Prometheus — это проект с открытым исходным кодом с большой поддержкой сообщества и пользовательской базой. Это облегчает пользователям доступ к различным ресурсам и поддержке, таким как документация, примеры и плагины.
  2. Простота использования: Prometheus имеет простую архитектуру, его легко установить и настроить. Он использует простую модель данных и язык запросов, что позволяет пользователям легко собирать, хранить и анализировать данные.
  3. Сбор данных и масштабируемость: Prometheus поддерживает различные методы сбора данных, такие как статическая конфигурация, обнаружение служб и автоматическое обнаружение. Это также может повысить производительность и возможности мониторинга за счет горизонтального масштабирования.
  4. Запрос данных и визуализация: Prometheus имеет встроенный мощный язык запросов данных (PromQL), который пользователи могут использовать для простого запроса и анализа данных. Кроме того, Prometheus также предоставляет функции визуализации, которые могут отображать данные для пользователей в виде графиков.
  5. Функция оповещения: Prometheus работает с AlertManager для установки правил оповещения и запуска оповещений. Оповещения можно отправлять различным получателям, таким как электронная почта, Slack, PagerDuty и т. д., для оповещения в режиме реального времени и реагирования на чрезвычайные ситуации.
  6. Тесная интеграция с облачными технологиями: Prometheus тесно интегрирован с облачными технологиями, такими как Kubernetes, и может автоматически обнаруживать и отслеживать службы и контейнеры в кластерах Kubernetes. Это делает естественным выбором использование Prometheus в облачной среде.

Сравнение аналогичных продуктов:

Продукты того же типа, что и Prometheus, включают Open-Falcon, Zabbix и Graphite. Вот как они сравниваются:

1. Open-Falcon: Open-Falcon — это система мониторинга с открытым исходным кодом, обладающая мощными возможностями сбора, хранения и анализа данных. Он поддерживает несколько источников данных и протоколов и имеет гибкий механизм сигнализации. Open-Falcon имеет гибкую архитектуру, которую можно гибко расширять и интегрировать со многими другими технологиями. По сравнению с Prometheus Open-Falcon имеет больше функций по сбору данных и оповещению, но проще по модели данных и языку запросов.

2. Zabbix: Zabbix — это зрелая система мониторинга с широким набором функций и высокой производительностью. Он поддерживает различные методы мониторинга, включая активный и пассивный мониторинг, а также может настраивать сценарии мониторинга. Zabbix использует реляционную базу данных для хранения данных и имеет мощные функции отчетности и анализа. По сравнению с Prometheus, Zabbix более зрелый в плане функций и производительности, но более традиционный в плане модели данных и языка запросов.

Macrotime Data-Zabbix China

3. Graphite: Graphite — это система, ориентированная на хранение данных и визуализацию показателей эффективности. Он использует простую модель данных и позволяет хранить именованные данные временных рядов. Graphite обладает быстрыми возможностями запросов и визуализации, но его возможности ограничены по сравнению с другими системами мониторинга. По сравнению с Prometheus Graphite имеет преимущества в визуализации и хранении данных, но проще в модели данных и языке запросов.

        Каждая из этих систем имеет свои преимущества и недостатки, и какую систему выбрать, зависит от конкретных потребностей и сценариев использования. Prometheus имеет преимущества в модели данных, языке запросов и поддержке сообщества , но может потребовать дополнительных компонентов с точки зрения сбора и хранения данных . В Open-Falcon больше функций по сбору данных и оповещению, в то время как Zabbix более зрелый по функциям и производительности, а Graphite фокусируется на хранении и визуализации данных индекса производительности.

Сравнение обновлений версии:

  1. Prometheus 2.0.0: В этой версии представлен новый механизм хранения, который в сочетании с изменениями в системе поиска может значительно повысить производительность. Кроме того, с сервера Prometheus можно собирать миллионы выборок в секунду. Кроме того, новый механизм хранения не имеет обратной совместимости, но есть способ прозрачного доступа к старым данным, все еще хранящимся в 1.x. Кроме того, в этом выпуске улучшена устаревшая семантика в PromQL: теперь для аннулирования временного ряда требуется только один интервал очистки вместо ожидания полных 5 минут. Формат файла правил также был изменен на YAML, правила организованы в группы и выполняются последовательно. Из соображений безопасности API администрирования и жизненного цикла по умолчанию отключены.
  2. Prometheus 1.8.0: основные изменения в этом выпуске включают улучшенную конфигурацию для удаленной записи и извлечения образцов, позволяющую лучше контролировать использование памяти, улучшенный прием HTTP, включая обработку ошибок и настройку, улучшенный мониторинг, включая текущее регулирование количества HTTP-запросов; и улучшенная совместимость формата отображения текста, поддерживающая больше случаев.

        Каждая версия Prometheus имеет некоторые обновления и улучшения, включая механизм хранения, PromQL, формат файла правил и другие аспекты. Пользователи могут выбрать подходящую версию в соответствии со своими потребностями. В то же время Prometheus все еще развивается и совершенствуется, чтобы соответствовать меняющимся требованиям мониторинга и технической среде.

рекомендация

отblog.csdn.net/weixin_72186894/article/details/132159485
рекомендация