CRITICAL INFRA
Loading critical CVEs…
ALL EXPLOITED
Loading…

HowTo: monitorizare cu Checkmk de la zero

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 ***' ...
Discutam despre proiectul tau →