Giám sát VPS MT5: cần theo dõi gì, kiểm tra thế nào, và tự động hoá đến đâu
2026-09-07
Giám sát VPS MT5 là trả lời một câu hỏi mỗi vài phút mà không cần mở RDP: EA có thật sự đang giao dịch, hay chỉ trông như còn sống? Năm tín hiệu trả lời câu đó. Ba tín hiệu đọc được ngay trên VPS, hai tín hiệu cần một thứ nằm ngoài terminal để kiểm tra. Dưới đây là cần theo dõi gì, ngưỡng của từng cái, và điểm mà một script không còn đủ.
Tín hiệu 1: tiến trình có chạy từ đúng thư mục không?
Việc đầu tiên không phải "MT5 có mở không" mà là "terminal64.exe có đang chạy từ thư mục của đúng tài khoản này không". Với mỗi tài khoản một terminal portable, thiếu tiến trình nghĩa là terminal đã chết (Windows Update khởi động lại, crash, ai đó tắt). PowerShell trên VPS:
Get-Process terminal64 -ErrorAction SilentlyContinue | Select-Object Id, Path
Ngưỡng: bất kỳ thư mục mong đợi nào không có tiến trình là cảnh báo đỏ. Hành động: mở lại (Start-Process "C:\MT5\acct-01\terminal64.exe" -ArgumentList "/portable").
Tín hiệu 2: terminal có nối được broker không?
Terminal có thể mở cả ngày với "No connection" ở góc. EA vẫn chạy vòng lặp; mọi OrderSend đều lỗi. Từ trong EA, TerminalInfoInteger(TERMINAL_CONNECTED) cho biết; từ ngoài, log Journal (MQL5\Logs\YYYYMMDD.log) lặp lại connection to ... failed. Ngưỡng: mất kết nối quá 2 phút trong giờ thị trường. Hành động: khởi động lại terminal; nếu báo "Invalid account", mật khẩu đã đổi và khởi động lại không cứu được.
Tín hiệu 3: EA có thật sự chạy không? (heartbeat)
Đây là tín hiệu bắt được mọi thứ còn lại: AutoTrading tắt sau khởi động lại, EA bị gỡ khỏi chart, vòng lặp lỗi margin, terminal treo. EA ghi một file nhỏ mỗi phút:
// trong OnTimer() với EventSetTimer(60), hoặc trong OnTick()
int h = FileOpen("health.txt", FILE_WRITE|FILE_TXT|FILE_COMMON);
if (h != INVALID_HANDLE) { FileWrite(h, TimeCurrent()); FileClose(h); }
Một thứ bên ngoài terminal đọc thời gian sửa đổi của file. Ngưỡng: cũ hơn 3–5 phút trong giờ thị trường nghĩa là EA đã dừng, bất kể danh sách tiến trình nói gì. Một kiểm tra này đáng giá hơn bốn cái còn lại cộng lại, vì nó đo kết quả chứ không đo bộ máy.
Tín hiệu 4: RAM và CPU của máy
Terminal treo từng cái khi RAM vượt khoảng 85%; tick đến muộn và EA báo timeout dù mạng khoẻ. Dự trù 300–350 MB mỗi terminal cộng 600–800 MB cho Windows (chi tiết ở bài chạy nhiều MT5 trên một VPS). Ngưỡng: RAM trên 85% hoặc CPU trên 90% trong 5 phút. Hành động: đóng bớt chart, giảm "Max bars in chart", hoặc chuyển một terminal sang VPS khác.
Tín hiệu 5: VPS còn với tới được không?
Cả máy có thể biến mất: nhà cung cấp bảo trì, khởi động lại bị treo, mất mạng. Chỉ thứ gì đó bên ngoài VPS mới thấy được. Một heartbeat từ VPS về server (hoặc dịch vụ ping uptime rẻ tiền) với ngưỡng bỏ lỡ một cửa sổ 5 phút là đủ. Chọn VPS không tự khởi động lại là một nửa trận đánh; xem chọn VPS chạy EA MT5.

Bản tự làm
Một script PowerShell chạy Task Scheduler mỗi 5 phút phủ được tín hiệu 1, 3 và 4 trên một VPS: liệt kê tiến trình, so thời gian file heartbeat, đọc bộ đếm RAM, gửi Telegram qua Bot API khi vượt ngưỡng, và mở lại terminal thiếu. Khoảng 60 dòng. Thứ nó không làm được: thấy cả máy tối đen (tín hiệu 5), cho bạn nhìn mười VPS trên một màn hình, cài EA đã sửa lên mọi máy, hay báo rằng chính script đã chết. Đó là lý do người ta chuyển sang một control plane khi chạy hơn hai ba máy.
"Tự động hoá" trông như thế nào
AutoBotCenter cài một agent trên mỗi VPS. Mỗi vòng, agent liệt kê mọi terminal đang chạy (kể cả cái bạn mở tay), đọc heartbeat của EA, báo RAM/CPU/ổ đĩa, và dựng lại terminal thiếu; phía server nhận ra khi cả VPS ngừng báo và gửi cảnh báo Telegram. Tất cả nằm trên một dashboard cho mọi VPS bạn có, cài EA từ xa, và không có API đặt lệnh (không thể mở, sửa hay đóng lệnh). Gói free đủ cho một VPS, đủ để thấy cả năm tín hiệu chạy trên setup của bạn trước khi quyết định phần còn lại của fleet có nên ở đó không.
Làm ngay
- Mỗi terminal một thư mục portable; chạy từ Task Scheduler với "run whether user is logged on or not".
- Thêm sáu dòng heartbeat vào EA (hoặc một indicator trên cùng chart) và kiểm tra file có được ghi.
- Đặt ngưỡng: thiếu tiến trình = khởi động lại; heartbeat cũ hơn 5 phút = cảnh báo; RAM > 85% = cảnh báo; VPS im lặng một cửa sổ 5 phút = cảnh báo.
- Đưa cảnh báo về Telegram, không phải email — 3 giờ sáng bạn đọc Telegram.
- Ghi lại máy nào chạy EA phiên bản nào. Lệch phiên bản cũng là lỗi im lặng.
Muốn khỏi mở RDP từng máy?
AutoBotCenter gom mọi VPS, MT5 và EA của bạn về một dashboard: watchdog tự dựng MT5 chết, cài EA từ xa, cảnh báo Telegram. Gói Free đủ chạy 1 VPS, không cần thẻ.
Dùng thử miễn phí


