CheckMK
If you like this project, consider supporting me on Buy Me a Coffee ☕️
tags:
- monitoring
- sysadmin
-
linux
Checkmk Server Sysadmin Cheatsheet
Checkmk is a comprehensive IT monitoring solution originally developed by Mathias Kettner in 2008 as an extension to Nagios. It has since evolved into a standalone monitoring platform available in two editions: Raw (open-source, Nagios core) and Enterprise/Cloud (commercial, proprietary CMC core). Checkmk provides auto-discovery, agent-based and agentless monitoring, alerting, graphing, and dashboards.
Common use cases / Типичные сценарии: Infrastructure monitoring (servers, network, cloud), application monitoring, SNMP-based device monitoring, log monitoring, service-level monitoring (SLA), auto-discovery of services.
Status / Статус: Actively developed and widely used in enterprise environments. Checkmk is a modern evolution of the Nagios ecosystem. Alternatives include Zabbix (full-featured open-source), Prometheus + Grafana (cloud-native, metrics-focused), Datadog (SaaS), VictoriaMetrics (TSDB), Icinga (Nagios fork).
Default ports / Порты по умолчанию:
80/443(Web UI),6556/tcp(Agent),5000/tcp(Site Apache),8000/tcp(Agent Controller registration)
📚 Table of Contents
- 1. Installation & Configuration
- 2. OMD Site Management
- 3. Core Management
- 4. Sysadmin Operations
- 5. Security
- 6. Backup & Restore
- 7. Troubleshooting & Tools
- 8. Logrotate Configuration
- Documentation Links
1. Installation & Configuration
Install Checkmk Server
[!TIP] Download the correct edition and OS version from the official site: https://checkmk.com/download / Скачайте нужную редакцию и версию ОС с официального сайта.
# RHEL/AlmaLinux 9 (Raw Edition)
wget "https://download.checkmk.com/checkmk/2.3.0/check-mk-raw-2.3.0-el9-38.x86_64.rpm"
dnf install check-mk-raw-*.rpm
# Debian/Ubuntu (Raw Edition)
wget "https://download.checkmk.com/checkmk/2.3.0/check-mk-raw-2.3.0_0.bookworm_amd64.deb"
dpkg -i check-mk-raw-*.deb
apt -f install # Fix dependencies / Установить зависимости
Install Checkmk Agent
Download from your Checkmk site URL: http://<HOST>/<SITE>/check_mk/agents/
# RPM (RHEL/AlmaLinux)
rpm -Uvh check-mk-agent-*.noarch.rpm
# DEB (Debian/Ubuntu)
dpkg -i check-mk-agent_*.deb
Editions Comparison
| Feature / Особенность | Raw (Open Source) | Enterprise |
|---|---|---|
| Core Engine / Ядро | Nagios Core | CMC (Checkmk Micro Core) |
| Performance / Производительность | Good / Хорошая | Excellent / Отличная |
| Agent Bakery / Сборка агентов | No / Нет | Yes / Да |
| BI Module / Модуль BI | Limited / Ограничен | Full / Полный |
| Distributed Monitoring / Распределённый мониторинг | Yes / Да | Yes (enhanced) / Да (расширенный) |
| Support / Поддержка | Community / Сообщество | Commercial / Коммерческая |
| License / Лицензия | GPLv2 | Commercial / Коммерческая |
2. OMD Site Management
Checkmk uses OMD (Open Monitoring Distribution) to manage monitoring "sites" (instances). Each site is an isolated environment with its own configuration, users, and data. / Checkmk использует OMD для управления «сайтами» (инстансами) мониторинга.
Create & Manage Sites
# List all sites
omd sites
# Create new site
omd create <SITE_NAME>
# Start/Stop site
omd start <SITE_NAME>
omd stop <SITE_NAME>
# Restart site
omd restart <SITE_NAME>
# Site status
omd status <SITE_NAME>
# Configure site interactively
omd config <SITE_NAME>
# Update site to new version
omd update <SITE_NAME>
Switch to Site User
All cmk commands must be run as the site user. / Все команды cmk запускаются от пользователя сайта.
su - <SITE_NAME>
Important OMD Paths
| Path | Description / Описание |
|---|---|
/opt/omd/sites/<SITE>/ |
Site home directory / Домашний каталог сайта |
~/etc/check_mk/ |
Checkmk configuration / Конфигурация Checkmk |
~/etc/check_mk/main.mk |
Main config (legacy) / Главный конфиг (устаревший) |
~/etc/check_mk/conf.d/ |
WATO-managed config / Конфиг WATO |
~/var/log/ |
Site logs / Логи сайта |
~/var/check_mk/ |
Runtime data / Данные времени выполнения |
~/local/ |
Custom extensions / Кастомные расширения |
3. Core Management
Checkmk CLI (cmk) / CLI Checkmk
All commands below are run as site user (su - <SITE_NAME>). / Все команды ниже запускаются от пользователя сайта.
# Service discovery (inventory)
cmk -I <HOST> # Discover new services / Обнаружить новые сервисы
cmk -II <HOST> # Full re-discovery / Полное переобнаружение
cmk --detect-plugins <HOST> # Detect available plugins / Определить доступные плагины
# Activate changes
cmk -R # Reload configuration / Перезагрузить конфигурацию
cmk -O # Restart core / Перезапустить ядро
cmk -G # Generate config only (no reload) / Только сгенерировать конфиг
# Debugging
cmk -v <HOST> # Verbose check / Подробная проверка
cmk --debug -vvn <HOST> # Detailed debug check / Детальная отладка
cmk -D <HOST> # Show host info / Показать информацию о хосте
# Agent output
cmk -d <HOST> # Fetch raw agent output / Получить сырой вывод агента
Web UI Access
# Default URL / URL
http://<HOST>/<SITE>/check_mk/
# Default credentials: cmkadmin / <PASSWORD_SET_AT_CREATION>
Local Checks
Place executable scripts in /usr/lib/check_mk_agent/local/ on monitored hosts. / Поместите исполняемые скрипты в эту папку на контролируемых хостах.
Output format: <STATUS> <SERVICE_NAME> <PERF_DATA> <TEXT_OUTPUT>
Status codes: 0 (OK), 1 (WARN), 2 (CRIT), 3 (UNKNOWN)
#!/bin/bash
# Example local check
echo "0 MyService count=42 OK - Service is running fine"
# Set executable permission
chmod +x /usr/lib/check_mk_agent/local/myscript
4. Sysadmin Operations
Service Management
# Manage via OMD (preferred)
omd start <SITE_NAME> # Start all site services / Запустить все сервисы сайта
omd stop <SITE_NAME> # Stop all site services / Остановить все сервисы
omd restart <SITE_NAME> # Restart all site services / Перезапустить все сервисы
omd status <SITE_NAME> # Check status / Проверить статус
# Or via systemd (starts all sites)
systemctl start apache2 # Start web server / Запустить веб-сервер
systemctl status apache2 # Check web server status / Статус веб-сервера
Log Locations
Logs are stored in the site's ~/var/log/ directory. / Логи хранятся в каталоге ~/var/log/ сайта.
| Log File | Description / Описание | Edition |
|---|---|---|
~/var/log/cmc.log |
CMC core log / Лог ядра CMC | Enterprise |
~/var/log/nagios.log |
Nagios core log / Лог ядра Nagios | Raw |
~/var/log/web.log |
Web UI log / Лог веб-интерфейса | Both / Оба |
~/var/log/notify.log |
Notification log / Лог уведомлений | Both / Оба |
~/var/log/mknotifyd.log |
Notification spooler / Очередь уведомлений | Enterprise |
~/var/log/liveproxyd.log |
Livestatus proxy / Прокси Livestatus | Enterprise |
# View logs as site user
su - <SITE_NAME>
tail -f var/log/cmc.log # Enterprise core log / Лог ядра Enterprise
tail -f var/log/nagios.log # Raw core log / Лог ядра Raw
tail -f var/log/web.log # Web UI log / Лог веб-интерфейса
Firewall Configuration
# Allow web UI
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# Allow agent port
firewall-cmd --permanent --add-port=6556/tcp
# Distributed monitoring (Livestatus)
firewall-cmd --permanent --add-port=6557/tcp
firewall-cmd --reload
5. Security
User Management
# Reset cmkadmin password
su - <SITE_NAME>
cmk-passwd cmkadmin
# Or via htpasswd (for Nagios core)
htpasswd ~/etc/htpasswd cmkadmin
LDAP Integration
Configure via Web UI: Setup → Users → LDAP & Active Directory
Agent Encryption
[!TIP] In Checkmk 2.2+, use the built-in Agent Controller with TLS for encrypted agent communication. This is the preferred method over legacy symmetric encryption. / В Checkmk 2.2+ используйте Agent Controller с TLS.
6. Backup & Restore
OMD Backup
# Backup site to file
omd backup <SITE_NAME> /backup/checkmk_<SITE_NAME>_$(date +%F).tar.gz
# Restore site from backup
omd restore <SITE_NAME> /backup/checkmk_<SITE_NAME>.tar.gz
[!WARNING]
omd backupstops the site during backup. Schedule during maintenance windows. /omd backupостанавливает сайт на время бэкапа. Планируйте на время обслуживания.
Manual Config Backup
# Backup configuration only
su - <SITE_NAME>
tar -czf /backup/checkmk_config_$(date +%F).tar.gz etc/check_mk/ etc/nagios/ etc/htpasswd
7. Troubleshooting & Tools
Common Issues
1. "Checkmk server is not running" in Web UI / "Checkmk
# Check site status
omd status <SITE_NAME>
# Check SELinux (RHEL)
getenforce
setsebool -P httpd_can_network_connect 1 # Allow Apache to connect / Разрешить Apache подключения
2. Agent Not Reachable
# Test agent from server
su - <SITE_NAME>
cmk -d <HOST> # Fetch agent output / Получить вывод агента
cmk --debug -vvn <HOST> # Detailed debug / Подробная отладка
# Test from network
nc -w 5 <HOST> 6556 | head -20
3. Performance Issues
# Check helper usage (Enterprise)
su - <SITE_NAME>
cmk --check-helper-usage
# Increase checkers in global settings
# Setup → General → Global Settings → Monitoring Core → Number of checker helpers
Debugging
# Enable debug logging temporarily
su - <SITE_NAME>
# Verbose check of specific host
cmk --debug -vvn <HOST>
# Check core status
omd status
8. Logrotate Configuration
[!NOTE] Checkmk/OMD manages log rotation internally via the site framework. Logs are rotated automatically in the OMD site's
~/var/log/directory. Checkmk/OMD управляет ротацией логов внутренне через фреймворк сайта. Логи ротируются автоматически.
No external logrotate configuration is typically needed for Checkmk. / Внешняя конфигурация logrotate для Checkmk обычно не требуется.
Documentation Links
- Official Documentation: https://docs.checkmk.com/
- Checkmk Downloads: https://checkmk.com/download
- Checkmk User Guide: https://docs.checkmk.com/latest/en/
- Agent Installation: https://docs.checkmk.com/latest/en/agent_linux.html
- Checkmk REST API: https://docs.checkmk.com/latest/en/rest_api.html
- Community Forum: https://forum.checkmk.com/
- GitHub (Raw Edition): https://github.com/Checkmk/checkmk