Un client avea zece servere, doua gazde Hyper-V, un switch, un firewall si backup Veeam — dar nicio vizibilitate: aflau ca un disc e plin cand se oprea aplicatia. Am pus totul sub Checkmk, instalat pe serverele noastre din Hetzner, cu agenti si notificari. Iata cum.
Cerinta: sa afli inainte sa cada
Voiau un singur loc din care sa vada starea intregii infrastructuri — CPU, RAM, discuri, servicii, temperaturi, starea backupului si a masinilor virtuale — si sa fie alertati automat inainte ca ceva sa pice, nu dupa.
Pe scurt: un singur ecran cu tot ce misca in firma; cand ceva o ia razna, primesti mesaj inainte sa se opreasca aplicatia.
Arhitectura
Checkmk ruleaza pe serverele Cymmunity din Hetzner (nu incarcam infrastructura clientului). Fiecare server client are un agent, switchul si firewallul sunt citite prin SNMP, iar Hyper-V, SQL si Veeam au plugin-uri dedicate. Site-ul central se conecteaza la fiecare agent (mod pull, TLS pe portul 6556) si trage datele la fiecare ciclu; tot el trimite notificarile.
Instalarea Checkmk si a site-ului
Pe serverul central din Hetzner am instalat pachetul Checkmk si am creat un site de monitorizare cu omd.
# Debian/Ubuntu — Checkmk Raw (free) sau Enterprise
apt install ./check-mk-raw-2.3.0p*_0.bookworm_amd64.deb
omd create monitor # creeaza site-ul 'monitor'
omd config monitor set ADMIN_MAIL alerts@cymmunity.ro
omd start monitor # porneste; UI la https://server/monitor/
omd status monitor
Agentii de pe serverele clientului
Pe fiecare server am pus agentul, inregistrat cu TLS si certificat: nu mai e nevoie de un port deschis fara autentificare, iar serverul central trage datele in mod pull. Pe Linux a fost:
# agentul (deb/rpm din UI: Setup > Agents)
dpkg -i check-mk-agent_2.3.0p*.deb
# inregistrare criptata catre site-ul central
cmk-agent-ctl register --hostname web01 \
--server checkmk.cymmunity.ro --site monitor \
--user automation --password '***'
cmk-agent-ctl status # verifica TLS + conexiuneaPe Windows am instalat check_mk_agent.msi si am rulat acelasi cmk-agent-ctl register. Apoi, din interfata, am facut discovery si am activat serviciile:
cmk -vI web01 # descopera serviciile de pe host
cmk -O # activeaza schimbarile (reload monitor)
Monitorizare speciala: Hyper-V, SQL, Veeam, retea
Aici e valoarea: nu doar CPU/disc, ci si lucrurile care conteaza. Plugin-urile de agent adauga stari specifice.
# Hyper-V (agent Windows): starea VM-urilor, checkpoints, replicare
# MSSQL: sesiuni, job-uri, spatiu, backup age
# Veeam: rezultatul ultimului job de backup (OK / warning / failed)
# switch + firewall prin SNMP:
cmk -v --snmpwalk sw01
cmk -vI sw01 # porturi, temperatura, uptime, traficPe scurt: primesti alerta si daca ultimul backup a esuat sau daca replicarea unei masini virtuale a ramas in urma — exact ce nu vezi cu ochiul liber.
Notificari + dashboards + API
Notificari pe email si Telegram, cu escaladare. Adaugarea hosturilor se poate face si din API (util cand pui zeci de servere).
# notificare Telegram/email pe reguli (Setup > Notifications)
# adaugare host prin REST API:
curl -X POST 'https://checkmk.cymmunity.ro/monitor/check_mk/api/1.0/domain-types/host_config/collections/all' \
-H "Authorization: Bearer automation ***" -H 'Content-Type: application/json' \
-d '{"folder":"/clienti/acme","host_name":"db01","attributes":{"ipaddress":"10.0.0.9"}}'
curl -X POST '.../domain-types/activate_changes/actions/activate-changes/invoke' ...
Rezultat
Clientul are acum un tablou unic cu toata infrastructura, verde/galben/rosu, si primeste alerta inainte sa cada ceva — disc aproape plin, backup esuat, VM oprita, temperatura pe switch. Noi tinem Checkmk pe serverele noastre, il actualizam si il monitorizam 24/7. Cand apare un serviciu nou, il adaugam din API in cateva secunde.