Архив рубрики: HOWTO’s

Вопросы, касаюшиеся установки и настройки различных приложений.

Linux: systemd сервис для Docker Compose

14 августа 2018
 

 Есть Docker Compose файл, который запускает Prometheus стек. Рабочий каталог Prometheus — /opt/prometheus, в котором находится Compose файл prometheus-compose.yml. Для управления им через systemd — создаём файл /etc/systemd/system/prometheus.service: [Unit] Description=Prometheus stack Requires=docker.service After=docker.service [Service] Restart=always WorkingDirectory=/opt/prometheus ExecStart=/usr/local/bin/docker-compose -f prometheus-compose.yml up ExecStop=/usr/local/bin/docker-compose -f prometheus-compose.yml down [Install] WantedBy=multi-user.target Проверяем. Запускаем: [simterm] # systemctl start prometheus.service [/simterm] Проверяем… Читать далее »

Prometheus: OpsGenie и Alertmanager — уведомления в почту/SMS/телефон

9 августа 2018
 

 OpsGenie — сервис, позволяющий настроить отправку уведомлений на почту, в Slack, SMS и умеющий выполнять звонки при возникновении алерта. Кроме того — у него есть мобильные приложения для Android и iOS. Сейчас у нас нотификации отправляются только в Slack, через slack_configs Alertmanager-а, но этого явно мало, особенно если ночью упадёт какой-то критичный сервис. Собственно, задачей… Читать далее »

Prometehus: MySQL exporter

7 августа 2018
 

 Ещё одна задача по мониторингу — проверять доступ к серверу баз данных. Краткая заметка просто для примера. Используем prometheus/mysqld_exporter. Подключаемся к серверу БД, добавляем пользователя: [simterm] MariaDB [(none)]> CREATE USER ‘prometheus’@’10.0.2.7’ IDENTIFIED BY ‘password’; Query OK, 0 rows affected (0.00 sec) [/simterm] Задаём ему права доступа: [simterm] MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.*… Читать далее »

AWS: CloudFormation — создание EFS + Ansible роль

1 августа 2018
 

 Задача — добавить ресурсы AWS Elastic File System в существующий CloudFormation стек. В CloudFormation для этого имеется ресурс AWS::EFS::FileSystem, который и используем. Шаблон для CloudFormation уже создан, и в примерах ниже будут отсылки к его ресурсам. Опции EFS Перед тем, как создавать EFS — немного рассмотрим доступные опции. EFS имеет два основных доступных параметра — Performance… Читать далее »

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: -… Читать далее »

Jenkins: уведомление в Slack из Jenkins Scripted Pipeline

25 июля 2018
 

 Имеется Jenkins-job, из которой необходимо отправлять уведомления по завершению билда. В Jenkins для этого имеется Slack Notification, который и применим. Хороший пост по теме — тут>>>. Устанавливаем его: Настраиваем Slack — переходим на https://setevoy.slack.com/apps/new/A0F7VRFKN-jenkins-ci (меняем setevoy на ваш URL, само собой), и добавляем Jenkins: И следуем инструкции: Настройка Slack Notification Переходим в Jenkins > Global configuration, внизу настраиваем Slack… Читать далее »

AWS: бекап EBS по расписанию через CloudWatch rules или Data Lifecycle Manager

24 июля 2018
 

 Выполнить снапшот EBS по расписанию можно двумя способами: старый — с помощью CloudWatch rules, и новый — с помощью Data Lifecycle Manager. EBS backup with CloudWatch rules Переходим в CloudWatch > Rules, жмём Create rule: В Event source выбираем Schedule, задаём время — фиксированный период или по крону, например — в 18:10 каждый день (время тут задаётся… Читать далее »

Grafana: создание dashboard

23 июля 2018
 

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

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

MySQL/MariaDB: ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number

16 июля 2018
 

 В MySQL имеется функция PASSWORD() для получения хеша из строки с паролем, котоаря используется самим MySQL для проверки авторизации. При добавлении пользователя с использованием этой функции и при передачи пароля открытым текстом — возникает ошибка: [simterm] MariaDB [(none)]> CREATE USER ‘ruser’@’%’ IDENTIFIED BY PASSWORD ‘password’; ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number… Читать далее »