lesovsky_me


Гео и язык канала: не указан, не указан
Категория: не указана


My personal blog, notes, thoughts, etc.

Связанные каналы  |  Похожие каналы

Гео и язык канала
не указан, не указан
Категория
не указана
Статистика
Фильтр публикаций


Проводил тут "научные изыскания", где в числе прочих задач нужно было синтетически воспроизвести нагрузку записи WAL в PostgreSQL. Очевидным выбором был fio, после чего осталось подобрать опции.

Через strace посмотрел вызовы которые делает постгресовый бэкенд при записи WAL, немного чтения man fio и получил такое:

fio --name=wal-test --rw=write --ioengine=psync --fdatasync=1 --directory=/test --size=32m --bs=8192
где:
--rw=write - последовательная запись (характерная для WAL)
--ioengine=psync - использовать синхронные pread/pwrite вызовы
--fdatasync=1 - использовать вызовы fdatasync после записи
--directory=/test - каталог куда смонтирована ФС с тестируемым хранилищем
--size=32m - объем всего IO который нужно сделать в тесте
--bs=8192 - размер одной операции записи; может быть и больше, но кратно 8192

По отношение size/bs можно посчитать сколько вызовов write/fdatasync будет сделано, на основе статистики их выполнения будет сделан итоговый отчет fio.


Репост из: DevOps&SRE Library
HTTP Status Codes

httpstatuses.com is an easy to reference database of HTTP Status Codes with their definitions and helpful code references all in one place.

https://httpstatuses.com


Инструмент для слайдов на основе markdown - https://marp.app.
В плане IDE есть поддержка только VSCode, для остальных случаев видимо только CLI - https://github.com/marp-team/marp-cli.


Жесть, сегодня я получил удар ниже пояса. Вышел релиз patroni 2.1.0. И что я вижу в release notes:

Added Prometheus /metrics endpoint (Mark Mercado, Michael Banck)
The endpoint exposing the same metrics as /patroni.

хммм :) Я буквально на прошлой неделе запилил сбор метрик Patroni в pgSCV и тут оно стало не нужно. Ладно хоть в отдельной ветке.

Единственное утешение - эти бракоделы не удосужились добавить таймстемп последнего файловера из истории.


Подсказали тут годный ресурс для рисования простых диаграм в стиле кабак-салфетка-карандаш - https://excalidraw.com/


Добавлял тут в pgSCV поддержку basic auth и TLS. И прям неожиданно свалилась прекрасная статья о том как это делать правильно.

Оказывается есть нюансы, от очевидных до не очень.
Во-первых нет смысла использовать basic auth без TLS. Оно и понятно, креды кодируются base64 и передаются в HTTP заголовке - такое я перехватывал еще Каином в незапамятные "двухтыщные", чувствуя себя кул-хацкером.

Во-вторых, менее очевидное, но вполне логичное это тайминговые атаки на авторизацию. Суть коротко в том что сверка секрета и пришедшей строки, делается сервером посимвольно, и при генерации тонн запрсов на авторизацию, на основе времени ответа можно со временем вычислить пароль. В целом для pgSCV это не так важно (пожалуй метрики не столь важная и секретная инфа чтобы так заморачиваться с безопасностью), но для приложений где есть доступ к более чувствительно инфе, это стоит предусмотреть.

В-третьих (не совсем относится к авторизации), узнал про mkcert, небльшую тулзу с помощью которой в пару команд можно запилить локальный CA и выпускать свои сертификаты.

Вобщем годная статья, сохранил сюда.


Выпустил pgSCV v0.6.0.
В новом релизе сделал поддержку environment variables. Это делает запуск pgSCV в контейнерах еще проще - не надо возиться с YAML конфигом и прокидыванием его в виде вольюма (типа одной сущностью меньше).

Вторая фича это фильтры - позволяют фильтровать метрики на основе значений в метках. Частный пример - можно убрать метрики, где в метке database встречаются имена тестовых или staging баз, ну и т.п. Раньше фильтры работали только для ограниченного списка коллекторов, теперь все коллекторы умеют использовать фильтры.

В остальном там мелкие фиксы и мелкие внутренние переделки которые не затрагиваются совместимость.


Ха, как же я забыл написать об этом :) Неделю назада выложил обновление https://pgstats.dev. Это один из моих проектов - там внутреннее устройство PostgreSQL и инструменты с помощью которых можно мониторить отдельные компоненты Postgres'а.
Обновление затрагивают как внутреннее устройство так и внешний вид:
1. вместо чистого VueJS там теперь NuxtJS и статическая генерация - чтобы сделать сам сайт легковесным и отзывчивым.
2. Также обновил ECharts до 5.0.
3. По внешнему виду - добавил выравнивания для подписей, убавил контрастности, в разделы описаний добавил новые секции в которые планируется добавлять контент.
В общем результатом готов, следующий апдейт будет скорее после выход PostgreSQL 14 Beta 1 когда будет хоть какая-то гарантия что стата в версии 14 зафиксирована и не исчезнет.


Выложил pgSCV в open source. pgSCV это агент мониторинга моего проекта. Основные фичи:
- отдача метрик в prometheus формате
- сбор системных, postgres'овых, pgbouncer'ных метрик
- авто-обнаружение сервисов в локальной системе
- умеет собирать метрики с удаленных хостов
- опциональное авто-обновление (для пользователей weaponry)
- написан на Go, покрыт тестами, прикручены релизы и rpm/deb/tgz пакеты.

p.s. Имя агента - отсылка к SC2.


Jonathan Schwabish планирует в феврале книгу - Better Data Visualizations. В связи с этим он запустил серию видео One Chart at a Time в которых он и его коллеги по индустрии рассказывают о разных типах визуализации данных. Пока в плэйлисте 14 видео, планируется выпустить 50.


Первая заметка о недавно прочитанной, нет - пролистанной книге. Нейтан Яу, Искусство визуализации в бизнесе, 2013.

Работая над Weaponry мне пришлось работать с визуализацией данных - графики, чарты и т.п. Я заранее знал что сделать хороший график это дело не самое простое, поэтому решил почитать умных книг. Составил подборку и начал с Нейтана Яна. Резюме - не понравилось.
В книге смешано два направления - 1) как правильно делать графики, 2) как их реализовывать в R, Python, Illustrator. Я ожидал именно первого, но наличие второго направления отбило все желание читать книгу полностью, поскольку это совершенно не мой набор инструментов. Причем когда автор пишет как пользоваться ими он небольшими крупицами пишет в чем выигравает конкретный график и выискивать эти крупицы очень сложно. Вобщем я прочитал только введения в главах, а описания реализаций практически полностью пролистал. Увы.


О чем: в этом канале я планирую писать разные заметки связанные технической стороной моей деятельности. Заметки о технологиях, прочитанных книгах, проектах над которыми я работаю.
Зачем: иногда хочется подвести какие-то итоги или наборот дать старт чему-то новому.



Показано 13 последних публикаций.

2

подписчиков
Статистика канала