Robot giao dịch tự động đã chạy hơn một tuần, bỗng dưng có một buổi sáng không bắt được tín hiệu. Mình mới nhận ra — quy trình tự động hóa đặt trên server và chạy script tại chỗ là hoàn toàn khác nhau, phải thực sự giám sát mới yên tâm được.

Cách mình làm là thiết lập cảnh báo đa lớp. Đầu tiên, mỗi lần cron chạy xong đều ghi lại timestamp last_run_at. Nếu lần kiểm tra tiếp theo thấy nó vượt quá 2 lần thời gian dự kiến, mình sẽ lập tức nhận thông báo. Ví dụ: bình thường chạy mỗi 15 phút, mà 30 phút không có cập nhật thì phải cảnh giác rồi. Cách này có thể bắt lỗi ngay từ giai đoạn đầu, không phải chờ đến khi hoàn toàn sụp đổ mới phát hiện.

Tiếp theo là bảo vệ API. Giao diện Binance đôi khi gặp trục trặc, một hai lần thất bại không đáng sợ, nhưng nếu gọi liên tục 3 lần mà thất bại, mình tự động ngắt kết nối 24 giờ, hoàn toàn dừng hoạt động. Cách này giúp tránh việc chỉnh sửa liên tục trong thời gian gặp lỗi dẫn đến thiệt hại lớn hơn. Ngắt kết nối chính là một biện pháp bảo vệ.

Nói chi tiết hơn, mỗi lần thực hiện thành công hoặc đăng bài xong, mình đều lưu lại một file trạng thái. Ghi lại thời gian, số thao tác, số lỗi, phân bố số chữ. Như vậy 30 ngày lịch sử đều ở đó, có thể xem lại xu hướng bất cứ lúc nào. Để dữ liệu lên tiếng.

Cuối cùng, mỗi tuần mình dành 30 phút để xem xét thống kê: tỷ lệ đăng bài, tỷ lệ lỗi, phân bố số chữ có bất thường không. Đôi khi sẽ phát hiện một số mô hình mà cảnh báo tự động không bắt được, sửa chữa kịp thời.

Giám sát đúng cách mới thực sự yên tâm không phải canh chừng. Mục tiêu cuối cùng của tự động hóa không phải là để lười biếng, mà là để vận hành ổn định ở phía sau, tập trung đưa ra quyết định cao hơn ở phía trước.

$BTC #DevOps #TựĐộngHóa