Bài trước, mình đã giới thiệu các hệ thống miễn phí giúp theo dõi Website có bị rớt mạng hay gặp sự cố không, nếu Website bị sập bạn sẽ nhận được cảnh báo về Email hoặc Telegram, SMS… Nếu bạn không muốn sử dụng Website bên thứ 3, thì bạn có thể tự tạo cho mình hệ thống cảnh báo riêng với Docker của Uptime Kuma.
Cài đặt Uptime Kuma để cảnh báo khi Website gặp sự cố rớt mạng Downtime
Chắc hẵn là Webmaster hay Admin sẽ rất đau đầu nếu Website bị sự cố trong thời gian dài mà bạn không phát hiện ra. Giải pháp tốt nhất là xây dựng hệ thống cảnh báo khi Website bị lỗi, không thể truy cập được sẽ có thông báo gửi về tin nhắn cho bạn.
Bài trước mình giới thiệu 3 cách để cảnh báo Website bị Down, nhưng là dùng hệ thống bên thứ 3 và không tinh chỉnh được nhiều. Hôm nay mình sẽ hướng dẫn cách tạo hệ thống báo động khi Website gặp sự cố với Uptime Kuma với tần số quét 20 giây/lần, giúp bạn kịp thời phát hiện khi Website không còn truy cập được.
Trong bài viết này mình tận dụng VPS Orcale Free vĩnh viển trọn đời 1Core – 1GB RAM để cài Uptime Kuma
Tính năng Uptime Kuma là gì?
- Theo dõi thời gian hoạt động cho Từ khóa HTTP(s)/TCP/Ping/DNS Record/Push/Steam Game Server/Docker Containers.
- Fancy, Reactive, Fast UI / UX.
- Thông báo sự cố qua Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP) và 90 nền tảng nhắn tin khác
- Theo dõi mỗi 20 giây/lần
- Hỗ trợ ngôn ngữ
- Nhiều trang trạng thái
- Biểu đồ ping
- Thông báo thời hạn SSL
- Hỗ trợ proxy
- Hỗ trợ 2FA
Cách cài đặt Uptime Kuma là gì?
Dùng Docker
Trên Terminal gõ lệnh:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Sau khi chạy xong thì bạn vào được Uptime Kuma rồi đó.
Trên trình duyệt mở đường dẫn: http://IP-Pubic:3001
Ví dụ: http://192.152.11.15:3001
Cài Uptime Kuma thủ công
Yêu cầu đã cài sẵn:
- Node.js
- Git
- pm2
Mở Terminal và gõ lệnh:
sudo apt update sudo apt install nodejs sudo apt install npm npm install npm -g git clone https://github.com/louislam/uptime-kuma.git cd uptime-kuma npm run setup npm install pm2 -g && pm2 install pm2-logrotate pm2 start server/server.js --name uptime-kuma
Sau khi chạy xong thì bạn vào được Uptime Kuma rồi đó.
Trên trình duyệt mở đường dẫn: http://IP-Pubic:3001
Cách sử dụng Uptime Kuma gửi tin nhắn tới Telegram khi Website bị Down
Sau khi cài Uptime Kuma xong, bạn cần tạo tài khoản để quản lý.
Sau đó truy cập vào giao diện chính của Uptime Kuma, chọn
Nhập thông tin như sau:
- Monitor Type: HTTP(s)
- Friendly Name: Đặt tên cho Website của bạn
- URL: địa chỉ Website cần theo dõi
- Heartbeat Interval (Check every 20 seconds): Thời gian kiểm tra, ít nhất 20 giây/lần. Theo mình nên để 20 giây là đẹp
- Retries: số lần kiểm tra lại khi Website bị Down, nên để 0 để thử liên tục đến khi Website sống trở lại
- Heartbeat Retry Interval (Retry every 20 seconds): số giây mỗi lần thử lại khi Website bị Down, nên để 20
Tiếp theo bạn nhấn vào nút Setup Notification, để cấu hình tính năng cảnh báo về Telegram.
Bạn mở Telegram lên, tìm đến BotFather: @BotFather hoặc vào đường dẫn này: https://t.me/BotFather
Nhấn nút Start
Lần lượt gõ lệnh sau vào bot Father:
/newbot
canhbao_bot
hoặc đặt tên khác tùy bạn
canhbao_website_bot
hoặc đặt tên khác tùy bạn
Sau đó bạn sẽ thấy 1 link và 1 HTTP API (lưu ý đoạn mã này để xíu Copy lại) như hình dưới
Click vào link t.me/xxxxxxxxxxxx mà bot đưa cho bạn (4), nhấn vào nút Start để chat với bot của bạn
Sau đó nhắn chao anonyviet
với con bot vừa tạo
Bây giờ quay lại trang Uptime Kuma, trong phần Setup Notification, bạn thực hiện từng bước như sau:
- Notification Type: Telegram
- Friendly Name: Đặt tên tùy thích
- Bot Token: Copy đoạn HTTP API mà con Bot Father cung cấp cho bạn
- Click vào nút Auto Get, bạn sẽ thấy dãy số xuất hiện ở phần ID chat (trường hợp ko thấy dãy số xuất hiện thì bạn vào chat với con bot bạn vừa tạo nhé)
- Save
Ba
V
Vậy là xong, quay lại trang Setup nhấn nút Save lần nửa/
Bây giờ bạn thử cho sập Website của mình bằng cách chỉnh DNS Website về IP 127.0.0.1, bạn sẽ nhận được thông báo từ Telegram tương tự như sau:
Ngoài Telegram bạn có thể cấu hình để gửi Email, Slack, Signal, Microsoft Teams…. tùy nhu cầu nhé