Checkmk iti da un tablou unic peste servere, retea, servicii si aplicatii, cu discovery automat si notificari. Ghidul asta te duce de la instalare pana la monitorizare distribuita, pas cu pas — si de ce functioneaza fiecare bucata.
Instalare si crearea unui site
Checkmk lucreaza pe site-uri izolate gestionate cu omd (Open Monitoring Distribution). Poti rula mai multe site-uri pe acelasi server.
apt install ./check-mk-raw-2.3.0p*_0.bookworm_amd64.deb # Raw = free
omd create monitor # creeaza site-ul
omd config monitor set ADMIN_MAIL alerts@example.com
omd start monitor
omd status monitor # apache, core, rrdcached etc.
# parola initiala 'cmkadmin' e afisata la create; o schimbi din UI
Agentul: instalare + inregistrare TLS
Implicit, Checkmk lucreaza in mod pull: serverul se conecteaza la agent pe portul 6556 (TLS) si trage datele la fiecare ciclu — nu agentul le trimite. (Push exista doar pentru hosturi inaccesibile dinspre server.) Agentul nou (cmk-agent-ctl) se inregistreaza criptat si nu mai expune un port text. Descarci pachetul din Setup > Agents.
dpkg -i check-mk-agent_2.3.0p*.deb
cmk-agent-ctl register --hostname web01 \
--server checkmk.example.com --site monitor \
--user automation --password '***'
cmk-agent-ctl status # TLS: connection established
systemctl status check-mk-agent.socket
Adaugarea hostului + discovery
Adaugi hostul (UI sau API), rulezi discovery si activezi. Checkmk gaseste singur discurile, interfetele, serviciile.
cmk -vI web01 # inventory/discovery: ce servicii are hostul
cmk -II web01 # re-discovery complet (si serviciile disparute)
cmk -O # activeaza schimbarile (reload core)
cmk -D web01 # dump: cum e configurat hostul
SNMP pentru switch, firewall, UPS
Echipamentele de retea nu au agent — le citesti prin SNMP. Setezi comunitatea/credentialele v3 pe host si faci discovery.
# in host properties: SNMP community / SNMPv3 credentials
cmk -v --snmpwalk sw01 # verifici ca raspunde
cmk -vI sw01 # porturi, temperatura, PSU, trafic
# reguli: 'Interfaces' pt praguri de trafic, 'Temperature' etc.
Reguli, foldere si praguri
Puterea Checkmk sta in reguli: aplici praguri pe grupuri de hosturi (foldere), nu manual pe fiecare. Ex: praguri de disc si CPU pe tot folderul /clienti.
# Setup > Host & Service Parameters > Filesystems (used space)
# WARN 80% / CRIT 90%, aplicat pe folderul /clienti
# Setup > ... > CPU utilization, Memory, Uptime
# 'Periodic service discovery' — descopera automat servicii noi zilnic
Notificari cu escaladare
Notificari pe email, Telegram, webhook — cu reguli (cine, cand, ce severitate) si escaladare daca nu se confirma.
# Setup > Notifications > Add rule
# - contact group: echipa NOC
# - conditii: CRIT + host in folderul /clienti
# - metoda: email + Telegram (script HTML)
# - escaladare: repeta la 30 min daca nu e ACK
# test: din UI 'Analyse notification' pe un serviciu
Monitorizare distribuita
Pentru multe locatii: un site central si site-uri remote care colecteaza local si trimit spre central. Utile cand monitorizezi mai multi clienti dintr-un singur NOC.
# pe central: Setup > Distributed Monitoring > Add connection
# -> conectezi site-ul remote (livestatus TCP/TLS pe 6557)
# remote-ul ruleaza propriul core; centralul agrega vederile
omd config remote1 set LIVESTATUS_TCP on
omd restart remote1
Local checks + API
Pentru orice metrica proprie scrii un local check (script care intoarce status + valoare). Iar tot ce faci in UI se poate face si prin REST API.
# local check pe agent: /usr/lib/check_mk_agent/local/backup_age
#!/bin/bash
AGE=$(( ($(date +%s) - $(stat -c %Y /backup/last)) / 3600 ))
if [ $AGE -gt 26 ]; then echo "2 BackupAge age=$AGE last backup too old"; else echo "0 BackupAge age=$AGE ok"; fi
# API: adaugare host + activare
curl -X POST '.../api/1.0/domain-types/host_config/collections/all' -H 'Authorization: Bearer automation ***' ...