Category Archives: HOWTO’s

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

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

18 July 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… Read More »

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

16 July 2018
 

 В MySQL имеется функция PASSWORD() для получения хеша из строки с паролем, котоаря используется самим MySQL для проверки авторизации. При добавлении пользователя с использованием этой функции и при передачи пароля открытым текстом – возникает ошибка: Вариант первый – не использовать PASSWORD(), и передать пароль открытым: Проверяем: Вариант второй – таки сначала получить хеш пароля, вызвав PASSWORD()напрямую: И… Read More »

Docker: настройка tzdata и timezone во время билда

14 July 2018
 

 При сборке образа – билд останавливается с запросом на настройку tzdata. Dockerfile выглядит сейчас так: FROM ubuntu:18.04 RUN apt update && apt install -y python-pip python-dev ssh python-boto3 RUN pip install ansible==2.4.3.0 Запускаем сборку: И тут сборка зависает в ожидании ввода данных, при чём даже после указание региона – процесс не продолжается. Что бы избежать… Read More »

Ansible: проверить конфигурацию NGINX перед рестартом

13 July 2018
 

 Имеется роль nginx, в которой выполняется его настройка и копирование файлов. Последней задачей роли выполняется nginx restart. Проблема заключается в том, что попытка перезапуска NGINX выполняется в любом случае, и если в файле шаблона виртуалхоста есть ошибка – то NGINX не запустится. Что бы выполнить проверку – nginx -t – добавляем задачу с вызовом модуля… Read More »

Ansible: использование ansible_date_time для получения даты/времени

12 July 2018
 

 Имеется задача по созданию архива, в имени которого хочется добавлять дату и время его создания. Для получения даты-времени можно использовать ansible_date_time. Проверяем. Добавлем задачу, которая выведет всё содержимое: – name: Test date debug: msg: “{{ ansible_date_time }}” Запускаем: Теперь – попробуем получить отдельные значения, например date: – name: Test date debug: msg: “{{ ansible_date_time.date }}”… Read More »

Ansible: использование with_dict на примере модуля rabbitmq_user

11 July 2018
 

 Требуется создать пользователей и пароли для RabbitMQ, используя плагин rabbitmq_user. При этом хочется не создавать несколько переменных и несколько задач, а всё выполнить в одном цикле, но у каждой переменной должно быть несколько полей и значений. Используем with_dict и словарь в переменных. В файле roles/roles/rabbitmq/vars/main.yml добавляем: rabbitmq_users: user1: password: “pass1” vhost: “/” configure_priv: .* read_priv:… Read More »

NGINX: реальный IP в логах при работе за AWS Load Balancer

9 July 2018
 

 Есть NGINX, который работает за AWS Application Load Balancer-ом (ALB). Проблема заключается в том, что в логах NGINX пишется IP самого ALB, а не клиента: 10.0.2.26 – – [06/Jul/2018:10:30:50 +0300] “GET /debug/ HTTP/1.1” 404 133 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36” Что бы исправить это – добавляем… Read More »

Jenkins: Simple Theme Plugin – настройка внешнего вида UI

5 July 2018
 

 Jenkins – прекрасная система, но вот внешний вид – просто “привет из 90-х”. К счастью – Jenkins поддерживает самую различную кастомизацию, в т.ч. – возможность настройки своего интерфейса. Для этого можно установить плагин Simple Theme Plugin: Далее – в Configure System > Theme либо настроить вид самому, либо использовать готовый набор, например – jenkins-material-theme. Выбираем цветовую схему, например… Read More »

AWS: RDS – сбросить пароль администратора

4 July 2018
 

 Имеется инстанс, развёрнутый из снапшота, пароль утерян. Что бы сменить пароль – выбираем инстанс, выбираем Modify: И в Settings – задаём новый пароль: Выбираем Apply immediately: Внимательно читаем предупреждение, что в таком случае будут применены все текущие изменения, который ждут maintatnce window. Например – мажорный/минорные апдейты версии, что может инициировать рестарт инстанса: Potential unexpected downtime… Read More »

Jenkins: Credentials Binding Plugin и использование нескольких Secret file в Jenkins pipeline

3 July 2018
 

 Задача – запустить ansible-playbook, которому необходимо передать RSA ключ для EC2 и файл с паролем для ansible-vault, т.к. в задачах плейбука используются зашифрованные переменные. Для этого используем Jenkins credentials, где сохраним два файла, а потом через Credentials Binding Plugin – передадим их в контейнер с задачей. Secret file в Credentials Сначала добавляем файлы в Jenkins. Переходим… Read More »