No description
Find a file
byrsapty 04e1242c52
All checks were successful
CI / hygiene (push) Successful in 8s
CI / web (push) Successful in 1m10s
CI / server (push) Successful in 1m41s
CI / agent (push) Successful in 59s
Журнали файлами, тонший штрих мінікарти
ФАЙЛИ В /var/log/netpulse. rsyslog читає journald і розкладає по файлах
на службу. Драйвер docker лишається journald, а не syslog: syslog
віддав би рядки назовні й нічого не лишив докеру, тож `docker logs`
замовк би назавжди — і мовчання виглядало б як «служба нічого не пише».
Тепер працюють усі три шляхи: docker logs, journalctl, файли.

Дорогою три власні помилки, кожна виглядала як «rsyslog не працює»:

  1. Умова матчила $!CONTAINER_NAME — метадані журналу. journalctl їх
     бачить, а до правил rsyslog вони доходять не завжди. Каталог
     створювався й лишався порожнім.
  2. Тег «netpulse/{{.Name}}» здавався охайнішим, але rsyslog обриває
     programname на скісній: для ВСІХ контейнерів вона ставала просто
     «netpulse». Тег тепер — саме ім'я контейнера, воно й так має
     префікс проєкту.
  3. Шаблон `%msg:::sp-if-no-1st-sp,drop-last-lf%` давав ПОРОЖНІЙ
     текст: файли були, рядки були, слів не було. Журнал виглядав
     робочим і не містив нічого — найгірший різновид поломки.

Конфігурації в deploy/, щоб їхали клієнтам, а не лишались разовим
налаштуванням одного сервера.

МІНІКАРТА. Штрих рядка був 2 px при 3 px на рядок — просвіт в один
піксель. На дробовому масштабі екрана (1.25, 1.5 — тобто на більшості
ноутбуків) він губився при округленні, і рядки злипались у суцільну
пляму: мінікарта показувала не форму конфігу, а сірий прямокутник.

Тепер штрих 1 px, просвіт удвічі товщий за нього й переживає будь-яке
округлення. Малюнок став блідішим — це правильний бік розміну: на
мінікарту дивляться, щоб побачити структуру, а не прочитати текст.
2026-08-27 22:55:29 +03:00
.claude Стеля журналів, терплячіша самоперевірка, Етап 13 у плані 2026-08-27 21:52:27 +03:00
.forgejo/workflows Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
agent Трапи: приймач каже про готовність тоді, коли справді готовий 2026-08-27 18:11:23 +03:00
db Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
deploy Журнали файлами, тонший штрих мінікарти 2026-08-27 22:55:29 +03:00
gen/go Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
proto Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
scripts Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
server Журнали файлами, тонший штрих мінікарти 2026-08-27 22:55:29 +03:00
test/contract Етап 2: сервер сам заводить snmp.if-чеки з виявлених інтерфейсів 2026-08-14 15:10:02 +03:00
web Журнали файлами, тонший штрих мінікарти 2026-08-27 22:55:29 +03:00
.gitattributes Нормалізувати кінці рядків: у репозиторії LF 2026-08-14 03:28:56 +03:00
.gitignore Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
buf.gen.yaml Етап 1-2: схема БД та protobuf-контракт агент-сервер 2026-08-14 03:28:40 +03:00
buf.yaml Етап 1-2: схема БД та protobuf-контракт агент-сервер 2026-08-14 03:28:40 +03:00
docker-compose.yml Стеля журналів, терплячіша самоперевірка, Етап 13 у плані 2026-08-27 21:52:27 +03:00
HISTORY.md Дві сесії роботи: 0058–0068, розгортання однією командою, тести 2026-08-27 17:32:49 +03:00
netpulse Стеля журналів, терплячіша самоперевірка, Етап 13 у плані 2026-08-27 21:52:27 +03:00
netpulse.conf.example Білінг, SLA, вбудовані правила, пісочниця установника, тести сторінок 2026-08-27 21:17:23 +03:00
ROADMAP.md Стеля журналів, терплячіша самоперевірка, Етап 13 у плані 2026-08-27 21:52:27 +03:00