Jump to content

Прометей (программное обеспечение)

Прометей
Первоначальный выпуск 24 ноября 2012 г .; 11 лет назад ( 24.11.2012 )
Стабильная версия
v2.53.0 [1] / 16 июня 2024 г .; 50 дней назад ( 16.06.2024 )
Репозиторий github /Прометей /Прометей
Написано в Идти
Операционная система Кросс-платформенный
Тип База данных временных рядов
Лицензия Лицензия Апач 2.0
Веб-сайт Прометей .что

Prometheus бесплатное программное приложение, используемое для мониторинга событий и оповещения . [2] Он записывает метрики в базу данных временных рядов (с высокой размерностью ), построенную с использованием HTTP модели извлечения , с гибкими запросами и оповещениями в реальном времени. [3] [4] Проект написан на Go и распространяется по лицензии Apache 2, исходный код доступен на GitHub . [5] и является дипломным проектом Cloud Native Computing Foundation вместе с Kubernetes и Envoy . [6]

Prometheus разрабатывался в SoundCloud начиная с 2012 года. [7] когда компания обнаружила, что существующие у нее метрики и инструменты мониторинга (с использованием StatsD и Graphite ) недостаточны для их нужд. В частности, они определили потребности, для удовлетворения которых был создан Prometheus, включая многомерную модель данных, простоту эксплуатации, масштабируемый сбор данных и мощный язык запросов — и все это в одном инструменте. [8] С самого начала проект имел открытый исходный код и начал использоваться пользователями Boxever и Docker , хотя об этом явно не было объявлено. [8] [9] Prometheus был вдохновлен инструментом мониторинга Borgmon, который использовал в Google. [10] [11]

К 2013 году Prometheus был представлен для мониторинга производства в SoundCloud. [8] Официальное публичное заявление было сделано в январе 2015 года. [8]

В мае 2016 года Cloud Native Computing Foundation принял Prometheus в качестве своего второго инкубируемого проекта после Kubernetes . В сообщении блога, в котором сообщалось об этом, говорилось, что этот инструмент используется во многих компаниях, включая DigitalOcean , Ericsson , CoreOS , Weaveworks , Red Hat и Google . [12]

Прометей 1.0 был выпущен в июле 2016 года. [13] Последующие версии были выпущены в 2016 и 2017 годах, что привело к выпуску Prometheus 2.0 в ноябре 2017 года. [14]

В августе 2018 года Фонд Cloud Native Computing Foundation объявил о завершении проекта Prometheus. [6]

Было проведено множество конференций, посвященных Прометею.

Архитектура

[ редактировать ]

Типичная платформа мониторинга с Prometheus состоит из нескольких инструментов: [ нужна ссылка ]

  • несколько экспортеров для экспорта локальных показателей. На отслеживаемом хосте обычно запускаются
  • Prometheus для централизации и хранения показателей.
  • Менеджер оповещений [15] для запуска оповещений на основе этих показателей.
  • Grafana для создания дашбордов.
  • PromQL — это язык запросов, используемый для создания информационных панелей и оповещений.

Формат хранения данных

[ редактировать ]

Данные Prometheus хранятся в виде метрик, причем каждая метрика имеет имя, которое используется для ссылки и запроса. Каждую метрику можно детализировать с помощью произвольного количества пар ключ=значение (меток). Метки могут включать информацию об источнике данных (с какого сервера поступают данные) и другую информацию о разбивке приложения, такую ​​как код состояния HTTP (для показателей, связанных с ответами HTTP), метод запроса (GET или POST), конечную точку и т. д. Возможность указывать произвольный список меток и выполнять запросы на их основе в режиме реального времени — вот почему модель данных Prometheus называется многомерной. [16] [8] [9]

Prometheus хранит данные локально на диске, что способствует быстрому хранению данных и быстрому выполнению запросов. [8] Есть возможность хранить метрики в удаленном хранилище. [17]

Сбор данных

[ редактировать ]

