Checkmk 101: Giám sát ‘tất tần tật’ hệ thống IT trên một Dashboard duy nhất

Monitoring tutorial - IT technology blog
Monitoring tutorial - IT technology blog

Nỗi khổ khi vận hành hạ tầng ‘mỗi nơi một mảnh’

Cảnh tượng quản lý 30-40 server Linux, Windows nằm rải rác cạnh dàn Switch, Firewall đủ mọi đời từ Cisco đến Mikrotik là “ác mộng” với bất kỳ SysAdmin nào. Mình từng nếm trải cảm giác mở cùng lúc 15 tab trình duyệt: Zabbix soi server, PRTG xem traffic switch, rồi vài script Python tự chế để check service. Mỗi khi sự cố ập đến, việc truy tìm nguyên nhân gốc rễ giống như mò kim đáy bể.

Tệ hơn nữa là sự thiếu đồng bộ trong cảnh báo. Khi một con Switch lõi gặp sự cố, hệ thống sẽ dội bom hàng trăm email báo “Server Down” thay vì chỉ điểm đúng thủ phạm là thiết bị mạng. Đây chính là lúc mình nhận ra giá trị của một giải pháp giám sát hội tụ (Unified Monitoring) như Checkmk.

Checkmk – Tại sao lại là nó mà không phải Zabbix hay Prometheus?

Checkmk không cố gắng tỏ ra nguy hiểm. Trong khi Prometheus bắt bạn phải “đánh vật” với ngôn ngữ PromQL, hay Zabbix làm khó người dùng bằng đống template đồ sộ, Checkmk chọn cách tiếp cận thực dụng hơn: Rule-based configuration.

Tính năng Auto-discovery (Tự động phát hiện) là thứ khiến mình ưng ý nhất. Bạn chỉ cần cài một Agent siêu nhẹ (chưa tới 100KB), Checkmk sẽ tự quét và đề xuất: “Này, mình thấy có 5 ổ đĩa, 2 card mạng và dịch vụ Apache đang chạy, giám sát luôn nhé?”. Mọi thứ xong xuôi chỉ sau vài cú click.

Cài đặt Checkmk trên Ubuntu 22.04/24.04

Chúng ta sẽ sử dụng bản Checkmk Raw Edition (CRE). Nó hoàn toàn miễn phí, mã nguồn mở và thừa sức cân được hạ tầng của các doanh nghiệp vừa và nhỏ.

Bước 1: Chuẩn bị “đất” cho Server

Bạn cần một con VPS hoặc Server vật lý. Để hệ thống chạy mượt, hãy cấp cho nó tối thiểu 2 vCPU và 4GB RAM. Đừng tiết kiệm RAM vì Checkmk lưu trữ dữ liệu giám sát trực tiếp trên bộ nhớ để tăng tốc truy xuất.

sudo apt update && sudo apt upgrade -y
sudo apt install wget apt-transport-https gnupg -y

Bước 2: Cài đặt Package

Hãy lên trang chủ Checkmk lấy link bản mới nhất. Ở đây mình dùng bản 2.3.0 cho Ubuntu 22.04 (Jammy).

wget https://download.checkmk.com/checkmk/2.3.0p1/check-mk-raw-2.3.0p1_0.jammy_amd64.deb
sudo apt install ./check-mk-raw-2.3.0p1_0.jammy_amd64.deb

Cài xong, bạn sẽ thấy lệnh omd (Open Monitoring Distribution) xuất hiện. Đây chính là “vũ khí chính” để quản lý các instance của Checkmk.

Bước 3: Khởi tạo Site (Instance)

Checkmk cho phép chạy nhiều Site độc lập trên cùng một server vật lý. Việc này cực kỳ tiện nếu bạn muốn tách biệt môi trường Production và Test.

sudo omd create monitoring
sudo omd start monitoring

Hệ thống sẽ nhả ra một user admin kèm mật khẩu ngẫu nhiên. Hãy lưu lại thông tin này và đăng nhập qua đường dẫn: http://<IP_SERVER>/monitoring.

Giám sát con Server Linux đầu tiên

Quên SNMP phức tạp đi. Trên Linux, Checkmk dùng một Agent tối giản truyền dữ liệu qua cổng TCP 6556.

Cài đặt Agent lên Host

Truy cập vào Dashboard, tìm mục Setup > Agents > Linux và tải file .deb về server mục tiêu.

# Thao tác trên server cần giám sát
sudo apt install ./check-mk-agent_2.3.0-1_all.deb

Thêm Host vào Dashboard

Các bước thực hiện rất trực quan:

  1. Vào Setup > Hosts > Add host.
  2. Điền Hostname và IP.
  3. Nhấn Save & run service discovery.

Lúc này, Checkmk sẽ liệt kê mọi thứ từ CPU, RAM cho đến các dịch vụ đang chạy. Bạn chỉ cần nhấn Accept all. Đừng quên nhấn nút vàng Changes ở góc màn hình để kích hoạt cấu hình mới.

Giám sát thiết bị mạng: Khi SNMP lên tiếng

Với Switch hay Router, SNMP là cứu cánh duy nhất. Mình thường dùng SNMP v2c cho nhanh hoặc v3 nếu cần bảo mật cao. Sau khi khai báo IP và Community String, Checkmk sẽ tự động vẽ biểu đồ traffic cho từng Port (Lần lượt từ Port 1 đến 24/48).

Nó thậm chí còn thông minh đến mức báo luôn cả nhiệt độ thiết bị hoặc tốc độ vòng quay quạt nếu phần cứng đó hỗ trợ OID tương ứng.

Kinh nghiệm xương máu: Đừng để Alert Fatigue ‘hành’ bạn

Sai lầm lớn nhất của mình khi mới dùng Checkmk là bật thông báo Telegram cho mọi thứ. Kết quả? Đêm chủ nhật điện thoại rung bần bật chỉ vì một con Server Backup chạy full CPU trong đúng 5 phút.

Để sống sót, bạn cần nhớ 3 quy tắc:

  • Chỉ báo Critical: Đẩy cảnh báo về điện thoại cho những thứ thực sự nghiêm trọng. Các mức Warning hãy để nó nằm im trên Dashboard.
  • Cấu hình Delay: Đừng báo ngay khi thấy lỗi. Hãy thiết lập để Checkmk đợi sau 3-5 lần check (mỗi lần cách nhau 1 phút) mà lỗi vẫn còn thì mới gửi tin nhắn.
  • Chỉnh ngưỡng (Threshold) thực tế: Mặc định 80% ổ đĩa là Warning. Nhưng với ổ cứng 10TB, 20% còn lại vẫn là rất nhiều. Hãy tạo rule riêng cho các ổ đĩa dung lượng lớn.

Lời kết

Checkmk là sự giao thoa hoàn hảo giữa sức mạnh và tính đơn giản. Dù giao diện có hơi hướng “cổ điển” với quá nhiều menu con, nhưng khi đã nắm được logic, bạn sẽ thấy việc quản trị hệ thống nhàn nhã hơn rất nhiều. Nếu bạn muốn thoát khỏi cảnh check log thủ công mỗi sáng, hãy thử cài Checkmk ngay hôm nay.

Share: