Category Archives: Prometheus

Prometheus: CloudWatch exporter – сбор метрик из AWS и графики в Grafana

21 June 2018
 

 Используем prometheus/cloudwatch_exporter. Клиент написан, внезапно, на Java, из минусов – не умеет экпортировать теги AWS в метки Prometheus (есть альтернативный клиент – technofy/cloudwatch_exporter, который вроде бы умеет). IAM пользователь Для IAM пользователя, доступы которого будет использовать експортёр требуются роли cloudwatch:ListMetrics и cloudwatch:GetMetricStatistics (надо проверить – сработает ли роль CloudWatchAgentServerPolicy, подключенная к EC2, что бы не использовать Access/Secret… Read More »

Grafana: добавление datasource из Ansible

18 June 2018
 

 В Grafana 5.0 появилась возможность настраивать её без API, а просто добавляя файлы настроек. Документация тут>>>. Удобно для использования с Ansible etc. Ниже быстрый пример применения. Путь к каталогу задаётся через переменную GF_PATHS_PROVISIONING: t=2018-06-18T13:11:26+0000 lvl=info msg=”Config overridden from Environment variable” logger=settings var=”GF_PATHS_PROVISIONING=/etc/grafana/provisioning” Ручное добавление Протестируем – попробуем добавить datasource вручную. Grafana запущена в контейнере, данные… Read More »

Prometheus: AWS EC2 service discovery

11 June 2018
 

 Для чего нам нужен EC2 service discovery? В первую очередь – что бы избежать необходимости открывать порт на Application Load Balancer и гонять трафик “через мир”. Т.е. вместо того, что бы в конфиге Prometheus указывать статичный URL и URI, типа mainhost.domain.tld/metrics, который был бы направлен на AWS ALB, у которого было бы правило форвардить URI /metrics… Read More »

Prometheus: мониторинг PHP-FPM + Ansible роль

8 June 2018
 

 Задача – собирать метрики с PHP-FPM /status. Используем lusotycoon/phpfpm-exporter. Кроме этого экспортёра есть bakins/php-fpm-exporter – но контейнер из его Docker образа постоянно возвращает “Empty reply from server“. Есть peakgames/php-fpm-prometheus – но для него нет Docker образа, а собирать свой не хочется. Имеется также hipages/php-fpm_exporter – но с ним возникли ошибки вида “Error scraping PHP-FPM: invalid character ‘A’ looking for beginning… Read More »

Ansible: Prometheus provisioning – роли common, exim, nginx, logrotate и unattended-upgrades

14 May 2018
 

 Продолжение сетапа из AWS: создание стека в AWS – bash-скрипт и CloudFormation шаблон. Далее потребуется добавить Ansible playbook и роли для настройки хоста. В принципе – ничего особенно отличного от того, что описано в постах серии RTFM migration, например – Ansible: миграция RTFM 2.9 – монтирование EBS и настройка NGINX на Bastion. Что надо будет выполнить: добавить… Read More »

AWS: создание стека в AWS – bash-скрипт и CloudFormation шаблон

10 May 2018
 

 Задача – развернуть мониторинг Prometehus + Grafana в AWS (в противоположность Azure на предыдущем проекте…). Весь стек будет состоять из одного EC2, на котором будет NGINX + Prometheus + Grafana. Из экспортёров на хосте мониторинга будут node_exporter и blackbox_exporter, скорее всего ещё mysql_exporter – собирать метрики с MariaDB бекенда нашего приложения, и какие-то ещё. Но это… Read More »

Prometehus: обзор – federation, мониторинг Docker Swarm и настройки Alertmanager

9 April 2018
 

 Задача – настроить Proof of Concept мониторинга, используя Prometheus, что бы показать основные его возможности. Используется Prometheus 2.2.1 (между 1.* и 2.* существенные различия в синтаксисе). Чего не добавлено в этот пост – это работа с Prometheus API, и хотелось подробнее остановиться на Grafana и её шаблонах, но уже отдельным постом. Кроме того, в самом тексте… Read More »

Prometheus: мониторинг Azure VMSS с node_exporter и Docker контейнеров в Docker Swarm с cAdvisor

17 March 2018
 

 В продолжение постов о развёртывании Prometheus для мониторинга проекта в Azure (привет, Azure, давно не виделись! см. Azure: почему никогда). Спустя три месяца – проект решил, что мониторинг им всё-таки нужен, и меня “вернули”. Посты по теме: полное описание самого проекта описание установки Prometheus сервера Остановился я на добавлении к Prometheus серверу виртуальных машин из… Read More »

Prometheus: exporter_proxy – мониторинг сервисов в приватной сети

11 December 2017
 

 Есть рабочее окружение, которое включает в себя две VMSS с Docker Swarm – на одной работают swarm-managers, на второй – swarm-workers: В Master группе работает виртуальная машина с одним менеджером, в Nodes/Workers – три ВМ с воркерами. Master находятся за одним Load Balancer, Nodes – за вторым. Задача – собирать метрики со всех виртуальных машин.… Read More »

Prometheus: запуск сервера с Alertmanager, cAdvisor и Grafana

7 December 2017
 

 Пример установки и настройки минимального мониторинга, чисто ознакомительного. Используем Pormetheus для сбора метрик, Alertmanager для отправки сообщений о проблемах, cAdvisor для сбора метрик из Docker, node-exporter для сбора метрик с виртуальной машины и Grafana – для визуализации собранных данных, а запускать всё будем из Docker Compose. Все получившиеся в результате конфиги можно посмотреть в репозитории.