# Exemplu rapid pentru configurarea exporting în Netdata
# Editează /etc/netdata/exporting.conf
[prometheus_remote_write:grafana_cloud]
enabled = yes
destination = https://prometheus-prod-01-eu-west-0.grafana.net/api/prom/push
remote write username = <USER_ID>
remote write password = <API_KEY>
# Trimitem date la fiecare 10 secunde ca să nu omorâm banda
update every = 10
# Filtru ca să nu depășim limita de 10k series în Grafana Cloud
send charts matching = system.cpu system.ram system.load system.ioDacă ai un VPS mic pentru un side-project sau un client care strâmbă din nas la orice cost extra, probabil știi sentimentul: vrei să știi când crapă, dar nu vrei să plătești pe Datadog mai mult decât pe server. Am trecut prin asta la un proiect cu vreo 8k useri lunari unde bugetul de infrastructură era fix de 5 euro. Mi-am bătut capul să găsesc un setup care să nu-mi mănânce toate resursele serverului și să rămână în zona de 'free forever'.
Local monitoring cu Netdata: Rege pe timp real
Netdata e prima chestie pe care o instalez pe orice mașină Linux nouă. Se instalează cu un singur curl și ai instant vizibilitate peste tot: CPU, RAM, I/O, chiar și detalii despre containerele Docker dacă le ai. Ce îmi place e granularitatea de o secundă. Dacă ai un spike de CPU care durează 3 secunde, Netdata îl vede, pe când Prometheus cu scraping la 15-30 secunde s-ar putea să-l rateze.
Dar există un trade-off sincer. Netdata e un mic devorator de memorie dacă îl lași cu setările default. Pe un VPS de 1GB RAM, poate să-ți mănânce și 150-200MB doar ca să țină baza de date locală. Eu îl configurez să stocheze mai puțin pe disc și să facă streaming spre exterior. Am economisit cam 30% din resurse doar trecând baza de date pe dbengine cu un tier de stocare mai mic.
Grafana Cloud: Unde ținem datele pe termen lung
Problema cu Netdata e că, dacă serverul crapă de tot sau îi dai un restart mai agresiv, pierzi istoricul dacă nu ai stocare persistentă serioasă. Aici intervine Grafana Cloud. Au un free tier generos, cu 10.000 de metrics incluse. E mai mult decât suficient pentru 2-3 VPS-uri.
Conectarea e simplă: folosești funcția de 'Prometheus remote write' din Netdata. Practic, Netdata colectează datele și le trimite la intervale regulate către endpoint-ul de Prometheus din Grafana Cloud. Așa ai și dashboard-uri frumoase pe care le poți accesa chiar dacă serverul tău e offline, plus alerte pe Slack sau Telegram care chiar funcționează. Marele câștig? Nu mai trebuie să-ți manageriezi tu propria instanță de Grafana sau Prometheus, care sunt destul de 'heavy' pentru un VPS de 5 euro.
UptimeRobot: Verificarea din exterior
Poți să ai cea mai tare monitorizare internă, dacă pică rețeaua providerului sau moare procesul de monitorizare, ești orb. UptimeRobot e soluția clasică și 'proastă' în sensul bun. Face un simplu check HTTP la fiecare 5 minute.
Eu îl folosesc ca pe o plasă de siguranță. Dacă Netdata tace și Grafana nu mai primește date, UptimeRobot e cel care îmi dă notificarea pe telefon că site-ul nu mai răspunde. E genul de setup 'set and forget' care m-a salvat de câteva ori când am făcut vreo prostie în config-ul de Nginx și am blocat tot traficul extern, deși la interior serverul părea că rulează perfect.
Configurația care contează
Când legi Netdata de Grafana Cloud, fii atent la ce trimiți. Dacă trimiți absolut tot ce colectează Netdata (mii de metrici per server), o să atingi limita de 10k din Grafana Cloud în 10 minute. Secretul e să folosești un filtru în exporting.conf. Trimiți doar load, ram, disk usage și metricile critice de la aplicație.
La un proiect recent, am filtrat de la 2500 de metrici per server la doar 150 de metrici esențiale. Asta înseamnă că pot monitoriza vreo 60 de servere pe free tier-ul de la Grafana fără să plătesc un leu.
Voi ce folosiți pentru mașini mici? Vă complicați cu un stack de Prometheus/Loki self-hosted sau mergeți pe soluții externe?