AWS: Application Load Balancer – HTTP => HTTPS и host-header редиректы

30 August 2018
 

 Имеется Application Load Balancer, за которым находятся три хоста: два фронтенда, и один master. Задачи следующие: добавить редиректы HTTP => HTTPS добавить редиректы доменов dev.admin.dme.example.com на master-хост, а остальных – на frontend-хосты добавить редиректы www <=> non-www Редирект HTTP на HTTPS Тут столкнулся с очередным “подарком” от AWS CloudFormation: After checking our internal information, the newly… Read More »

Linux: weechat – консольный IRC клиент

28 August 2018
 

 Понадобилась “помощь зала” по одной баге в AWS, решил поспрашивать в IRC на Freenode. IRC клиента на машине нет, ибо пользуюсь им крайне редко, нагуглил приятный консольный клиент – weechat. Устанавливаем: Запускаем: Добавляем сервер: Получаем список настроенных в клиенте серверов: Включаем автологин на Freenode: Подключаемся, логин по молчанию – логин пользователя, от которого запущен кдиент… Read More »

Linux: Spectacle – module “QtQuick.Controls” is not installed

27 August 2018
 

 После последнего апдейта системы – spectacle начал вылетать при попытке сделать скришот выделенной области – опция “Reactangular Region” в Area: Для “дебага” – запускаем его из консоли, и смотрим сообщения: Гуглим “module “QtQuick.Controls” is not installed“, находим сообщения тут – https://github.com/xiangzhai/qwx/issues/34, и там же описано решение – установить qt5-quickcontrols: Устанавливаем, запускаем spectacle ещё раз – и всё… Read More »

AWS: миграция RTFM 3.0 (final) – CloudFormation и Ansible роли

25 August 2018
 

 Прошёл почти год, как я начал миграцию v2, закончил на посте Ansible: миграция RTFM 2.11 – хост Services – установка PHP, PHP-FPM. Основной её идеей на тот момент было максимально использовать возможности AWS и Ansible – чисто из интереса и для практики, т.к. на предыдущем месте работы её было совсем мало (там в основном был Azure… Read More »

Jenkins: wrapper script does not seem to be touching the log file

23 August 2018
 

 При запуске задачи возникает ошибка: wrapper script does not seem to be touching the log file in /var/lib/jenkins/workspace/ETLFB@tmp/durable-893314e7 (JENKINS-48300: if on a laggy filesystem, consider -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=300) Есть созданная бага тут>>>. Собственно решеине указано в тексте самой ошибки – добавляем HEARTBEAT_CHECK_INTERVAL=300. Обновляем pipeline-скрипт, добавляем System.setProperty(“org.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL”, “3800”);: #!/usr/bin/env groovy node { // checkout https://github.com/project/deployment to the “ci”… Read More »

Linux: kernel panic-not syncing: VFS: unable to mount root fs on unknown block(0,0)

17 August 2018
 

 Есть Ubuntu машинка, Jenkins билд-агент. Последнее время начала выпадать в Kernel panic и просто во время работы, и при перезагрузке, с ошибкой вида “kernel panic-not syncing: VFS: unable to mount root fs on unknown block(0,0)“. Причина оказалась банальна – раздел /boot был забит чуть менее, чем полностью (с). Для решения – находим старые ядра: И… Read More »

Jenkins: Scripted Pipeline – подтверждение выполнения для Production окружения

16 August 2018
 

 Есть несколько задач, которые выполняются в Scripted Pipeline. В задачах выполняется провижен CloudFormation и запуск Ansible плейбука на Dev и Production. Что бы исключить случайный запуск Production задачи – хочется добавить шаг подтверждения действия. Используем pipeline-input-step и класс BooleanParameterDefinition. Добавляем функцию verify(): def verify() { stage(‘Verify’) { def userInput = input( id: ‘userInput’, message: ‘This… Read More »

Prometheus: проверка отсутствия метрик – avg_over_time()

15 August 2018
 

 Среди прочих алертов у нас есть алерты на падение сервиса – когда метрика *_up == 0. Проблема в том, что такой алерт сработает только в том случае, если екпортёр сервиса явно вернёт значение ноль, но если ЕС2 с сервисом и екпортёром был выключен/удалён – то Alertmanager ничего не сообщит. Например – алерт на RDS выглядит… Read More »

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

14 August 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 Проверяем. Запускаем: Проверяем контейнер: Статус процесса: При именениях в… Read More »

AWS: 502 ошибка на Application Load balancer

10 August 2018
 

 Имеется ALB, на который постоянно срабатывает Alertmanager с ошибкой 502: В CloudWatch видно, что ошибка возникает спорадически, и только один раз: При этом в логах NGINX никаких ошибок нет Первым делом – включаем логи ALB: Не то что бы они чем-то реально помогли – но по крайне мере теперь можно увидеть ошибку “вживую” : 52.***.***.142… Read More »