Rasadnik Milić · Plant Garden · status

Nova infrastruktura

Tri grupe, tri sloja repozitorija i jedan zajednički stroj — flora-nexus — za nadzor, sigurnosne kopije i povrat sva tri imanja.

Zatečeno stanje izmjereno 19. rujna 2026. na živom rasadnik-nexusu 21 od 34 scrape cilja mrtvo · retencija logova ne briše ništa pet mjeseci Nijedna brojka ovdje nije procijenjena — svaka ima naredbu iza sebe Metrike se ne sele — vlasnikova odluka Tri grupe na GitLabu: rasadnik-milic · self-legal1 · plant-garden

Ovo je spremno, ali nije na redu. Vlasnikov redoslijed od 19. rujna 2026. stavlja nexus iza pet koraka koji moraju doći prvi: CI/CD dovršen → API na dev-platform.plant-garden.com → Pages na dev-v2.plant-garden.si → test → brzina pipelinea. Tek onda nexus, nadzor nad svime, pravi produkcijski katalog, frontend i CMS.

Promptovi 20a i 21a su napisani i spremni — i to je upravo razlog zašto se dvaput uzelo prvo ono što nije na redu. Spreman prompt izgleda kao sljedeći korak. Nije.

Jedna stvar ipak čeka baš ovdje. Brana pred migracijom izvađena je iz flora-deploya 19. 9., jer deploy koji odbija poći bez dokazanog backupa — dok iza tog uvjeta ne stoji stvarna pohrana — zaustavlja sve i ne štiti ništa. To je dug, ne otkaz: vraća se s fazom nexusa koja donese pohranu, a blok i tekst odbijanja čuvaju se u komentaru koji ju je zamijenio.

Gdje smo izmjereno na živom stroju, 19. 9. 2026.

Stroj nije preopterećen — nadzor jednostavno ne radi. To je bitna razlika, jer se ne rješava većim serverom.

21/34scrape ciljeva mrtvo
19. 9. · 62 %
0sretencija logova u živoj konfiguraciji
19. 9. · znači „čuvaj zauvijek"
91 %popunjenost /loki
19. 9. · 9,0 GB od 10 GB
0OOM zapisa u 129 dana
19. 9. · load 0,16
0alarma zapisanih u kodu
19. 9. · postoje samo u Grafaninoj bazi

Pet kvarova, svaki s naredbom iza sebe

KvarDokazUzrok
62 % ciljeva ne odgovara /api/v1/targets s nexusa: 21 od 34 down — 16 timeouta, 1 odbijen, 1 HTTP 404 portovi 9113 (nginx) i 9558 (systemd) nisu otvoreni ni u jednom environments/*.tf; dev-child i dev-master uopće nemaju svoj terraform
Retencija logova ne briše compactor: 12 465 uspješnih prolaza; najstariji chunk 19. 4. 2026.; 194 942 datoteka u živoj konfiguraciji retention_period: 0s. Stari host_vars traže 720h, ali stroj njih više ne vrti
Stroj je pobjegao ispred koda radi Loki 3.7.1 i Prometheus 3.11.2, alloy aktivan, promtail ugašen playbookovi traže Loki 3.5.1, Prometheus 2.52.0 i promtail. Pokrenuti ih danas znači vratiti promtail.
Prometheus ne skreipa ni sam sebe job prometheus → HTTP 404 web.route-prefix iz konfiguracije za 2.52 ne pogađa put u 3.11
Alarmi nisu u kodu files/grafana/alerting/ sadrži samo README; grafana_alerts nije definiran nigdje pravila su klikana u Grafani. Preživljavaju samo kroz blob backup, ne kroz git

Jedna pogrešna dijagnoza, i zašto je zapisana oborena mjerenjem

Prva analiza je tvrdila da nexus pati jer dijeli stroj s osam servisa (Vaultwarden, Umami, n8n, Homer, Uptime Kuma, OliveTin). To je bilo izvedeno iz komentara u konfiguraciji, bez ijednog mjerenja, i netočno je: load 0,16, nula OOM zapisa u 129 dana, 1 581 MB slobodnog RAM-a. Susjedi nisu problem. Zapisano je da se ista greška ne ponovi — komentar u konfiguraciji nije dokaz.

Ne krećemo od nule kolekcija koja već postoji

brunoafk.grafana_observability u rasadnik-infrastructure/ansible/collections/ je već napisana — i nexus je već dijelom vrti.

MjeraVrijednost
Praćenih datoteka258
YAML212 datoteka · 6 243 retka
Rola27 — Grafana, Prometheus, Loki, Tempo, Alertmanager, Alloy, autodiscover i 19 exportera
Testovi3 molecule scenarija: default, client-autodiscover, server-stack
Već podržava--web.enable-remote-write-receiver, S3 backend za Loki, Grafana Git Sync

Rješava tri od četiri strukturna problema starog sustava: Alloy umjesto promtaila, autodiscover umjesto 295 redaka ručno upisanih ciljeva, i remote-write umjesto povlačenja preko interneta.

Što joj nedostaje to je posao

  • Backup i restore ne postoje. Jedino roles/grafana/{backup,restore}.yml. To je cijela druga polovica cilja.
  • Alloy šalje samo logove. Metrike se i dalje povlače — bez toga nema „nula ulaznih portova".
  • Nema blackbox_exporter role. Danas nitko ne mjeri ističe li TLS certifikat.
  • Nema metrike o samom backupu — ni uspjeha, ni starosti zadnje kopije.

Koje metrike fale po opterećenju, ne po stroju

SlojTrebaDanasRola u kolekciji
MySQL rasadnikmysqld_exporternemaexporter_mysql ✓
PHP-FPM rasadnikphp-fpm_exporternemaexporter_phpfpm ✓
PostgreSQL plant-gardenpostgres_exporternemaexporter_postgres ✓
Node.js runtime Vendureheap, event loop, GCnemaexporter_nodejs ✓
Zdravlje diskasmartmonnemaexporter_smartmon ✓
HTTP izvana i istek TLS-ablackbox_exporternemane postoji
Uspjeh i starost backupavlastita metrikanemane postoji
GitLab pipelineovigitlab-ci-pipelines-exporternemane postoji
Vendure poslovne metrikered poslova, narudžbenema—

Prvih pet je konfiguracija — role postoje i samo ih treba uključiti. Zadnje četiri su stvarni razvoj.