Без рубрики

Скрипт проверки GitHub rate limit

GitHub API имеет лимиты на запросы в час — 12 500 максимум и 5000 на одного пользователя. В некоторых случаях количество лимитов недостаточно и вам необходимо знать текущий баланс кредитов. Для проверки таких «кредитов» на API запросы напишем небольшой bash…
Read more

Подсветка текста в Bash скриптах

Удобный сниппет для подсвечивания текста разными цветами в bash скриптах, рассмотрим пример: Создадим файл t.sh: #!/usr/bin/env bash red=$’\e[1;31m’ grn=$’\e[1;32m’ yellow=$’\e[1;33m’ white=$’\e[0m’ echo «$yellow [WARN] Hello world! $white»; echo «$red [ERR] Hello world! $white»; echo «$grn [INFO] Hello world! $white»; Итого…
Read more

Мониторинг Nginx при помощи stub_status и Prometheus Exporter. Часть 2

Для получения данных с Nginx status монитора в Prometheus необходим запуск Prometheus exporter в Kubernetes кластере. Напишем deployment манифест для запуска экспортера в Prometheus. Создадим файл exporter.yaml: apiVersion: apps/v1beta1 kind: Deployment metadata: name: nginx-prometheus-exporter spec: replicas: 1 template: metadata: labels:…
Read more

Мониторинг 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 адреса: func readUserIP(r…
Read more

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

Ниже приведены быстрые инструкции по обновлению bitcoind сервера: $ wget https://bitcoincore.org/bin/bitcoin-core-0.19.1/bitcoin-0.19.1-x86_64-linux-gnu.tar.gz $ tar -zxvf bitcoin-0.19.1-x86_64-linux-gnu.tar.gz $ mv ~/bitcoin-0.19.1/bin/bitcoind /usr/bin/bitcoind $ mv ~/bitcoin-0.19.1/bin/bitcoin-cli /usr/bin/bitcoin-cli Останавливаем сервер:  bitcoin-cli stop Далее проверяем bitcoin.conf в ~/.bitcoin папке: rpcuser=user rpcbind=127.0.0.1 rpcpassword=pass rpcport=8332 rpcallowip=127.0.0.1 server=1 shrinkdebuglog=1 prune=5500 keypool=100…
Read more

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

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