Добавление поля service_name в логи docker с помощью Fluentd

Если использовать docker swarm, docker отдаёт json с полями log, container_id и container_name. В Graylog, Kibana если нужно получить лог по определённому контейнеру, то приходится фильтровать по container_name. Но при рестарте сервиса имя контейнера меняется и query превращается в тыкву. Да и каждый раз нужно искать новое имя контейнера. Показываю, как вытащить имя сервиса из container_name с помощью filter в fluentd. И добавить отдельным полем, по которому можно будет нормально фильтровать....

9 December 2022 · 2 min

Точечная маршрутизация на роутере с OpenWrt. Часть 2: Поиск и исправление ошибок

Почти 4 года назад я опубликовал обучающую статью-мануал о том, как на роутере с OpenWrt можно организовать роутинг для определенных подсетей. Всё это время мне много писали с просьбой помочь: не у всех всё заводилось с первого раза. Поэтому я решил написать материал, как самостоятельно искать, в чём именно проблема на роутере. В этой части разберёмся, что именно не работает, и как это исправить. Первая часть. Установка и настройка Написав тот материал, я рассчитывал что им будут пользоваться люди, связанные с ИТ....

29 November 2022 · 15 min

Установка и настройка Wireguard клиентов на Android, iPhone, Windows, Linux, MacOS

Для всех инструкций у вас должен быть на руках конфиг от человека, который держит Wireguard сервер. Конфиг или файл конфигурации - это файл, содержащий в себе настройки для подключения к серверу. Он удобен тем, что его можно просто импортировать в приложение и оно настроится автоматически. Для каждого устройства лучше иметь отдельный конфиг. Если вы подключитесь с двух устройств с помощью одного конфига, то произойдёт коллизия и как минимум одно устройство не сможет подключиться....

17 April 2022 · 7 min

Миграция блога с Wordpress на Hugo

Есть два варианта переноса: ручной и автоматизированный. Опишу автоматизированный, но на деле всё равно это полуручной режим, если конечно хотим получить что-то нормальное на выходе. Пока что единственный конвертер из WP в Hugo это https://github.com/SchumacherFM/wordpress-to-hugo-exporter Он представляет из себя wordpress плагин, который устанавливается из файла. Настроек экспорта нет, работает просто по кнопке, после нажатия на которую скачивается архив с блогом уже в синтаксисе Hugo. Ещё есть cli скрипт, возможно кому-то будет более подходящим....

28 September 2021 · 4 min

Загрузка Windows в Coreboot на примере Lenovo x220

Всё разбирается на примере Lenovo x220 с уже прошитым Coreboot и установленной Ubuntu. Blob уже файлы извлечены. Для работы с Linux Coreboot надо подсунуть просто три blob файла из оригинальной прошивки flashregion_0_flashdescriptor.bin flashregion_2_intel_me.bin flashregion_3_gbe.bin Linux’у не требуется VGA драйвер BIOS для загрузки, а вот Windows без этого не может. Последовательность действий: sudo apt install -y bison build-essential curl flex git gnat-5 libncurses5-dev m4 zlib1g-dev git clone https://review.coreboot.org/coreboot cd coreboot git submodule update --init --checkout...

17 August 2021 · 2 min

Acme.sh + Ansible + Alias mode: Автоматизируем получение и распространение TLS сертификатов

Acme.sh — скрипт, позволяющий без особых проблем получать let’s encrypt сертификаты очень разными способами. В данной статье я разберу как получать сертификаты через DNS api, но этим уже никого не удивишь, поэтому расскажу про метод DNS alias, он свежий (всего 3 года ) и интересный. А так же про автоматизацию на Ansible и немного про мониторинг сертификатов. Видеоверсия Режимы получения сертификатов Режимы acme.sh получения сертификатов прямо на целевом сервере Webroot Nginx\Apache Standalone Режимы хорошие и удобные, когда у вас один — два сервера и можно просто на каждый установить acme....

9 June 2021 · 16 min

Точечная маршрутизация на роутере с OpenWrt. WireGuard и DNSCrypt

Данный материал не является призывом к действию и публикуется исключительно в образовательных целях. UPD 14.10.2023 Эта статья немного устарела. Здесь можно узнать, как использовать готовые списки IP-адресов, что не совсем актуально. Актуальная статья с маршрутизацией по доменам: Маршрутизация по доменам на роутере с OpenWrt UPD 16.10.2022 Исправлены конфиги для Openwrt 22 Добавлен community список В скрипт добавлена проверка загрузки файлов. Которая решает проблему, если при старте устройства не удалось сразу загрузить списки DNSCrypt изменён на DNSCrypt v2 UPD 15....

24 January 2019 · 14 min

Обновляем php7.0 до php7.1 в связке с Nginx на Ubuntu 16.04

Для начала убедитесь что ваш CMS\код\итд совместим с новой версией. Глянуть текущую версию php -v В репах 16ой убунты нет 7.1 и 7.2, убедитесь в этом sudo apt-cache policy php Посмотреть какие пакеты у вас установлены для работы с php7.0 dpkg -l | grep php7.0 Копируйте, заменяйте версию на 7.1. Надо все эти пакеты будет установить с новой версией Добавляем репу, где есть всё для 7.1 (даже 7.2): sudo add-apt-repository ppa:ondrej/php...

23 August 2018 · 2 min

VyOS wan load-balancing проверки интерфейсов, правила балансировки

У VyOS есть замечательная функция балансировки нагрузки между несколькими провайдерами. Очень хорошо кастомизируется под ситуацию. В официальной документации довольно неплохо описаны основные возможности. Я в свою очередь немного расскажу о своём опыте и о правилах балансировки, которые вам точно понадобятся. Проверка интерфейсов Что бы занести интерфейсы провайдеров в балансинг, нужно использовать команду set load-balancing wan interface-health $interface Пример конфигурации интерфейсов с двумя провайдерами 10.10.1.1 — шлюз первого провайдера, 10.10.2.1 — шлюз второго провайдера....

6 June 2018 · 6 min

System.run в Zabbix на примере мониторинга кластера Proxmox

System.run довольная простая, но в то же время очень полезная проверка. Прямо в гуе заббикса в активной проверке указываем system.run(команда) и получаем её вывод. Получается, с помощью этой проверки мы можем получать какие угодно метрики и состояния, которые можем получить из комадной строки. И это всё «от и до» в веб-гуе заббикса, в отличие от UserParameter. Самое важное, что можем узнать о кластере из комманды pvecm: Статус кластера Количество нод в кластере Активные ноды Зафейленые ноды Все значения переменных я получал эксперементальным путём, выключая ноды....

5 June 2018 · 2 min