[prometheus_write:grafana_cloud]
enabled = yes
destination = https://prometheus-us-central1.grafana.net/api/prom/push
username = YOUR_GRAFANA_USER_ID
password = YOUR_GRAFANA_API_KEY
update every = 5
data source = averageMi s-a acrit să plătesc licențe de monitorizare pentru proiecte mici sau MVP-uri care abia scot bani de o cafea. Am avut anul trecut un proiect cu vreo 10 microservicii pe un VPS de 6 euro de la Hetzner și clientul voia alertare serioasă, dar cu buget zero pentru infrastructura de ops. Am pus la punct o triadă de free-tier-uri care își face treaba impecabil și de care nu m-am mai atins de 9 luni.
Nu ai nevoie de Datadog sau New Relic ca să știi când îți moare baza de date sau când ai rămas fără spațiu pe disc. Cu trei unelte gratuite rezolvi totul în mai puțin de o oră.
1. Netdata: Ochii tăi pe server (live debugging)
Netdata e genial pentru că vine gata configurat cu detectarea automată a containerelor Docker, proceselor de sistem, Nginx sau PostgreSQL. Rulează local și îți oferă rezoluție la nivel de secundă.
Trade-off sincer: Netdata e gurmand. Pe un VPS mic, cu un singur core, procesul lui poate să mănânce între 3% și 8% CPU dacă ai zeci de containere active. Am pățit ca pe un VPS extrem de ieftin să îmi încetinească aplicația din cauza asta. Soluția? Schimbi intervalul de colectare din netdata.conf de la o secundă la 5 secunde. Salvezi tone de resurse.
2. Grafana Cloud: Unde strângi datele pe termen lung
Netdata local e bun, dar dacă moare VPS-ul cu totul, moare și dashboard-ul lui. Aici intervine Grafana Cloud. Au un free tier extrem de generos: 3 utilizatori, 10.000 de metrici active și 50 GB de loguri în Loki.
Trimitem datele din Netdata direct în Grafana Cloud folosind funcționalitatea lor de exporting prin Prometheus remote write. Practic, Netdata devine agentul tău de colectare, iar Grafana devine locul unde ai dashboard-ul istoric și alertele persistente. Astfel, chiar dacă serverul ia foc, tu încă poți vedea în Grafana graficul de CPU chiar înainte de crash.
3. UptimeRobot: Alerta de ultimă instanță
Dacă pică rețeaua la provider sau ai un kernel panic, nicio metrică nu mai pleacă spre Grafana. Pentru asta folosesc UptimeRobot.
Varianta free îți oferă 50 de monitoare la un interval de 5 minute. Îl configurezi să facă un request HTTPS simplu pe endpoint-ul de /health al aplicației tale. Dacă dă eroare sau timeout, îți trimite notificare instant pe Telegram sau Discord prin webhook. E sfânt. Dacă UptimeRobot zice că e jos, dar Grafana arată că serverul e verde, înseamnă că ai o problemă de routing sau DNS, nu de resurse.
Cum le legi (Configurația rapidă)
Ca să trimiți datele din Netdata către Grafana Cloud, trebuie doar să configurezi engine-ul de export. În fișierul /etc/netdata/exporting.conf adaugi conexiunea către endpoint-ul tău de Prometheus din Grafana Cloud. Îți iei URL-ul, User-ul și API Key-ul direct din portalul lor.
După ce ai pus blocul de configurare, restartezi serviciul Netdata și în 2 minute încep să curgă datele. Îți poți importa dashboard-ul oficial de Netdata direct în Grafana cu ID-ul 11314 și ai terminat treaba.
Voi ce folosiți pentru monitorizarea proiectelor personale? Rămâneți pe clasicul setup cu Prometheus + Grafana self-hosted (care mai mănâncă și ăla cel puțin 1GB de RAM) sau preferați soluțiile astea managed pe free tier?