# /etc/alloy/config.alloy - Configurație minimă pentru transmisie în Grafana Cloud
promo_config {
metrics {
wal_directory = "/var/lib/alloy/wal"
global {
scrape_interval = "30s"
}
external_labels = {
env = "production",
host = "vps-hetzner-01",
}
scrape_configs = [
{
job_name = "integrations/node_exporter",
static_configs = [{
targets = ["127.0.0.1:9100"],
}],
}
]
remote_write = [{
url = "https://prometheus-prod-01-eu-west-0.grafana.net/api/v1/push",
basic_auth = {
username = "123456",
password = "glc_eyJvIj...YOUR_API_KEY",
}
}]
}
}M-am săturat să aflu că mi-a picat vreun serviciu direct de la clienți sau, mai rău, când intram întâmplător pe site după două zile. Când rulezi aplicații pe VPS-uri ieftine de 4-5 euro de la Hetzner sau DigitalOcean, să plătești $15/lună pe Datadog e pur și simplu o aberație. Am găsit o schemă din trei unelte moca pe care o folosesc pe 6 mașini de producție și stau complet liniștit.
Triada moca: cine și ce face
Fiecare unealtă din setup-ul ăsta rezolvă o singură problemă și o face bine. Secretul e să nu încerci să le pui pe toate să facă de toate.
- UptimeRobot: Este paznicul de la poartă. Îmi verifică endpoint-urile HTTP și portul de SSH din exterior, din 5 în 5 minute. Nu știe de ce a picat serverul, dar mă strigă instant pe Telegram când HTTP-ul dă 500 sau timeout.
- Netdata: Este mecanicul de sub capotă. Rulează direct pe VPS și-mi oferă metrici în timp real (1 secundă rezoluție) pe CPU, RAM, disk I/O wait și conexiuni Nginx. Trade-off sincer: dacă îl lași cu setările default, își alocă vreo 150MB RAM pentru baze de date locale. Pe o mașină de 1GB RAM, asta înseamnă bilet tur-retur către OOM Killer. Soluția e să-i tai istoricul local la doar câteva ore.
- Grafana Cloud: Este creierul central. Pe tier-ul gratuit îți oferă 10.000 de serii de metrici Prometheus și 50GB de loguri în Loki cu o retenție de 14 zile. Aici trimit totul ca să văd tendințele pe termen lung.
Cum le legi fără să-ți omori mașina
Pasul 1 este cel mai simplu: îți faci cont gratuit pe UptimeRobot, pui URL-urile publice și-ți legi un bot de Telegram. Durează 3 minute.
Pasul 2 înseamnă să nu instalezi tot stack-ul Prometheus + Grafana self-hosted pe VPS-ul tău mic. Am încercat asta în trecut pe un nod de 1GB RAM și doar Prometheus-ul îmi mânca 300MB RAM când făcea compaction. O mizerie.
În schimb, instalezi Grafana Alloy (noul nume pentru Grafana Agent). Este un binary scris în Go, extrem de lightweight, care consumă sub 30MB RAM. El colectează metricile de sistem (via node_exporter integrat) și le trimite securizat prin remote-write către Grafana Cloud.
Ce faci când lucrurile crapă
Dacă pică rețeaua din datacenter sau pică provider-ul cu totul, Netdata și Grafana Cloud vor tăcea chitic – pentru că agentul tău nu mai are cum să trimită metrici. Aici intervine UptimeRobot din exterior și te anunță că IP-ul e unreachable.
Dacă ai un spike de trafic și procesul de Node.js sau PHP-FPM crapă cu Out of Memory, intri în dashboard-ul din Grafana Cloud și vezi exact minutul în care memoria a luat-o în sus și I/O wait-ul a explodat.
Costul total pentru toată arhitectura asta: 0 RON. Consum total pe VPS: ~40MB RAM.
Voi ce soluții folosiți pentru mașini mici? Mai ține cineva un stack complet de Prometheus self-hosted pe noduri sub 2GB RAM sau ați trecut toți pe hibrizi cu cloud free tier?