Promethues оповещение через Telegram.

Расскажу про alert систему promethues и оповещение через telegram. На заре прометея с оповещениями было прямо сложно. Нужно было что-то костылить и использовать сторонние инструменты. Единственное, что хорошо работало из коробки это email и slack. Но в большинстве случаев все это не требуется, а хочется просто получать сообщения в telegram. С недавнего времени, прометей умеет […]

CockroachDB это вам не PostgreSQL

Сегодня хотел бы поделиться своими ощущениями о CockroachDB. Это распределенная (и как заверяют авторы, именно – распределенная), масштабируемая и «не убиваемая» база данных. На период 2023 года, база находится уже в стабильном релизе и доступна как на официальном сайте разработчиков так и на docker hub. По уверению разработчика CockroachDB сочетает в себе все преимущества и некую метаморфозу между […]

Pelican — Static site generator

Не так давно, я искал простой инструмент для создания легкой вики, куда бы я мог записывать заметки о текущей работе, что-то, что может легко вылететь из головы и потом трудно будет вспомнить. Основным требованием было: В процессе поиска я нашел прекрасный https://www.bookstackapp.com/, но он не отвечал второму второму пункту, конечно есть docker, и на сайте […]

Prometheus snmp или как я писал свой exporter…

Встала необходимость поставить на мониторинг QNAP, гугл ответил что есть прекрасный prometheus snmp exporter https://github.com/prometheus/snmp_exporter, зашел, почитал, в целом все понятно. Что нужно? Нужно создать конфигурацию на основе MIB с помощью так называемого SNMP Exporter Config Generator, его надо собрать на Go или воспользоваться docker контейнером, все это описано в репозитории. Я скачал необходимый мне […]

WebDAV или альтернатива FTP, свое облако.

В реалиях сегодняшнего мира, файлы хочется хранить там, где они будут доступны для всех устройств, желательно с возможностью подключать это пространство как диск или как облачную папку. Конечно есть Dropbox и другие сервисы, но как на счет чего-то своего? Ну, тогда есть Seafile или OwnCloud, но и то и другое требует и базы данных и […]

FreeBSD policy based routing или 2 провайдера.

К сожалению, даже в текущем 2022 году, особенно ничего не изменилось в лучшую сторону для FreeBSD, хотя, привезли nat global и setfib. Подробнее об этом можно прочитать в документации. Но, даже там, не будет полной информации о том, как это на самом деле работает. Как бы не было печально, но до сих пор BSD не […]

Fluent Bit, Graylog, Docker сбор логов с контейнеров.

Сегодня хочется поделиться о том как собирать и парсить логи в современном мире. На сайте уже есть одна статья о Fluent Bit, но сегодня речь пойдет о GrayLog. Мы не затрагиваем тему сравнений агрегации логов или сравнении программных продуктов для этого. Это в первую очередь опыт работы с конкретным продуктом. Как уже повелось, все действия […]

Установка и настройка Bind DNS.

Сегодня погорим о DNS, сейчас, конечно, более актуальным является PowesDNS, хотя бы за счет того, что он имеет API и к нему есть не мало хороших веб интерфейсов, что делает его куда более привлекательным в сравнении с Bind, но и у PowerDNS есть свои недостатки. Сегодня мы поговорим именно о Bind DNS. И поговорим о […]

Linux iproute — сети с разными шлюзами

Бывают ситуации когда необходимо получить доступ к серверу с разных сетей, например: у нас есть сервер под управлением Ubuntu или скажем CentOS, у него есть один интерфейс, а может быть два. У нас есть один внешний адрес, и есть один внутренний который через NAT выпускает нас в интернет. Например, на шлюзе где расположен локальный адрес […]

Docker User-map запускаем docker от локального пользователя

Недавно задался вопросом одного пользовательского пространства для Docker, можно конечно использовать проброс папок (/etc/passwd, /etc/shadow, /etc/groups) и т.д., но мне этот метод показался не очень удобным, по этому я обратился к документации: https://docs.docker.com/engine/security/userns-remap/ последовав документации внес изменения в демон docker-а: Но к сожалению при запуске понял что минимальный uid должен начинаться с 100000. А мой […]