Prometheus собирает данные в виде временных рядов . Временные ряды строятся с помощью модели извлечения: сервер Prometheus запрашивает список источников данных (иногда называемых экспортерами) с определенной частотой опроса. Каждый из источников данных предоставляет текущие значения метрик для этого источника данных в конечной точке, запрашиваемой Prometheus. Затем сервер Prometheus объединяет данные из источников данных. [8] В Prometheus имеется ряд механизмов для автоматического обнаружения ресурсов, которые следует использовать в качестве источников данных. [18]

Prometheus предоставляет собственный язык запросов PromQL (язык запросов Prometheus), который позволяет пользователям выбирать и агрегировать данные. PromQL специально настроен для работы с базой данных временных рядов и, следовательно, предоставляет функции запросов, связанных со временем. Примеры включают функциюrate(), мгновенный вектор и вектор диапазона, которые могут предоставить множество выборок для каждого запрошенного временного ряда. [19] В Prometheus есть четыре четко определенных типа метрик, вокруг которых вращаются компоненты PromQL . Четыре типа: [20]

  • Измерять
  • Прилавок
  • Гистограмма
  • Краткое содержание

Оповещения и мониторинг

[ редактировать ]

Конфигурацию оповещений можно указать в Prometheus, где указывается условие, которое необходимо поддерживать в течение определенного времени, чтобы оповещение сработало. При срабатывании оповещений они пересылаются в службу Alertmanager. Alertmanager может включать логику для отключения оповещений, а также для пересылки их по электронной почте, в Slack или в службы уведомлений, такие как PagerDuty . [21] Некоторые другие системы обмена сообщениями, такие как Microsoft Teams [22] можно настроить с помощью приемника Alertmanager Webhook в качестве механизма внешней интеграции. [23] Также Prometheus Alerts можно использовать для получения оповещений непосредственно на устройствах Android, даже без необходимости настройки каких-либо целей в Alert Manager. [24]

Панели мониторинга

[ редактировать ]

Прометей не задуман как полноценная приборная панель. Хотя его можно использовать для построения графиков конкретных запросов, он не является полноценной информационной панелью, и его необходимо подключить к Grafana для создания информационных панелей ; это было названо недостатком из-за дополнительной сложности установки. [25]

Совместимость

[ редактировать ]

Prometheus предпочитает мониторинг «белого ящика». Приложениям рекомендуется публиковать (экспортировать) внутренние метрики, которые Prometheus будет периодически собирать. [26] Некоторые экспортеры и агенты для различных приложений могут предоставить показатели. [27] Prometheus поддерживает некоторые протоколы мониторинга и администрирования, обеспечивающие совместимость при переходе: Graphite , StatsD, SNMP , JMX и CollectD.

Прометей фокусируется на доступности платформы и основных операциях. [28] Метрики обычно хранятся в течение нескольких недель. Для долгосрочного хранения метрики можно передавать в удаленное хранилище. [17]

Стандартизация в OpenMetrics

[ редактировать ]

Предпринимаются попытки превратить формат представления Prometheus в стандарт, известный как OpenMetrics. [29] Некоторые продукты приняли этот формат: пакет TICK от InfluxData, [30] InfluxDB , облачная платформа Google , [31] и ДатаДог. [32]

Использование

[ редактировать ]

Впервые Prometheus использовался в SoundCloud, где он был разработан, для мониторинга своих систем. [8] Фонд Cloud Native Computing Foundation располагает рядом тематических исследований других компаний, использующих Prometheus. К ним относятся сервис цифрового хостинга DigitalOcean , [33] цифровой фестиваль DreamHack , [34] по электронной почте и свяжитесь со службой миграции ShuttleCloud. [35] Отдельно Pandora Radio упомянуло об использовании Prometheus для мониторинга своего конвейера данных. [36]

GitLab предоставляет руководство по интеграции с Prometheus для экспорта метрик GitLab в Prometheus. [37] и он активирован по умолчанию, начиная с версии 9.0 [38]

См. также

