Ansible: роли для Docker Compose, Prometheus и node_exporter
0 (0)

2 октября 2017

Перебирал несколько ролей в Ansible Galaxy для установки и настройки Prometheus — но в конце-концов решил делать всё по-своему. Будем использовать Docker Compose, который будет запускать сам Prometheus и node_exporter. Роль Docker Compose Начнём с добавления роли docker-compose. В корне репозитория создаём каталог roles/docker-compose/tasks: [simterm] $ mkdir -p roles/docker-compose/tasks [/simterm] Создаём файл roles/docker-compose/tasks/main.yml: — name:… Читать далее »

Loading

Linux: mps-youtube — консольный Youtube плеер
0 (0)

1 октября 2017

Страница проекта на Github. Умеет играть прямо с Youtube, искать на нём музыку, загружать, конвертировать. Устанавливаем: [simterm] $ sudo pacman -S mps-youtube [/simterm] Дополнительно: [simterm] $ sudo pacman -S youtube-dl [/simterm]

Loading

AWS: миграция RTFM 2.1 — CloudFormation для EC2 c Jenkins
0 (0)

30 сентября 2017

Задача — развернуть CloudFromation стек с одним EC2 интансом и примонтировать Elastic Block Store (EBS) с данными Jenkins. Потом с помощью Ansible — установить там Docker и запустить Jenkins. Подготовка Сначала — вручную создадим EBS, который будет хранить данные Jenkins и далее будет подключаться к создаваемому EC2 интансу. Создаём именованный профиль AWS CLI для RTFM:… Читать далее »

Loading

Let’s Encrypt: firewall и верификация домена
0 (0)

26 сентября 2017

Во время установки и получения сертификата с помощью Ansible — возник вопрос с доступом к серверу для верификации, т.к. доступ к портам 80 и 443 ограничен на уровне Azure Network Security Group. Для certbot можно было бы использовать manual верификацию через DNS — но тут требовалось или ручная обработка, или боль с Azure DNS API… Читать далее »

Loading

Ansible: ansible-galaxy — репозиторий ролей и Jenkins VM provision
0 (0)

25 сентября 2017

Продолжаем сетап системы мониторинга. Предыдущие части: Prometheus: мониторинг – введение, установка, запуск, примеры Azure: provisioning с Resource Manager, Jenkins и Groovy Ansible: пример установки NGINX Jenkins: Pipeline, Groovy, Ansible и VM provisioning Для NGINX роль я писал руками, далее — используем Ansible Galaxy.

Loading

Jenkins: Pipeline, Groovy, Ansible и VM provisioning
0 (0)

22 сентября 2017

Продолжение постов Ansible: пример установки NGINX и Azure: provisioning с Resource Manager, Jenkins и Groovy. Задача  — запускать провижен VM из Jenkins. Пока выполняется только установка NGINX, позже будет добавлен Prometheus. Используем Jenkins Pipeline и groovy-скрипты. Описание Используется два репозитория: один для скриптов Jenkins (переменная $BUILD_REPO_URL в скриптах ниже), второй для файлов Ansbile ($INFRA_URL), в которых описаны хосты… Читать далее »

Loading

Ansible: пример установки NGINX
0 (0)

20 сентября 2017

Задача — установить NGINX на удалённый хост с помощью Ansbile. Подготовка На рабочей машине — устанавливаем Ansible: [simterm] $ sudo pacman -S ansible [/simterm] В Jenkins — будем использовать Docker образ (или плагин). Проверяем: [simterm] $ ansible —version ansible 2.3.2.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides python version = 2.7.13… Читать далее »

Loading

Azure: provisioning с Resource Manager, Jenkins и Groovy
0 (0)

19 сентября 2017

Описание сетапа развёртывания группы ресурсов Azure с одной виртуальной машиной для будущего мониторинга проекта. В этой части — создание Azure Resource Manager шаблона, настройка Jenkins и примеры Groovy скриптов. Далее — провижен NGINX и Prometheus с Ansbile. Ещё позже — Grafana. Все файлы и скрипты хранятся в Github. Подготовка Используем готовый шаблон от Azure отсюда>>>.… Читать далее »

Loading

Prometheus: мониторинг — введение, установка, запуск, примеры
0 (0)

18 сентября 2017

Prometheus — open-source система мониторинга, изначально разработанная в SoundCloud в 2012, публичный релиз состоялся в 2015. Сам Prometheus написан большей частью на Go, компоненты связываются по HTTP. Для визуализации имеет собственные графики, но может работать с системами типа Grafana (о ней позже, тоже будем применять). Данные хранит локально, в собственной TSDB базе, индексы хранятся в LevelDB.… Читать далее »

Loading

Linux: C — адресное пространство процесса
0 (0)

17 сентября 2017

Адресное пространство процесса на примере программы на C. Используемые утилиты и файлы: size /proc/$PID/maps objdump pmap Все примеры выполняются на ОС: [simterm] $ cat /etc/os-release | grep NAME NAME=»Arch Linux» PRETTY_NAME=»Arch Linux» [/simterm] С ядром: [simterm] $ uname -mrs Linux 4.12.8-2-ARCH x86_64 [/simterm] С использованием gcc: [simterm] $ gcc —version gcc (GCC) 7.2.0 [/simterm]

Loading