Архив рубрики: HOWTO’s

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

Redis: репликация, часть 4 — написание Ansible роли

15 апреля 2019
 

 В продолжение постов о создании Redis репликации и использования Redis Sentinel для его мониторинга. Предыдущие части: Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel Redis: репликация, часть 3 — redis-py и работа с Redis Sentinel из Python Следующая задача… Читать далее »

Go: проверка списка публичных репозиториев в Github и уведомления в Slack. Сравнение списков в Go. Первый опыт с Golang.

13 апреля 2019
 

 Задача — написать утилиту, которая будет запускаться по крону из Jenkins и проверять список публичных репозиториев организации в Github. Создание Docker-образа и Jenkins-джобы — в посте Jenkins: проверка публичных репозиториев Github-организации. Затем она должна сравнивать полученный список со списком разрешённых, и если списки не совпадают — слать алерт в Slack. Идея состоит в том, что… Читать далее »

Ansible: получить IP таргет-хоста

9 апреля 2019
 

 Задача — в Ansible получить IP адрес хоста, на котором выполняется задача. Есть два варианта (может и больше), ниже — примеры с обоими. Вариант 1 — hostvars См. документацию тут>>>. Добавим тестовую задачу: — name: Test hosts list debug: msg: «{{ hostvars[inventory_hostname][‘ansible_default_ipv4’][‘address’] }}» Запускаем: Вариант 2 — lookup и dig Второй вариант — с помощью… Читать далее »

Atom: полезные плагины

8 апреля 2019
 

 Давно пользуюсь vim практически для всего, кроме крупных проектов на Python (которые последнее время случаются крайней редко), для которого использую PyCharm. Тот же PyCharm использую при написании JSON-шаблонов для CludFormation (см. плагин aws-cloudformation). Для Go сначала пользовался vim с плагином vim-go, но недавно потрогал Atom — вполне понравился, попробую исопльзовать его. Собственно в этом посте… Читать далее »

JetBrains Upsource: установка и запуск на Linux с NGINX и SSL

2 апреля 2019
 

 Upsource — система от JetBrains для код ревью, который через плагин интегрируется во все IDE от JetBrains. Представляет собой Java-приложение с Apache Cassandra в роли локального хранилища данных и индексов. Минимальные требования к машине, на которой будет запускаться — 8 ГБ памяти, что, впрочем, не удивительно. До 10-ти пользователей — бесплатна. В этом посте —… Читать далее »

Redis: репликация, часть 3 — redis-py и работа с Redis Sentinel из Python

1 апреля 2019
 

 В продолжение постов о настройке и использовании Redis репликации с использованием Redis Sentinel — пример работы из Python. Предыдущие и последующие посты серии: Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel Redis: репликация, часть 4 — написание Ansible роли… Читать далее »

Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel

29 марта 2019
 

 Продолжение серии по Redis репликации. Первая часть — Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Третья часть — Redis: репликация, часть 3 — redis-py и работа с Redis Sentinel из Python. Чертвёртая часть — Redis: репликация, часть 4 — написание Ansible роли. Собственно, вся история началась с того,… Читать далее »

Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis.

29 марта 2019
 

 Изначально планировался один небольшой пост с примером создания Redis-репликации, но по мере углубления в детали — захотелось описать всё больше и больше, а потому разбил материал на две части. В этой, обзорной — общие сведения, разница между различными типами хранения данных в Redis, примеры топологии. Достаточно кратко, но со ссылками на детальную документацию, плюс ссылки… Читать далее »

Jenkins: your Jenkins data directory is almost full и автоматическая очистка диска

27 марта 2019
 

 Есть Jenkins, на котором имеется пачка билдов проекта. Спустя какое-то время — появилось сообщение вида: Jenkins: your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full Проверяем диск с помощью ncdu, и находим несколько джоб, которые отжирают много места, например: Кучу места занимают логи: И билдов много, и в каждой хранится такой лог. Самый простой… Читать далее »

Prometheus» Alertmanager — отправка алертов в «/dev/null»

26 марта 2019
 

 В дополнение к посту Prometheus: роутинг алертов в Alertmanager. Имеется конфиг с роутами. Задача — вырезать все алерты от Дев-а, и слать в «/dev/null». Для этого — создаём пустой ресивер: … receivers: — name: ‘blackhole’ — name: ‘default’ slack_configs: — send_resolved: true title_link: ‘http://dev.monitor.example.world/prometheus/alerts’ title: ‘{{ if eq .Status «firing» }}:confused:{{ else }}:dancing_panda:{{ end }}… Читать далее »