[ редактировать ]
  1. ^ Последний выпуск на Github.
  2. ^ «Обзор» . prometheus.io .
  3. ^ Джеймс Тернбулл (12 июня 2018 г.). Мониторинг с помощью Прометея . Тернбулл Пресс. ISBN  978-0-9888202-8-9 .
  4. ^ «Прометей: от показателей к аналитике. Усильте свои показатели и оповещения с помощью ведущего решения для мониторинга с открытым исходным кодом» . Проверено 26 декабря 2018 г.
  5. ^ «Прометей» . Гитхаб . Проверено 26 декабря 2018 г.
  6. ^ Jump up to: а б Эванс, Кристен (9 августа 2018 г.). «Фонд Cloud Native Computing объявляет об окончании Прометея» . Проверено 26 декабря 2018 г.
  7. ^ Брайан Бразил (9 июля 2018 г.). Prometheus: Up & Running: мониторинг производительности инфраструктуры и приложений . О'Рейли Медиа. п. 3. ISBN  978-1-4920-3409-4 .
  8. ^ Jump up to: а б с д и ж г час Фольц, Юлиус; Рабенштейн, Бьорн (26 января 2015 г.). «Прометей: Мониторинг в SoundCloud» . Саундклауд .
  9. ^ Jump up to: а б «Мониторинг Docker-контейнеров с помощью Prometheus» . 5π Консалтинг. 26 января 2015 года. Архивировано из оригинала 3 января 2019 года . Проверено 26 декабря 2018 г.
  10. ^ Мерфи, Найл; Бейер, Бетси; Джонс, Крис; Петофф, Дженнифер (2016). Проектирование надежности сайта: как Google управляет производственными системами . О'Рейли Медиа. ISBN  978-1491929124 . Несмотря на то, что Borgmon остается внутренней частью Google, идея рассматривать данные временных рядов как источник данных для генерации оповещений теперь доступна каждому через такие инструменты с открытым исходным кодом, как Prometheus...
  11. ^ Фольц, Юлиус (4 сентября 2017 г.). «ПромКон 2017: Итоги конференции» – через YouTube. Я присоединился к SoundCloud еще в 2012 году из Google… у нас еще не было инструментов мониторинга, которые работали бы в такой динамической среде. Нам не хватало того, как Google осуществлял мониторинг собственного внутреннего планировщика кластера, и мы были очень вдохновлены этим и, наконец, решили создать собственное решение с открытым исходным кодом.
  12. ^ «Фонд Cloud Native Computing Foundation принимает Prometheus в качестве второго размещенного проекта» . Фонд облачных вычислений . 9 мая 2016 года . Проверено 26 декабря 2018 г.
  13. ^ «Прометей 1.0 уже здесь» . Фонд облачных вычислений . 18 июля 2016 г. Проверено 26 декабря 2018 г.
  14. ^ «Новые возможности Прометея 2.0.0» . Устойчивое восприятие. 8 ноября 2017 г. Проверено 26 декабря 2018 г.
  15. ^ «Менеджер оповещений» . Гитхаб . 17 мая 2022 г.
  16. ^ «Модель данных» . Прометей . Проверено 26 декабря 2018 г.
  17. ^ Jump up to: а б «Интеграции – Прометей» . prometheus.io .
  18. ^ «Прометей: собирает показатели, предоставляет оповещения и отображает веб-интерфейс в виде графиков» . 18 марта 2017 года . Проверено 26 декабря 2018 г.
  19. ^ «Вопрошающий Прометей» . Проверено 4 ноября 2019 г.
  20. ^ «Виды метрик» . prometheus.io . Проверено 29 июня 2024 г.
  21. ^ Дубей, Абхишек (25 марта 2018 г.). «Интеграция AlertManager с Прометеем» . Проверено 26 декабря 2018 г.
  22. ^ Данука, Пранит (8 марта 2020 г.). «Оповещение об облачных приложениях с помощью Prometheus» . Проверено 18 октября 2020 г.
  23. ^ «Интеграции | Прометей» .
  24. ^ «Оповещения Прометея – Приложения в Google Play» .
  25. ^ Рикбош, Фредерик (28 июля 2017 г.). «Мониторинг Прометея: плюсы и минусы» . Проверено 26 декабря 2018 г.
  26. ^ Прометей. «Приборы – Прометей» . prometheus.io .
  27. ^ «Экспортеры» . prometheus.io .
  28. ^ Прометей. "Прометей - Система мониторинга и база данных временных рядов" . prometheus.io .
  29. ^ «ОпенМетрикс» . Гитхаб . 13.11.2018.
  30. ^ «Телеграф от InfluxData» . Гитхаб . 25 декабря 2018 г.
  31. ^ «Анонсируем мониторинг Stackdriver Kubernetes» .
  32. ^ «ДатаДогХК» .
  33. ^ Эванс, Кристен (28 февраля 2017 г.). «Профиль пользователя Prometheus: как DigitalOcean использует Prometheus» . Фонд облачных вычислений . Проверено 26 декабря 2018 г.
  34. ^ Эванс, Кристен (24 августа 2016 г.). «Профиль пользователя Prometheus: мониторинг крупнейшего в мире цифрового фестиваля - DreamHack» . Фонд облачных вычислений . Проверено 26 декабря 2018 г.
  35. ^ Эванс, Кирстен (17 мая 2017 г.). «Профиль пользователя Prometheus: ShuttleCloud объясняет, почему Prometheus хорош для вашего небольшого стартапа» . Фонд облачных вычислений . Проверено 26 декабря 2018 г.
  36. ^ Хейдри, Эйс (15 марта 2018 г.). «Apache Airflow в Пандоре» . Инженерное дело в Пандоре . Проверено 26 декабря 2018 г.
  37. ^ «Метрики GitLab Prometheus» . Проверено 26 декабря 2018 г.
  38. ^ «Выпущен GitLab 9.0 с подгруппами и досками развертывания» . ГитЛаб. 22 марта 2017 г.