Fluent Bit, Elasticsearch, Kibana или легко о логах, часть 2.

В предыдущей статье: https://blog.yakunin.dev/fluent-bit-docker-install/ мы рассматривали установку и настройку Fluent Bit. Как его установить, настроить парсинг логов, куда их передавать и как работать. В этой статье опишем его связь с Elasticsearch и Kibana для визуализации логов. Так как в прошлой статье мы запускали стек в Docker, продолжим эту славную традицию. И так, добавляем в docker-compose.yml […]

Шифрование на Python.

Совсем недавно встала задача передать свой приватный ключ от ssh на другой компьютер, а возможно даже и положить его в приватный git репозиторий. Как быть? Есть несколько вариантов, например, использовать ansible vault, если никогда не слышали об этом почитайте. Полезно. В том числе и для шифрования файлов самого ansible. Но что по мне, так это […]

Fluent Bit или легко о логах… часть 1.

В современном мире, меня, больше всего огорчает бесконтрольное использование памяти или вообще халатное к ней отношение. Я вырос в то время когда за каждый килобайт программисты боролись. А сейчас для многих 4 Gb это ерунда. Но сегодня речь не о разработке и памяти, а о логах. Тогда при чем тут память? А память тут вот […]

WireGuard/FreeBSD установка и настройка.

На написание этой статьи меня толкнул комментарий оставленный под другой статьей. И вот я решил проверить как сейчас обстоят дела с WireGuard на FreeBSD. Особенно после большой шумихи с портированием этого продукта на BSD. И так. Имеем: Мы не будем собирать ядро в рамках этой статьи, все модули которые нам понадобятся будем подгружать динамически. А […]

FreeBSD/Fail2ban/IPFW

Когда я начинал свой путь в этой операционной системе, то даже в официальной документации, в качестве сетевого фильтра указывают ipfw. Правила его довольно интуитивны, но что бы сразу разобраться, особенно с NAT будет не просто. Я всегда иду от «паранойи», то есть нужно закрыть все и всем и открывать только по мере необходимости. Но первое […]

Ещё раз o regexp…

Как показала практика тема эта для многих интересна. Что ж, пожалуй стоит написать об этом ещё немного. Сегодня на примере разберем стандартный syslog, напишем простой парсер на Python с выводом обработанного текста в JSON. И так, начнем. Допустим что наш файл syslog содержит только следующие строки: В данном случае строку будем разбирать на 5 блоков, […]

Docker health, здоровый взгляд.

Замечательная функция healthcheck имеется в инструментарии docker, на её основе kubernetes совершает множество действий над подами (контейнерами), например заменяет в реальном времени вышедший из строя контейнер. Я же хочу показать как можно пользоваться этими инструментами вне kubernetes. Для чего? Например что бы связывать контейнеры между собой в определенной последовательности или мониторинга состояния единичного сервиса. Для […]

Удаленный доступ к Docker over TLS

Иногда удобно получать доступ к инфраструктуре удаленно, но при этом безопасно. Возможно для мониторинга, или оперативного вмешательства либо по другим причинам. Получить доступ к API Docker-a, конечно. Для начала сгенерируем сертификаты: Создаем корневой сертификат, его будем использовать для выпуска и подписи а так же верификации (сертификат выпускаем сроком на 10 лет, параметр -days): Для дальнейшей […]

FreeBSD, StrongSwan гордый лебедь…

В рабочем процессе встала задача установить IPSec туннель c IKEv2. По условиям, партнер прислал конфигурацию ipsec.conf, со своей стороны мы сгенерировали сертификаты, ключи и все что необходимо, запускали изначально на Ubuntu 20.04, ядро 5.4.0-86. Версия StrongSwan 5.8.2. После настройки и установки системы все поднялось и работало, мы перешли к тестированию, через некоторое время систему начало […]

Firewall и безопасность в VMWare ESXi

Я всегда говорю что безопасность в системах должна исходить от паранойи. Лучше закрыть все изначально и открывать только там где это потребуется, чем получить брешь в безопасности и потерять контроль над какой-либо системой. По этому, закрываемся и разрешаем только то, что нам нужно и кому нужно. Небольшое отступление, хорошей практикой является если мы не «выставляем» […]