Мониторинг Nginx при помощи stub_status и Prometheus Exporter

Не так давно возникла задача мониторинга проекта, который не бежит внутри Kubernetes и простые настройки Prometheus не совсем подходят. Знать нагрузки на сервис интересно, но не хочется много накручивать и писать дополнительный код (к тому же проекты работают весьма успешно…
Read more

Golang — использование rate limiter в коде

Rate limiting — ограничение скорости запросов в определенной системе. К примеру вы можете поставить ограничения на ваш веб сервер — не более 10 запросов в секунду. Возможно создание ограничения только для определенного клиента или типа машины. В Golang добавление rate limit…
Read more

Golang — функция вывода user IP

В случае использования вашего приложения через load balancer или через различные прокси вида Cloudflare задача вывода клиентского IP адреса заключается в правильной выборке header. От X-Real-Ip до CF_CONNECTING_IP или же X-Original-Forwarded-For. Для этого я написал простую функцию по выборке IP адреса:

Алгоритм…
Read more

Golang — Вывод POST response в fmt.Println

Сниппет для вывода запроса при отладке:

 

Конфигурация и настройка rippled кошелька

Шаг 1. Установка Требования к установке: минимум 16 GB памяти и от 100 GB свободного места. Пример установки на Ubuntu 20.04:

Шаг 2. Настройка конфигурации Пример конфигруации /etc/opt/ripple/rippled.cfg:

Шаг 3. Запуск

После запуска rippled сервиса может потребоваться…
Read more

Обновление Bitcoind сервера до 0.19

Ниже приведены быстрые инструкции по обновлению bitcoind сервера:

Останавливаем сервер:

Далее проверяем bitcoin.conf в ~/.bitcoin папке:

По сравнению с прошлыми версиями в конфигурационный файл был добавлен параметр rpcbind — устанавливает на какой адрес «повесить» bitcoind сервер. И…
Read more

Используем UFW firewall в Ubuntu

UFW или uncomplicated firewall —  утилита для конфигурирования межсетевого экрана. Написана командой Canonical и встроена по-умолчанию в Ubuntu. При помощи своей простоты позволяет быстро настроить сервер для противодействия разным атакам. Установлен ufw обычно из коробки. Чтобы проверить статус работы достаточно написать:


Read more

Форматирование даты во VueJS с MomentJS

Волей судьбы начал работать плотно с фронтендом для проектов. Выбор пал на лёгкий в освоении VueJS. В качестве одной из задач стоял вывод даты в определенном удобным человеку формате (вместо 2020-05-10T21:43:32.545448Z). Для этого используем Moment JS:

И далее в…
Read more

GitHub API — полезные примеры curl запросов с releases API

Очередная подборка полезных curl запросов для работы с GitHub API: Получить объект release с выбранным tag_name:

Получить uploadUrl для загрузки нового asset в данный release объект:

Удаление asset из release:

Для работы bash снипетов необходимо установить расширение…
Read more

Unit тесты для zap логгера в Golang

Zap — популярная в Go лог система, написанная убером. Задача, которая однажды встала передо мной — как проверить что все нужные сообщения логгера  были вызваны в коде? Для этого я нашел решение как сам zap тестирует свою логику — при…
Read more