P21 - Triển Khai Giám sát SQL Server 2022 bằng PRTG
PRTG P21 – Cách Giám sát SQL Server 2022 với PRTG (Setup & SQL Service Sensors)
Trong môi trường production, SQL Server là một trong những thành phần hạ tầng quan trọng nhất. Nếu dịch vụ SQL ngừng hoạt động, toàn bộ hệ thống phụ thuộc như ERP, phần mềm nội bộ hay Snipe-IT sẽ dừng ngay lập tức.
Trong bài viết này, bạn sẽ được hướng dẫn chi tiết cách Giám sát SQL Server 2022 với PRTG, bao gồm:
Tạo tài khoản monitoring chuyên dụng
Cấp quyền tối thiểu cần thiết
Theo dõi trạng thái SQL Service bằng SSH Script Advanced
Giám sát SQL Server Agent
Cấu hình ngưỡng cảnh báo phù hợp
Mục tiêu là phát hiện sự cố trước khi người dùng phản ánh hệ thống bị lỗi.
🛠 Step 1 – Tạo User Giám Sát SQL Server
Chúng ta sẽ tạo một tài khoản riêng dành cho việc monitoring với quyền tối thiểu.
Tạo User Admin để cấu hình ban đầu
SQL Server admin:
User:
admin_sqlPass:
Abc@1234
Kiểm tra phiên bản SQL Server
SELECT @@VERSION;
GO
Tạo Login cho PRTG Monitoring
sqlcmd -S localhost -U admin_sql -P 'Abc@1234' -C
USE master;
GO
CREATE LOGIN prtg_sql WITH PASSWORD = 'StrongPassword!';
GRANT VIEW SERVER STATE TO prtg_sql;
GRANT VIEW ANY DATABASE TO prtg_sql;
GO
ExitCấu hình này là đủ để:
• Đọc thông tin hiệu năng
• Không thể phá hủy database
• VIEW SERVER STATE → đủ quyền đọc trạng thái toàn bộ database
Tài khoản monitoring được thiết kế đảm bảo an toàn, không có quyền thay đổi dữ liệu.
🖥 Step 2 – Thêm Device vào PRTG và cấu hình Credential
Tiến hành add host SQL Server vào hệ thống PRTG.
Enable SSH
Đảm bảo SSH đã được bật trên máy chủ SQL Server (SQL chạy trên Linux).
PRTG sẽ sử dụng SSH Script Advanced để giám sát service.
Cấu hình SQL Credential trong PRTG
Trong phần Device Settings của PRTG:
User:
prtg_sqlPass:
StrongPassword!
PRTG sẽ dùng tài khoản này để truy vấn trạng thái SQL Server.
📡 Step 3 – Thêm Sensor Giám Sát
Chúng ta bắt đầu cấu hình monitoring service.
🟢 #1 Giám sát SQL Service
👉 Sử dụng SSH Script Advanced
Theo dõi các service:
• MSSQLSERVER: mssql-server
• SQLSERVERAGENT (nếu sử dụng job/backup): mssql-server-agent
📌 Tại sao cần giám sát hai service này?
• SQL dừng → Snipe-IT crash
• SQL Agent dừng → job backup không chạy
Việc giám sát cả hai đảm bảo:
Database luôn sẵn sàng
Job backup hoạt động đúng lịch
Hệ thống vận hành ổn định
Lệnh kiểm tra trạng thái service
systemctl is-active mssql-server-agent
🧩 Step 1 – Tạo Script Monitoring
Tạo thư mục chứa script:
Tạo file script:
Nội dung Script
#!/bin/bash
FAILED=0
FAILED_LIST=""
# Default values
SQL_STATUS=1
AGENT_STATUS=2 # 2 = not installed
# Check SQL Server
if systemctl list-unit-files | grep -q "^mssql-server"; then
if systemctl is-active --quiet mssql-server; then
SQL_STATUS=0
else
SQL_STATUS=1
FAILED=$((FAILED+1))
FAILED_LIST="$FAILED_LIST mssql-server"
fi
else
SQL_STATUS=2
fi
# Check SQL Server Agent
if systemctl list-unit-files | grep -q "^mssql-server-agent"; then
if systemctl is-active --quiet mssql-server-agent; then
AGENT_STATUS=0
else
AGENT_STATUS=1
FAILED=$((FAILED+1))
FAILED_LIST="$FAILED_LIST mssql-server-agent"
fi
else
AGENT_STATUS=2
fi
# Message
if [ "$FAILED" -eq 0 ]; then
MSG="SQL services are running"
else
MSG="Service down:$FAILED_LIST"
fi
cat <<EOF
<prtg>
<result>
<channel>SQL Server Service</channel>
<value>$SQL_STATUS</value>
<unit>Custom</unit>
<valuelookup>prtg.standardlookups.yesno.stateyesok</valuelookup>
</result>
<result>
<channel>SQL Server Agent</channel>
<value>$AGENT_STATUS</value>
<unit>Custom</unit>
<valuelookup>prtg.standardlookups.yesno.stateyesok</valuelookup>
</result>
<text>$MSG</text>
</prtg>
EOF
exit 0🔐 Phân quyền và kiểm tra Script
Cấp quyền thực thi:
Chạy test thủ công:
🔍 Ý nghĩa các Channel
| Channel | Value | Ý nghĩa |
|---|---|---|
| SQL Server Service | 0 | OK |
| SQL Server Service | 1 | DOWN |
| SQL Server Agent | 0 | OK |
| SQL Server Agent | 1 | DOWN |
| SQL Server Agent | 2 | Agent không tồn tại |
Cơ chế này giúp phát hiện chính xác lỗi mà không tạo cảnh báo giả.
🖥 Step 2 – Thêm Sensor trong PRTG
Thêm sensor mới:
Type: SSH Script Advanced
Script:
check_mssql_services.sh
PRTG sẽ đọc XML output và tự động tạo channel.
🚨 Step 3 – Cấu hình ngưỡng cảnh báo
Nếu SQL Agent được sử dụng:
Đặt threshold cảnh báo khi giá trị > 0.5
Nếu không dùng SQL Agent và không cần giám sát:
Đặt threshold là 3
Cách cấu hình này tránh cảnh báo không cần thiết.
🎯 Vì sao mô hình Giám sát SQL Server này hiệu quả?
Khi triển khai Giám sát SQL Server, bạn cần đảm bảo:
Phát hiện SQL service dừng
Phát hiện Agent dừng
Ngăn rủi ro backup thất bại
Giảm downtime hệ thống
Giải pháp này mang lại:
Monitoring nhẹ, hiệu quả
Hiển thị rõ trạng thái service
Cảnh báo tức thì khi lỗi xảy ra
Phù hợp môi trường production
Thay vì theo dõi quá nhiều metric phức tạp, chúng ta tập trung vào yếu tố quan trọng nhất: trạng thái dịch vụ.
🚀 Kết luận
Để triển khai Giám sát SQL Server 2022 với PRTG đúng chuẩn, bạn cần:
Tài khoản monitoring an toàn
Quyền tối thiểu nhưng đủ dùng
SSH Script Advanced theo dõi service
Ngưỡng cảnh báo hợp lý
Với cấu hình này, hệ thống giám sát SQL Server của bạn sẽ:
An toàn
Chính xác
Ổn định
Sẵn sàng cho môi trường doanh nghiệp
Bạn đã có một giải pháp giám sát SQL Server chuyên nghiệp, giúp phát hiện sự cố trước khi ảnh hưởng đến toàn bộ hệ thống.
Tham khảo thêm bài viết cùng chủ đề
P3 – Giải Pháp Mạnh Mẽ Giám Sát IP WAN Với PRTG
P3 – Giải Pháp Mạnh Mẽ Giám Sát IP WAN Với PRTG PRTG – P3 Giám Sát Internet & WAN IP Với PRTG Network Monitor Việc theo dõi kết nối Internet là yếu tố sống còn trong hạ tầng doanh nghiệp. Khi đường truyền WAN gặp sự cố, các dịch...
Read MoreP2 – Bảo mật PRTG Hiệu Quả: Đổi Port PRTG & SSL
P2 – Bảo mật PRTG Hiệu Quả: Đổi Port PRTG & SSL PRTG – P2 Secure PRTG with SSL | Enable HTTPS & Change Default Port Bảo mật hệ thống giám sát không phải là tùy chọn — đó là yêu cầu bắt buộc. Trong bài viết này, chúng ta...
Read MoreP1 – Hướng Dẫn Cài Đặt PRTG Hoàn Chỉnh Windows 10
P1 – Hướng Dẫn Cài Đặt PRTG Hoàn Chỉnh Windows 10 🚀 Cài đặt PRTG trên Windows 10 – Initial Setup & Configuration (P1) Nếu bạn đang bắt đầu triển khai hệ thống giám sát hạ tầng, thì việc Cài đặt PRTG đúng cách là bước nền tảng cực kỳ...
Read More