Архив рубрики: Monitoring

Мониторинг серверов, сетей и оборудования

Prometheus: Alertmanager и blackbox-exporter — проверка срока действия SSL и нотификация в Slack

27 июля 2018
 

 Основная задача — проверять SSL-сертификаты и уведомлять о том, что срок действия сертификата завершается. Запуск blackbox-exporter Все сервисы мониторинг запускаются из Compose-файла, который деплоится на хост мониторинга из Ansible-шаблона roles/monitoring/templates/prometheus-compose.yml.j2. Добавляем туда ещё один контейнер: … blackbox-exporter: image: prom/blackbox-exporter command: ‘—config.file=/config/blackbox.yml’ # for debug #command: ‘—config.file=/config/blackbox.yml —log.level=debug’ networks: — prometheus ports: — 9115:9115 volumes: -… Читать далее »

Grafana: создание dashboard

23 июля 2018
 

 Задача — добавить дашборд для отображения различной статистики с бекенда. Ниже описывается процесс создания дашборды, рассматриваются примеры запросов из Grafana к Prometheus для получения данных, настройки различных типов панелей, примеры метрик, которые можно использовать. Основная цель поста — записать для себя примеры использования Grafana, т.к. подобных примеров не встречал, хотя у Grafana отличная документация. Для… Читать далее »

Prometheus: nginx_exporter и сбор метрик с NGINX

19 июля 2018
 

 Имеется два експортёра для NGINX — discordianfish/nginx_exporter и hnlq715/nginx-vts-exporter. Второй предоставляет больше возможностей, но мне сейчас нужны самые базовые, поэтому использую discordianfish/nginx_exporter. NGINX status Сначала — добавим /nginx_status в NGINX. Проверяем — собран ли NGINX со статус-модулем: [simterm] root@bm-backed-app-dev:/opt/prometheus-client# nginx -V 2>&1 | grep -o with-http_stub_status_module with-http_stub_status_module [/simterm] Я добавил отдельный конфиг /etc/nginx/conf.d/status.conf с default_server, который принимает запросы… Читать далее »

Grafana: добавление CloudWatch data-sorce

18 июля 2018
 

 Для получения метрик из AWS CloudWatch для связки Grafana/Prometheus можно использовать два подхода: собирать метрики в Prometheus с помощью cloudwatch_exporter добавить новый data-source в Grafana, и рисовать графики используя его Ниже описывается процесс добавления data-source в Grafana и графиков AWS Load Balancer. IAM пользователь Добавляем IAM пользователя с Programmatic access: В Permissions выбираем Attach existing policies… Читать далее »

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

21 июня 2018
 

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

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

18 июня 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 запущена в контейнере, данные… Читать далее »

Prometheus: AWS EC2 service discovery

11 июня 2018
 

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

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

8 июня 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… Читать далее »

AWS: CloudWatch unified agent — сбор метрик и логов с EC2 и Ansible роль для него

7 июня 2018
 

 В дополнение к посту AWS: CloudWatch logs – сбор и мониторинг логов, где сбор логов выполнялся старым агентом — пример использования нового агента, который собирать и метрики инстанса, и логи. Для работы агента — ЕС2 требуется подключенная роль CloudWatchAgentServerPolicy, создание описано тут>>>. Пост кратенький, просто пример установки и запуска. Установка CloudWatch unified агента Устанавливаем unzip: [simterm] root@ip-172-31-45-128:/home/admin#… Читать далее »

AWS: CloudWatch logs — сбор и мониторинг логов

19 мая 2018
 

 AWS CloudWatch Logs — сервис для сбора и мониторинга логов с EC2, CloudTrail и Route53. На сегодняшний день сбор логов можно выполнять двумя способами: старый CloudWatch Logs agent: занимается сбором логов новый, Unified CloudWatch Agent: объединяет в себе SSM агент и CloudWatch Logs agent, умеет собирать как метрики инстансов, так и логи. См. Amazon CloudWatch introduces a new… Читать далее »