Prometheus' main distinguishing features as compared to other monitoring systems are:
a multi-dimensional data model (timeseries defined by metric name and set of key/value dimensions)
a flexible query language to leverage this dimensionality
no dependency on distributed storage; single server nodes are autonomous
timeseries collection happens via a pull model over HTTP
pushing timeseries is supported via an intermediary gateway
targets are discovered via service discovery or static configuration
multiple modes of graphing and dashboarding support
support for hierarchical and horizontal federation
Prometheus после nagios или zabbix может сначала очень сильно запутать, как ставить, как запускать... Если с тем же заббиксом - поставили, прошли по быстрой настройке, и вот у нас есть база, есть веб, есть ядро системы, ставим агенты где надо и пишем правила что мониторить, то тут может поначалу пухнуть голова.
Ставить можно прямо на хост, можно в докере, но после базовой установки получаем систему которая сама ничего не умеет опрашивать, не умеет оповещать, да и графики там так себе. И тут начинается.
- Где хранить?
- Как получать?
- Как выводить?
- Как оповещать?
- Как масштабировать?
Помимо самого прометея, есть ещё
push gateway для работы с кратковременными процессами (когда сервис работает слишком мало времени, что бы Prometheus имел возможность выполнять к нему запросы для получения метрик)
exporters для сбора метрик из сторонних сервисом (и таких экспортёров – миллион, и имя им легион). В частности, большой список есть тут https://prometheus.io/docs/instrumenting/exporters/
alertmanager – менеджер уведомлений (умеет Slack, почту и т.д.)
А также..
- дашборды (dashboards), где будем настраивать всякие красивые графики;
- Системы сбора, обработки метрик;
- Базы, где метрики будут храниться;
2. StatsD, telegraf, carbon
3. graphite, influxdb, whisper, prometheus...
Установка:
можно через git:
git clone https://github.com/prometheus/prometheus
git clone https://github.com/prometheus/node_exporter
git clone https://github.com/prometheus/alertmanager
и заглянуть сюда
https://prometheus.io/download/
https://prometheus.io/download/
debian:
$ echo 'deb http://deb.robustperception.io/ precise nightly' | sudo tee -a /etc/apt/sources.list.d/robustperception.list
$ wget https://s3-eu-west-1.amazonaws.com/deb.robustperception.io/41EFC99D.gpg
$ sudo apt-key add 41EFC99D.gpg
$ sudo apt-get update
$ sudo apt-get install prometheus node-exporter alertmanager
centos:
Для установки в систему можно взять за основу (ТУТ взять актуальные ссылки на архивы)
там описание достаточно подробное. Но описывает оно только prometheus + node_exporter.
Есть ещё такая инструкция, чисто по прометею, но там с раскидыванием по системе.
По аналогии выкачиваем, распаковываем, делаем .service для alertmanager. А прометею в конфиг пишем в секцию global примерно так
rule_files:
- "alert.rules"
и добавляем файл /etc/prometheus/alert.rules. По наполнению читаем доку.
Ещё можно глянуть
https://letsclearitup.com.ua/monitoring/ustanovka-prometheus-node-exporter-v-centos-7.html
Также есть вариант через docker, установка элементарна. Но обращаю внимание что при использовании systemd не берите инструкции, где в service есть строки вида ExecStart=docker-compose xxx up - потому что один из плюсов докера это контроль служб и возможность перезапуска упавших служб, а в таком формате мы мониторим "ничего".
Ставится так (centos)
# yum -y install docker
# systemctl enable docker
# systemctl start docker
(запускать с отдельной консоли, через screen,...)
# docker run -p 9090:9090 prom/prometheus
всё, на 9090 у нас есть прометей. Но нам надо будет его настраивать, и как пример можно взять prometheus/documentation/examples/prometheus.yml и потом запускать так
docker run -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
Теперь надо снимать метрики, типовой это node_exporter
Для докера запуск так же прост
# docker run prom/node-exporter
Для мониторинга сайтов можно поставить
# docker run prom/blackbox-exporter
Есть и некая управлялка (генератор конфигов)
Рисовалка графиков
https://hub.docker.com/r/grafana/grafana/
http://docs.grafana.org/installation/docker/
Читать дальше
внимание
Если при запуске получена ошибка:
unknown fields in scrape_config: target_groups
то надо заменить target_groups на static_configs
https://rtfm.co.ua/prometheus-monitoring-vvedenie-ustanovka-zapusk-primery/
Мониторинг сервисов с Prometheus (оно же)
Комментариев нет:
Отправить комментарий