Дальнейшее чтение

[ редактировать ]
  • Расс, Маккендрик (15 декабря 2015 г.). Мониторинг Docker: следите за своими контейнерами Docker и их приложениями с помощью различных собственных и сторонних инструментов с помощью этого эксклюзивного руководства! . Бирмингем, Великобритания. ISBN  9781785885501 . OCLC   933610431 . {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  • ДЖОЗЕФ., ХЕК (2018). KUBERNETES ДЛЯ РАЗРАБОТЧИКОВ используйте kubernetes для разработки, тестирования и развертывания приложений с помощью контейнеров; используйте kubernetes для разработки . [Sl]: ПУБЛИКАЦИЯ ПАКЕТА. ISBN  978-1788830607 . OCLC   1031909876 .
  • Бернс, Брендан (20 февраля 2018 г.). Проектирование распределенных систем: шаблоны и парадигмы для масштабируемых и надежных услуг (Первое изд.). Севастополь, Калифорния. ISBN  9781491983614 . OCLC   1023861580 . {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  • Мартин., Хельмих (2017). Облачное программирование с помощью Golang. Разрабатывайте высокопроизводительные веб-приложения на основе микросервисов для облака с помощью Go . Андравос, Мина, Снук, Джелмер. Бирмингем: Packt Publishing. ISBN  9781787127968 . OCLC   1020029257 .
  • Алок, Шриваства (23 февраля 2018 г.). Гибридное облако для архитекторов: создавайте надежные гибридные облачные решения с помощью AWS и OpenStack . Бирмингем, Великобритания. ISBN  9781788627986 . OCLC   1028641698 . {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  • Каевкаси, Чанвит (2016). Нативная кластеризация Docker с помощью Swarm . ISBN  978-1786469755 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e6ec8811b84de098564f89d23e9a1a66__1719659100
URL1:https://arc.ask3.ru/arc/aa/e6/66/e6ec8811b84de098564f89d23e9a1a66.html
Заголовок, (Title) документа по адресу, URL1:
Prometheus (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)