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

10 May 2018
 

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

Jenkins: запуск Jenkins в Docker и подключение SSH Slave

8 May 2018
 

 Имеется две EC2, на одной будет запущен Jenkins, который будет мастером, второй EC2 надо настроить и подключить как slave для Jenkins. Для этого – на второй машине потребуется Java, настроенная SSH авторизация по ключам, и отдельный пользователь. На Jenkins потребуется SSH Slaves Plugin. Начинаем со слейва. Contents Настройка Jenkins Unix slaveУстановка JavaДобавление пользователяНастройка MasterУстановка DockerСоздание пользователяНастройка… Read More »

Linux: supervisor – управление процессами и сервисами

7 May 2018
 

 supervisor – система для управления сервисами, написана на Python, использует INI-конфиги для настроек. Домашняя страница и документация – тут>>>, репозиторий – тут>>>. Состоит из: supervisord: сам север, обрабатывающий запросы от клиентов и считывающий файлы настроек для сервисов supervisorctl: CLI для управдения процессами под контролем supervisord, подключаясь к нему через сокет или TCP порт HTTP сервер: предоставляет… Read More »

Linux: затереть диск

27 April 2018
 

 Есть рабочий ноут с Arch Linux, перед переходом на новую работу – надо затереть всю информацию. Различные способы удаления информации с диска можно найти на Arch Wiki – shred, wipe, dd и т.д. Ниже приводится пример использования urandom и dd.   Подключаем образ: Ребутаем: Загружаемся с CD-ROM (ISO с Arch Linux. примонтированный к Virtualbox машине), проверяем… Read More »

Linux: игнорировать закрытие крышки ноутбука

26 April 2018
 

 Имеется ноутбук с двумя внешними мониторами, сам ноутбук переедет под стол, и будет там стоять с закрытой крышкой. Задача – не отправлять систему в suspend, когда крышка закрывается. Для этого настраиваем systemd-logind – редактируем файл /etc/systemd/logind.conf, за крышку отвечает параметр HandleLidSwitch: Который по-умолчанию стоит в HandleLidSwitch=suspend, устанавливаем его в ignore: И перезапускаем systemd-logind (вызовет перезапуск… Read More »

Jenkins: получить пароль из Credentials Binding Plugin

25 April 2018
 

 Задача – добавить и запушить тег после билда, используя логин:пароль репозитория, которые добавлены в Credentials Binding Plugin. Само решение достаточно костыльное, но рабочее. Главная проблема в том, что Jenkins маскирует пароль ****. Т.е. при вызове: … withCredentials([usernamePassword(credentialsId: ‘git’, usernameVariable: ‘USERNAME’, passwordVariable: ‘PASSWORD’)]) { sh “echo pass $PASSWORD” sh “echo user $USERNAME” } … В результате получим… 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 »

Linux: подключение флешки – mtp-probe bus: 2, device: 110 was not an MTP device и версия ядра

4 April 2018
 

 Имеется новая флешка – Kingston DataTraveler SE9 (DTSE9H/32GB). Ниже описаны попытки заставить систему её увидеть – и фееричная причина “проблемы”. Проблема возникла на Arch Linux (причём на двух ноутбуках – рабочем, и домашнем), но не связана с дистрибутивом. Contents Суть проблемыРешение 1 – игнорировать mtp-probeДрайвер usb-storage True “решение” Суть проблемы При подключении – флешка не… Read More »

Docker: PHP Composer и multi-stage билды Docker образов

2 April 2018
 

 Задача – подготовить Docker образ с PHP Composer. Ниже рассмотрим сначала сам Composer (от PHP далёк, и с Composer дела раньше не имел, хотя сам PHP потрогать довелось), потом – пример сборки Docker контейнера и его использование под разными пользователями. Результат можно посмотреть в Github. Contents PHP ComposerУстановка ComposerDocker multi-stage билдРепозитории в composer.jsonComposer userDockerfile USERdocker run… Read More »

DNS: dnsdiag – пинг и трассировка DNS-запросов

30 March 2018
 

 Удобная утилита для работы с DNS-серверами. Включает в себя три утилиты на Python – dnsping, dnstraceroute и dnseval. Репозиторий проекта и исходный код – тут>>>, домашняя страница – тут>>>. Установка на Arch Linux из AUR: Далее можно проверить скорость ответа различных DNS, например публичный сервер CloudFlare: И сравнить его скорость ответа с IBM Quad9 DNS: avg=4.692 ms… Read More »