Hướng dẫn thực hành · MikroTik

Trong trang này

Cài cảnh báo Zalo Bot cho MikroTik

Bản này dành cho RouterOS 6.49.x và 7. Nó thay bộ Telegram đang dùng bằng Zalo, nhưng giữ nguyên tên pppoe-monitor, scheduler, state, ngưỡng và ba nhóm cảnh báo. Không chạy song song hai kênh.

Hai file cài đặt: zalo-pppoe-monitor-install.rsczalo-network-alerts-install.rsc.

1. Tạo bot và lấy Chat ID

Mở Zalo, tìm OA Zalo Bot Manager, chọn Tạo bot để mở Zalo Bot Creator. Đặt tên bắt đầu bằng Bot, tạo xong nhận Bot Token qua tin nhắn Zalo. Xem hướng dẫn chính thứccách lấy Chat ID trong dự án. Thêm bot vào chat cá nhân hoặc group cần nhận cảnh báo. Gửi một tin nhắn vào chat đó, sau đó xem message.chat.id từ API getUpdates.

Chỉ dùng getUpdates khi bot không đặt webhook; Zalo quy định hai cơ chế này loại trừ nhau. Không đưa Bot Token vào ảnh chụp, log, Git hoặc URL công khai.

2. Chuẩn bị TLS và CA

Cả tải installer lẫn gửi Zalo đều bắt buộc check-certificate=yes. RouterOS 7 có thể dùng kho CA tích hợp nếu đang cập nhật; RouterOS 6 thiếu CA phải import CA tin cậy từ nhà phát hành/chứng chỉ chính thức rồi đặt trusted=yes. Xem Certificates của MikroTikFetch. Không tắt xác thực certificate để che lỗi TLS.

3. Cài nhanh PPPoE Monitor

Trước khi làm, backup router và chuẩn bị đường khôi phục tại chỗ. File cài dài có thể vượt giới hạn 100 thao tác của Safe Mode; không coi đó là rollback toàn bộ. Với RouterOS 7, kiểm tra /system/device-mode/print; cần fetch=yesscheduler=yes.

:global zaloMonInstallBotToken "BOT_TOKEN"; :global zaloMonInstallChatId "CHAT_ID"

Nếu WAN không phải tên mặc định, khai báo thêm. pppoe-out2 tới pppoe-out4 là tùy chọn.

:global zaloMonInstallPppoe1 "WAN1"; :global zaloMonInstallPppoe2 "WAN2"; :global zaloMonInstallPppoe3 "WAN3"; :global zaloMonInstallPppoe4 "WAN4"
/tool fetch url="https://mikrotik.thachanhitt.vn/zalo-pppoe-monitor-install.rsc" dst-path="zalo-pppoe-monitor-install.rsc" check-certificate=yes; /import file-name="zalo-pppoe-monitor-install.rsc"; /file remove [find where name="zalo-pppoe-monitor-install.rsc"]

Installer tắt tạm ba scheduler mở rộng và DHCP Alert cũ, thay các script cùng tên bằng bản Zalo, giữ nguyên state PPPoE, đặt marker pppMonNotifyChannel="zalo", rồi xóa credential Telegram còn lưu trong global RAM. Token Zalo không được ghi log.

4. Gửi thử và kiểm tra PPPoE

/system script run pppoe-monitor
/log print where message~"PPPoE-MON"
:global pppMonNotifyChannel; :put $pppMonNotifyChannel

Sender dùng POST JSON với chat_idtext tới Zalo sendMessage. Nội dung rỗng hoặc quá 2.000 ký tự bị từ chối; chỉ response có "ok":true mới tính gửi thành công.

Để kiểm tra DOWN/phục hồi thật, ngắt đúng một PPPoE, chờ đủ 3 lần đo, sau đó khôi phục. Đừng dùng kết quả import hoặc log tĩnh để kết luận runtime đã đạt.

5. Cài cảnh báo mở rộng

Chỉ chạy sau khi marker đã là zalo.

/tool fetch url="https://mikrotik.thachanhitt.vn/zalo-network-alerts-install.rsc" dst-path="zalo-network-alerts-install.rsc" check-certificate=yes; /import file-name="zalo-network-alerts-install.rsc"; /file remove [find where name="zalo-network-alerts-install.rsc"]

Ba nhóm được tạo lại ở disabled=yes. Chạy thử một nhóm, xem log/Zalo, rồi bật riêng nhóm cần dùng:

/system script run network-alert-router
/system scheduler enable [find where name="network-alert-router-every-1m"]
/system scheduler enable [find where name="network-alert-wan-every-1m"]
/system scheduler enable [find where name="network-alert-lan-security-every-1m"]

Kiểm tra DHCP Alert trước khi bật nhóm LAN Security:

/ip dhcp-server alert print detail

Cài thủ công / source

Không dán source dài trực tiếp vào Terminal. Tạo các script có đúng tên runtime rồi dán source từ file tương ứng:

Tạo scheduler pppoe-monitor-every-3m chạy /system script run pppoe-monitor; các scheduler nhóm mở rộng giữ Disabled đến khi thử xong.

Khi cài thủ công, điền pppMonPppoe1 tới pppMonPppoe4 trong config; các WAN tùy chọn không dùng để chuỗi rỗng. Giữ marker pppMonMaxLines=4. Tạo route probe theo phần cài thủ công Telegram, chỉ thêm route của WAN có thật và dùng đúng gateway. Route và nguồn monitor dùng chung cơ chế giữa hai kênh. Không chỉ tạo script mà bỏ route hoặc quyền scheduler. Xem nâng cấp 4 WAN.