# /etc/netdata/exporting.conf
[exporting:global]
enabled = yes
# Trimitem doar metricile esentiale ca sa nu depasim limita free de 10k
send charts matching = system.cpu system.ram system.io system.net system.pgpgio
update every = 10
[prometheus_remote_write:grafana_cloud]
enabled = yes
# Inlocuieste URL-ul si credentialele cu cele din contul tau de Grafana Cloud
destination = https://<username>:<api_key>@prometheus-prod-01-eu-west-0.grafana.net/api/prom-writeSă fim serioși, nimănui nu-i convine să plătească 50 de dolari pe lună pentru Datadog sau New Relic ca să monitorizeze un VPS de 5 dolari pe Hetzner sau DigitalOcean. Am pățit asta la un proiect personal cu vreo 12k useri activi, unde costul monitorizării depășea hostingul de trei ori doar pentru că voiam niște alerte de bază pe RAM și disc. De atunci, folosesc o combinație de Netdata, Grafana Cloud și UptimeRobot — toate pe free tier, cu zero costuri lunare.
Nu e setup-ul perfect de enterprise, dar pentru proiecte medii și mici își face treaba impecabil. Hai să vedem cum le legăm cap-la-cap fără să ne prindem urechile.
Netdata pe post de „ochi și urechi” local
Netdata e genial pentru că se instalează cu o singură linie de bash și îți dă instant metrici de care nici nu știai că ai nevoie. CPU, RAM, I/O pe disc, plus auto-detect pentru Docker, Nginx sau PostgreSQL. Consumul lui e neglijabil, cam 1-2% dintr-un vCPU amărât.
Dar are o problemă majoră din fabrică. Dacă pică VPS-ul cu totul, Netdata moare odată cu el. Nu mai primești nicio alertă, pentru că sistemul care trebuia să te alerteze e offline. De asta avem nevoie de ceilalți doi piloni: stocarea metricilor în cloud și un ping extern.
Grafana Cloud pentru istoric și dashboard
Grafana Cloud are un free tier extrem de generos care include 3 utilizatori, 10.000 de metrici active (active series) și 50 GB de loguri în Loki. E arhisuficient pentru 2 sau 3 VPS-uri de producție.
Ideea e simplă: nu instalăm Prometheus local pe VPS-ul nostru ca să nu-i consumăm resursele. În schimb, configurăm agentul de Netdata să trimită datele direct către instanța noastră de Grafana Cloud folosind protocolul remote_write din Prometheus.
Netdata colectează datele local la o rezoluție de 1 secundă, dar noi le vom trimite în cloud o dată la 10 sau 15 secunde și vom filtra doar metricile importante (CPU, RAM, rețea, disk). Altfel, depășim limita de 10k metrici gratuite imediat.
UptimeRobot ca „dead man's switch”
Dacă serverul ia foc sau pică conexiunea la internet, Grafana Cloud o să arate doar o linie întreruptă în grafice. Nu e cea mai vizibilă alertă când dormi la 3 dimineața.
Aici intervine UptimeRobot. Îl configurezi să dea un ping HTTP la aplicația ta sau un simplu port check pe SSH la fiecare 5 minute (limita pentru contul gratuit). Dacă dă timeout, primești notificare instant pe Telegram sau email. E simplu, brut, dar îți salvează fundul când e downtime total.
Trade-off-ul sincer: Unde apar problemele?
Nimic nu e complet roz pe free tier.
În primul rând, sintaxa de export din Netdata (exporting.conf) este destul de rigidă. Dacă greșești o indentare în fișierul de configurare, serviciul refuză să pornească sau pur și simplu nu trimite nimic, fără să-ți dea erori clare în loguri.
În al doilea rând, rezoluția datelor din Grafana Cloud pe free tier are o retenție de doar 14 zile. Pentru debug rapid e perfect, dar dacă vrei să faci analiză de capacitate pe ultimele 6 luni, va trebui să plătești sau să faci self-host la tot stack-ul pe un VPS dedicat.
Pentru mine, compromisul ăsta a funcționat pe 4 servere de producție în ultimul an și am economisit destui bani pe care altfel îi dădeam la SaaS-uri mari de monitorizare.
Voi ce folosiți pentru monitorizare pe bugete de startup? Mergeți pe stack self-hosted sau preferați să folosiți free-tier-urile din cloud?