Сказання про Прометея

Системи моніторингу систем і сервісів - це вже стандарт в будь-якій мережі. З їх допомогою адміни можуть збирати інформацію про поточні параметри і отримувати попередження, коли виникають проблеми. Однак з появою кластерів і віртуальних машин сьогодні саме поняття сервер і сервіс дещо не відповідає традиційним уявленням, а значить, іноді потрібні специфічні інструменти. Prometheus відносять до системи моніторингу наступного покоління, тут використовується дещо інший підхід і архітектура.

проект Prometheus

Сьогодні це базова система в таких проектах, як Docker і Boxever. Являє собою організований набір інструментів, що пропонує метрики для зберігання, агрегації, візуалізації та оповіщення. У більшості традиційних систем агенти періодично відправляють дані на центральний сервер. У Prometheus децентралізована самоврядна (self-managed) архітектура, коли легко можна контролювати сотні серверів з одного місця, при цьому окремі команди можуть використовувати свої незалежні сервери моніторингу.

Основу Prometheus становить prometheus server, що працює автономно і зберігає всі дані локально. Сервіси виявляються автоматично, за допомогою пошуку та статичних установок, підготовлених розробниками. Такий підхід дуже спрощує розгортання. Для контролю однієї системи не потрібно розгортати розподілену систему моніторингу, фактично досить встановити сервер, і система моніторингу вже працює.

Всі дані представлені у вигляді часових рядів. Мітки часу мають точність до мілісекунд, значення представлені c 64-бітної точністю. Гнучкий мову запитів дозволяє вибрати і при необхідності зберегти окремо будь-яку інформацію з отриманого набору, будувати на їх основі графіки або генерувати Алерт. Крім цього, сервер за допомогою клієнтських бібліотек або компонента pushgateway може отримувати інформацію з систем, що включаються в мережу періодично.

Проект надає клієнтські бібліотеки, написані на Go, Java, Python і Ruby, є сторонні рішення на bash, Node.js, Haskell і С # /. NET. Для передачі даних між компонентами обраний HTTP.

Сервер здатний відображати графіки, але вони підходять для епізодичного спостереження або при налагодженні. В якості постійного інтерфейсу пропонується компонент PromDash, який може підключатися до будь-яким обраним серверів для візуалізації даних на панелях. PromDash виводить дані з власне Prometheus або Graphite. Доступний API, який може бути використаний для візуалізації зібраних даних на сторонніх інструментах, шаблони консолі, що дозволяють побудувати свою консоль для візуалізації потрібних даних, і консольний prometheus_cli.

За обробку алертів відповідає Alertmanager, вміє на сьогодні відправляти повідомлення по email і PagerDuty, хоча при бажанні легко прикрутити інші варіанти. Написаний на Go (Golang) - це компільований багато-мова програмування, розроблений в Google. PromDash написаний на Ruby. Поширюється на умовах Apache License 2.0.

Установка Prometheus на сервер Ubuntu 14.04 LTS

Проект пропонує вихідні тексти і збірку сервера під 32- і 64-бітові процесори. Збірка рекомендується для установки, але, якщо врахувати, що Prometheus складається з декількох елементів, при необхідності доустановки їх вже доведеться компілювати. Є Chef cookbooks і контейнер для Docker. Проект надає інструкцію з встановлення і документацію, що описує різноманітні параметри. З ними слід ознайомитися, щоб зрозуміти всі можливості, закладені в Prometheus.

Продовження статті є тільки передплатникам

Варіант 2. Купи одну статтю

Схожі статті