Архив рубрики: Configuration/Orchestration

Вопросы, касающиеся установки, настройки и работы CMS (Configuration Manament System – система управления конфигурациями) Puppet, Ansible и Chef

Terraform: пример работы – основные команды, state-файлы, бекенды, модули

25 июня 2018
 

 Пример использования Terraform, его основные команды, работа с бекенда и модулями. Достаточно кратко, но со ссылками на документацию. Устанавливаем на Arch Linux: [simterm] $ sudo pacman -S terraform [/simterm] Для авторизации используем созданный AWS профиль setevoy-root. main.tf Создаём файл main.tf, в котором указываем использование AWS provider, регион, и имя AWS профиля: provider “aws” { region… Читать далее »

AWS: CloudFormation – route table rtb-6ea6bd06 and network gateway pcx-48eaed21 belong to different networks

22 июня 2018
 

 При создании нового стека с использованием VPC peering – CloudFormation сообщает об ошибке: route table rtb-6ea6bd06 and network gateway pcx-48eaed21 belong to different networks (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterValue; Request ID: d8c60294-5ea7-4407-9886-6459c16762b8) Причина не совсем очевидна, потому запишу её себе на будущее. Проверяем таблицу rtb-6ea6bd0: Обращаем внимание на сеть: subnet-8d0d41e5 | monitoring-production-public-net 10.0.1.0/28… Читать далее »

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

AWS: CloudFormation – VPC peering и Fn::ImportValue

13 июня 2018
 

 В продолжение/дополнение постов Prometheus: AWS EC2 service discovery и AWS: настройка VPC peering – пример настройки VPC peering в шаблонах стеков CloudFormation. Идея следующая: создадим стек monitor – он будет имитировать стек мониторинга создадим стек application – он будет имитировать стек приложения application должен будет запросить пиринг с VPC из стека monitor, что бы Prometheus в стеке monitor смог… Читать далее »

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

CircleCI: обзор Continuous Integration сервиса

31 мая 2018
 

 CircleCI – система для сборки и деплоя, аналогичная Travis CI (Github), и работающая по тем же принципам – к CircleCI-аккаунту подключаются репозитории (в отличи от Travis – к CircleCI можно добавить любой репозиторий, в т.ч. Bitbucket), билды выполняются в контейнерах или вирутальных машинах, уведомления о результатах билда можно получить на почту или через интеграцию со Slack/HipChat etc, а… Читать далее »

Ansible: модуль cloudformation

25 мая 2018
 

 Для Ansible существует интересный модуль cloudformation, который позволяет создавать и удалять AWS CloudFormation стеки. Его может быть полезно использовать, что бы удобно передавать различные параметрыдля стеков, например Dev и Production, через переменные самого Ansible. Для примера возьмём шаблон ec2_simple_stack.json. Подготовка проекта Создадим новые проект: [simterm] $ mkdir ansible_cf_example [/simterm] Создаём плейбук, всего одна роль – cloudformation:… Читать далее »

Ansible: теги, include_vars и приоритеты переменных

22 мая 2018
 

 В процессе написания плейбука для создания стека с модулем cloudformation (про него позже) появился пример использования тегов для ограничения выполнения задач из различных ролей, и хороший пример важности учёта приоритетов при использовании переменных. Ansible теги К примеру, есть такой плейбук: – hosts: – all become: true gather_facts: false roles: – role: cloudformation tags: infra -… Читать далее »

AWS: GDPR и RDS – миграция на encrypted RDS

17 мая 2018
 

 Наверняка уже все слышали про General Data Protection Regulation (GDPR),  который вступит в силу 25-го мая 2018 года. Если нет, то в двух словах – это набор правил, которым должны соответствовать компании, которые собирают и хранят данные, в которых содержится информация о жителях Евросоюза (впрочем – США готовятся принять аналогичный документ). В первую очередь эти правила… Читать далее »