Поиск по блогу

пятница, 1 июля 2022 г.

Обновления репозитария - июль 2022

Добавил в свой репозитарий поддержку Ubuntu Jammy (22.04) и собрал пакеты Midnight Commander 4.8.28 для архитектур amd64, armhf и arm64.

Удалил Debian Stretch (LTS поддержка закончилась вчера) и Ubuntu Hirsute (поддержка закончилась еще в январе, но руки не доходили заняться).

четверг, 23 июня 2022 г.

Настройка Google Cloud Ops Agent для Nextcloud

В процессе настройки отправки логов Nextcloud в Google Cloud Logging довелось поработать с Google Cloud Ops Agent. Это относительно новый агент, который отвечает и за логи и за метрики.

Nextcloud пишет структурированные логи в JSON формате так что возиться с регулярками не придется. Одна запись выглядит примерно так:

{
  "reqId": "fA6aIAL7fObKyDA2YeDq",
  "level": 2,
  "time": "2022-06-21T06:55:18+00:00",
  "remoteAddr": "",
  "user": "--",
  "app": "news",
  "method": "",
  "url": "--",
  "message": "https://[skipped]/data/rss read error : Server error: `GET https://[skipped]/data/rss` resulted in a `500 Internal Server Error` response:\n<html>\r\n<head><title>500 Internal Server Error</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>500 Internal Server E (truncated...)\n",
  "userAgent": "--",
  "version": "23.0.5.1"
}

Для начала нужно вытащить timestamp и severity. Timestamp буду брать из поля time, а severity из поля level, но для level потребуется преобразование из значения Nextcloud в значение Google LogEntry:

среда, 22 июня 2022 г.

Настройка Nextcloud для работы с Redis

В процессе настройки Nextcloud для работы с Redis на нескольких серверах столкнулся с тем, что в phpredis есть нюансы с поддержкой TLS для PHP сессий.

В phpredis есть два session handler'а:

  • session.save_handler = redis
  • session.save_handler = rediscluster
В phpredis 5.3.2 в реализацию PHP сессий для rediscluster добавили поддержку TLS, но в обычном redis ее по-прежнему нету.

Пришлось отключить TLS в сервере Redis чтобы не городить отдельное решение для PHP сессий. На всякий случай оставлю тут настройки:

config/config.php

'redis' =>
  array (
    'host' => 'redis.example.com',
    'port' => '6379',
    'password' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  ),
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => 'true',

php.ini

redis.session.locking_enabled=1
redis.session.lock_retries=-1
redis.session.lock_wait_time=10000
session.save_handler = redis
session.save_path = "tcp://redis.example.com:6379?auth=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Документацию по настройке Redis для Nextcloud можно найти тут.

вторник, 7 июня 2022 г.

Terraform: could not connect to registry.terraform.io

С некоторых пор из-за санкций в Беларуси есть проблемы с доступом к зарубежным ресурсам и в частности с выкачиванием провайдеров Terraform:

$ terraform init

Initializing the backend...

Initializing provider plugins...
- Reusing previous version of hashicorp/google from the dependency lock file
╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/google: could not connect to registry.terraform.io: Failed to request discovery
│ document: 403 Forbidden
╵

Заход в документацию из браузера также блокируется

Самым простым решением будет использование VPN из другого региона, но если такой вариант по каким-либо причинам не подходит, но есть SSH доступ к внешнему хосту в "правильном" регионе, то выкрутиться можно так:

вторник, 29 марта 2022 г.

Midnight Commander 4.8.28

Собрал пакеты Midnight Commander 4.8.28 для Debian/Ubuntu с архитектурами i386, amd64, armel, armhf и arm64. Пакеты для i386 и armel есть только в тех дистрибутивах, где они поддерживаются официально (в свежих Ubuntu их нету).

Инструкция по подключению репозитария. Больше информации о бинарных сборках Midnight Commander можно найти на странице https://midnight-commander.org/wiki/Binaries.

воскресенье, 6 февраля 2022 г.

Тестирование лабораторного блока питания

В прошлом посте я описывал постройку линейного лабораторного блока питания. Сейчас я поделюсь результатами нагрузочного тестирования и доработками.

Сперва проверил точность отображения напряжения и тока - показания сравнивал с мультиметром Zoyi ZT102. Для напряжения результаты получились не очень, т.к. индикация начинается где-то от 350мВ (до 350мВ вольтметр блока питания показывает 0.00) и вначале показания занижаются где-то до 6В, а затем завышаются. С измерением тока картина лучше - показания завышаются от 5мА до 20мА в зависимости от тока.

понедельник, 10 января 2022 г.

Лабораторный блок питания

Завершил сборку нового лабораборного блока питания на 30В/3А. В отличии от моего предыдущего лабораторника, который работает в импульсном режиме и способен выдавать до 23В и 5А, новый работает в линейном режиме, расчитан на большее напряжение, не дает помех в нагрузку и хорошо ограничивает ток.