---
id: monitoring-checkmk
title: "Checkmk"
shortTitle: "Checkmk"
track: monitoring
trackTitle: "Monitoring & Alerting"
order: 7
level: normal
status: published
estimatedMinutes: 25
prerequisites:
  - monitoring-newrelic
next: central-elastic
reviewedAgainst: 2026-10-12
sources:
  - title: "Checkmk documentation"
    url: https://docs.checkmk.com/latest/en/
  - title: "Monitoring Linux"
    url: https://docs.checkmk.com/latest/en/monitoring_linux.html
---

# Checkmk

Checkmk theo dõi host bằng các check. Một site Checkmk là một bộ server monitoring. Agent trên máy Linux in ra dữ liệu theo từng section, rồi server diễn giải chúng thành các service. Bài này không dựng site. Checkmk có hai bản Raw và Enterprise, và tài liệu cài đặt của hai bản khác nhau, nên đừng đọc lẫn.

## Để làm gì

Bạn sẽ hiểu agent là một chương trình chạy trên host, và một service màu đỏ chỉ là một check đang fail, không phải cả máy đã tắt.

## Gồm những gì

- Site, host, service, agent.
- So với Zabbix: tên gọi khác, nhưng cùng cách lấy dữ liệu từ máy, hoặc server kéo về, hoặc agent gửi lên.
- Bản Raw là bản mã nguồn mở; bản Enterprise có thêm tính năng đóng.

Bài không tải appliance và không mở cổng agent.

## Dùng khi nào

Datacenter đã dùng Checkmk để theo dõi phần cứng và hệ điều hành. Nếu app đã có Prometheus, hãy giữ Prometheus cho metric của app, vì Checkmk không thay được câu `rate()` bạn đã học.

## Kiến thức cốt lõi

Bạn thêm host vào site rồi gán agent cho host đó. Agent Linux thường là một script hoặc một package, in ra text theo từng section như CPU hay đĩa. Tùy chế độ của bản bạn đang chạy, server Checkmk sẽ gọi tới agent hoặc agent tự đẩy dữ liệu lên. Hãy đọc đúng trang Monitoring Linux của version site đang dùng, vì lệnh cài thay đổi theo từng bản.

Mỗi check trở thành một service trên host. Service có bốn trạng thái: OK, WARN, CRIT, UNKNOWN. Một ổ đĩa đầy không làm mọi service cùng chuyển CRIT, nên hãy xem service nào đổi màu.

Discovery là bước Checkmk nhận ra check mới sau khi agent in thêm section. Nếu chưa chạy discovery, service mới không xuất hiện trong danh sách, dù agent đã in dữ liệu.

## Lệnh và code mẫu

Bài không có lệnh cài. Khi đọc một host trên UI, hãy ghi lại:

| Ô | Câu hỏi |
| --- | --- |
| Host | Máy nào |
| Service | Check nào đang CRIT |
| Agent | Còn số liệu mới không, hay UNKNOWN vì không gọi được agent |

UNKNOWN thường có nghĩa là không lấy được dữ liệu. CRIT thì khác: dữ liệu đã về và đang vượt ngưỡng.

## Thực hành

1. Với một ổ đĩa đầy, nói service nào cần nhìn, đừng chỉ nói "cả host".
2. Phân biệt CRIT và UNKNOWN trong một câu.
3. Không tải Checkmk.

## Kết quả mong đợi

Đĩa đầy hiện ở service filesystem. UNKNOWN nghĩa là mất đường lấy dữ liệu. Bạn không dựng site nào.

## Checklist

- [ ] Đọc đúng tài liệu của bản Raw hoặc Enterprise mà site đang chạy.
- [ ] Gặp UNKNOWN thì kiểm tra mạng và agent trước khi nới ngưỡng.
- [ ] Không thêm Checkmk vào lab đã có Prometheus chỉ để đủ danh sách công cụ.

## Lỗi thường gặp

**Cài agent xong nhưng host vẫn trống.** Có thể bạn chưa chạy discovery, hoặc firewall chưa mở đúng chiều mà chế độ agent cần. Hãy xem lại tài liệu Monitoring Linux, đừng cài bản Enterprise đè lên bản Raw.

**Sửa ngưỡng đĩa trên một host, rồi bản cập nhật agent làm mất thay đổi.** Muốn giữ ngưỡng lâu dài, hãy đưa nó vào rule của site. Nếu chỉ sửa một lần trên UI mà không thành rule, lần discovery sau có thể đưa ngưỡng về mặc định.

## Nguồn

1. [Checkmk documentation](https://docs.checkmk.com/latest/en/) — site, host, service.
2. [Monitoring Linux](https://docs.checkmk.com/latest/en/monitoring_linux.html) — agent trên Linux.

## Tiếp theo

[Elastic Stack](../central-logs/01-elastic.md)
