Webhook discord là gì

Thứ hai, 27/07/2020 | 00 : 00 GMT + 7

Khi bạn có các trang web quan trọng, bạn cần biết khi nào chúng gặp sự cố nào để bạn có thể khắc phục chúng trước khi có tác động đến user của bạn. Một cách để nhận thông báo là cài đặt cảnh báo thông qua hệ thống chat text.
Discord là một mạng lưới hệ thống chat được tàng trữ tương tự như như Slack. Với Discord, bạn hoàn toàn có thể setup một mạng lưới hệ thống gửi tin nhắn không tính tiền được cho phép bạn tiếp xúc bằng tin nhắn, hình ảnh, âm thanh và video. Mặc dù nó phân phối những tính năng hạng sang, bạn hoàn toàn có thể ĐK không lấy phí và nó có sẵn những ứng dụng client cho Windows, macOS, Linux, Android và iOS .

Trong hướng dẫn này, bạn sẽ cấu hình server Discord của riêng mình, tạo webhook Discord, viết tập lệnh Bash để kiểm tra trạng thái của danh sách các trang web và kiểm tra thông báo từ server đến kênh Discord của bạn.

Bạn có thể tham khảo thêm Dịch vụ theo dõi server tại UpTimeRobot
//uptimerobot.vn/

Trước khi bắt đầu, bạn cần các thành phần sau:

  • Server Ubuntu 18.04 sẽ chạy tập lệnh giám sát của bạn và nói chuyện với Discord ( server theo dõi ). Bạn có thể cài đặt server này theo Hướng dẫn Cài đặt Server Ban đầu này.

  • Nếu bạn chưa có trang web mà mình muốn theo dõi, hãy cài đặt server apache bằng Cách cài đặt web server Apache trên Ubuntu 18.04 và đảm bảo hoàn thành Bước 5 về cài đặt VirtualHost.

  • Một account Discord. Bạn hoàn toàn có thể truy vấn trang ĐK Discord để ĐK account Discord không tính tiền .

Khi bạn đã mở account Discord của bạn, bạn hoàn toàn có thể tạo server Discord riêng của bạn .

Đầu tiên, đăng nhập vào account Discord của bạn trong trình duyệt hoặc chạy ứng dụng Discord của bạn và nhấp vào nút Tạo server .

Sau đó, chọn một tên cho server và nhấp vào nút Tạo server .

Tiếp theo, bạn sẽ thông số kỹ thuật webhook Discord của bạn. Webhook là những URL duy nhất mà bạn hoàn toàn có thể sử dụng để link những dịch vụ với nhau. Webhooks của Discord được cho phép bạn tự động hóa tin nhắn của bạn và gửi update tài liệu đến những kênh Discord của bạn .
Trong hướng dẫn này, bạn sẽ gửi thông tin đến webhook của bạn khi một dịch vụ đơn cử trên server gặp sự cố và Discord sẽ bảo vệ bạn nhận được những thông tin đó trên kênh của bạn .

Để tạo webhook, trước tiên bạn phải nhấp vào kênh của bạn, sau đó nhấp vào nút Chỉnh sửa kênh ngay bên cạnh tên kênh của bạn.

Sau đó nhấp vào tab Webhooks và nhấp vào nút Create Webhook .

Sau đó, chọn một tên cho webhook của bạn, trong hướng dẫn này, ta sẽ sử dụng Alerts vì Đây là kết quả tập lệnh Bash sẽ thực hiện — thông báo cho ta trong trường hợp một trong các trang web gặp sự cố.

Sao chép URL webhook của bạn và lưu nó để sử dụng sau. Cuối cùng, nhấp vào nút Lưu .

Đến đây bạn có account Discord, server và webhook của bạn. Đến đây bạn hoàn toàn có thể chuyển sang tạo file thử nghiệm cho tập lệnh của bạn để theo dõi .

Nếu bạn chưa có trang web của riêng mình để kiểm tra, hãy hoàn thành bước này để thêm file kiểm tra nhằm kiểm tra cách hoạt động của tập lệnh giám sát. Đảm bảo chạy các lệnh này trên server apache của bạn.

Đầu tiên, tạo file thử nghiệm bằng lệnh sau :

  • nano /var/www/your_domain/test

Thêm một số ít nội dung vào file, để bạn hoàn toàn có thể kiểm tra xem nó đang hoạt động giải trí :
kiểm tra

test

Lưu và thoát khỏi file .

Bây giờ, hãy chuyển đến // your_domain /test trong trình duyệt của bạn đảm bảo bạn có thể nhận được văn bản trong file test .

Trong bước tiếp theo, bạn sẽ khởi đầu kiến thiết xây dựng tập lệnh giám sát của bạn .

Đến đây bạn đã cấu hình webhook của bạn, bạn sẽ tiếp tục và tạo tập lệnh Bash để kiểm tra mã phản hồi của các trang web. Trong trường hợp bất kỳ trang web nào trả về trạng thái khác với 200 OK, tập lệnh của bạn sẽ gửi yêu cầu đến webhook Discord để bạn nhận được thông báo trong kênh Discord của bạn .

Lưu ý: Bạn có thể sử dụng bất kỳ ngôn ngữ lập trình nào khác để xây dựng một tập lệnh như thế này.

SSH đầu tiên vào server theo dõi mà bạn đang sử dụng để chạy tập lệnh giám sát của bạn .

Bắt đầu bằng cách tạo một file trong folder chính của bạn. Ta sẽ gọi file check_status.sh trong hướng dẫn này.

Với editor yêu dấu của bạn, hãy mở file :

Để trình nạp chương trình nhận dạng file thực thi này là một tập lệnh Bash, hãy thêm dòng sau vào đầu file :
~ / check_status. sh

#!/bin/bash

Tất cả các dòng bắt đầu bằng # là một comment. Comment là tùy chọn, nhưng có comment trong tập lệnh của bạn sẽ giúp người khác hiểu tập lệnh đó dễ dàng hơn:

~ / check_status. sh

#!/bin/bash ## # Website status check script # Author: Your Name # Date: 01/01/2020 ##. ..

Tiếp theo, chỉ định webhook Discord của bạn làm biến. Thêm URL bạn đã sao chép trước đó cho webhook của bạn :
~ / check_status. sh

.. . ## # Discord webhook # Change the 'your_discord_webhook_name' with your actual Discord Webhook ## url="your_discord_webhook_name". ..

Vì bạn có thể sẽ sử dụng tập lệnh này để kiểm tra trạng thái của nhiều trang web, hãy tạo một biến có tên là websites_list và lưu trữ domain hoặc địa chỉ IP của các trang web mà bạn muốn theo dõi. Nếu bạn đang sử dụng file kiểm tra tùy chọn trong hướng dẫn này, hãy đảm bảo thêm /test sau domain hoặc địa chỉ IP của bạn:

~ / check_status. sh

.. . ## # List of websites to check ## websites_list="your_domain/test". ..

Trong trường hợp bạn đang theo dõi nhiều trang web, bạn có thể thêm nhiều domain hoặc địa chỉ IP vào biến websites_list và sử dụng khoảng trắng làm dấu phân cách:

~ / check_status. sh

.. . websites_list="your_domain1/test

your_domain2

your_domain3". ..

Đến đây bạn cần xem qua danh sách các trang web và kiểm tra trạng thái của chúng. Để thực hiện, hãy thêm vòng lặp for sau vào file:

~ / check_status. sh

.. . for website in ${websites_list} ; do status_code=$(curl --write-out %{http_code} --silent --output /dev/null -L ${website}) echo $status_code done. ..

Vòng lặp for này sẽ đi qua từng mục trong biến websites_list và kiểm tra trạng thái của trang web bằng lệnh curl .

Câu lệnh echo $status_code sẽ in ra trạng thái phản hồi của lệnh curl. Nếu trang web đang chạy như mong đợi, lệnh curl sẽ trả về mã phản hồi 200 OK, nghĩa là trang web đang hoạt động. Nếu không, bạn sẽ nhận được một mã phản hồi khác.

Bên trong for vòng lặp, thêm một if tuyên bố để kiểm tra xem mã phản hồi là 200 hay không. Nếu mã phản hồi là 200 thì điều này nghĩa là trang web đang chạy và bạn sẽ không cần thông báo Discord. Thêm khối điều kiện sau vào file:

~ / check_status. sh

.. . if [[ "$status_code" -ne 200 ]] ; then # POST request to Discord Webhook with the domain name and the HTTP status code else echo "${website} is running!" fi. ..

Nếu có sự cố nào với website thì bạn sẽ nhận được mã phản hồi khác, trong trường hợp này, bạn cần nhận được thông tin qua webhook Discord của bạn .

Để gửi thông báo, bạn có thể sử dụng lệnh curl để gửi yêu cầu POST đến URL webhook Discord.

Thêm yêu cầu curl sau vào câu lệnh if của bạn:

~ / check_status. sh

.. . if [[ "$status_code" -ne 200 ]] ; then # POST request to Discord Webhook with the domain name and the HTTP status code curl - H " Content-Type : application / json " - X POST - d ' { " content " : " ' " USD { domain } returned : USD { status_code } " ' " } ' USD url else echo "${website} is running!" fi. ..

Bây giờ ta hãy xem xét những đối số khác nhau :

  • -H : Cho curl biết rằng bạn muốn thêm tiêu đề phụ vào yêu cầu của bạn .
  • "Content-Type: application/json" : Xác định kiểu dữ liệu mà webhook sẽ mong đợi (HTTP JSON).
  • -X POST : Chỉ định rằng bạn muốn sử dụng POST làm phương thức yêu cầu.
  • -d : Gửi dữ liệu JSON được chỉ định tới Discord Webhook.

Đây sẽ là version sau cuối của tập lệnh của bạn :
~ / check_status. sh

#!/bin/bash ## # Website status check script # Author: Your Name # Date: 01/01/2020 ## ## # Discord webhook # Change the 'your_discord_webhook_name' with your actual Discord Webhook ## url="your_discord_webhook_name" ## # List of websites to check # To add more websites just use space as a separator, for example: # websites_list="your_domain1 your_domain2 your_domain3" ## websites_list="your_domain/test your_domain2" for website in ${websites_list} ; do status_code=$(curl --write-out %{http_code} --silent --output /dev/null -L ${website}) if [[ "$status_code" -ne 200 ]] ; then # POST request to Discord Webhook with the domain name and the HTTP status code curl -H "Content-Type: application/json" -X POST -d '{"content":"'"${domain} : ${status_code}"'"}' $url else echo "${website} is running!" fi done

Tập lệnh sẽ lặp qua list này và kiểm tra trạng thái cho từng website .
Chạy tập lệnh bằng lệnh sau bảo vệ nó hoạt động giải trí như mong đợi :

Sau khi chạy tập lệnh, bạn sẽ nhận được hiệu quả sau trong terminal xác nhận website đang chạy :

Output

your_domain1 is running! your_domain2 is running!

Tiếp theo, bạn sẽ kiểm tra thông tin Discord của bạn .

Bây giờ đã đến lúc kiểm tra xem webhook của bạn có hoạt động giải trí như mong đợi hay không bằng cách sử dụng file thử nghiệm .

Trên server apache, hãy chạy lệnh sau để đóng quyền truy cập vào file này:

  • sudo chmod 000 /var/www/your_domain/test

Tiếp theo, quay lại server theo dõi của bạn và chạy tập lệnh:

Di chuyển đến ứng dụng Discord của bạn và kiểm tra các cảnh báo, bạn sẽ nhận được lỗi : 403. Điều này cho thấy rằng bạn không có các quyền được đặt chính xác và bị cấm xem file .

Bây giờ, để kiểm tra một lỗi khác, hãy xóa hoàn toàn file này khỏi server apache của bạn:

  • sudo rm /var/www/your_domain/test

Tiếp theo, quay lại server theo dõi của bạn và chạy tập lệnh:

Di chuyển đến ứng dụng Discord của bạn và kiểm tra cảnh báo, bạn sẽ nhận được lỗi : 404. Điều này cho thấy rằng file không có sẵn.

Nếu bạn đã thiết lập Discord trên điện thoại cảm ứng của bạn, bạn cũng sẽ nhận được cảnh báo nhắc nhở ở đó .
Bây giờ, bạn có một tập lệnh cảnh báo nhắc nhở bạn khi website gặp sự cố nào. Tiếp theo, hãy thông số kỹ thuật tập lệnh để chạy tự động hóa lặp lại i năm phút một lần .

Một trong những cách để tự động hóa việc kiểm tra là tạo một việc làm cron sẽ chạy sau mỗi 5 phút hoặc lâu hơn .

Đầu tiên, quay lại server theo dõi của bạn. Sau đó, trước khi bạn có thể chạy tập lệnh tự động, bạn cần phải sắp xếp các quyền đối với file của bạn và đảm bảo tập lệnh có thể thực thi, nếu không, tập lệnh sẽ không chạy. Để chạy tập lệnh thực thi:

  • chmod u+x ~/check_status.sh

Chạy phần sau để chỉnh sửa crontab của bạn :

Sau đó, thêm phần sau vào file :

*/5 * * * * /home/your_user/check_status.sh

Sau đó, lưu crontab và tập lệnh của bạn sau đó sẽ thực thi 5 phút một lần.

Trong bài viết này, bạn đã thông số kỹ thuật webhook Discord và tạo một tập lệnh để thông tin cho bạn trong trường hợp một lỗi đơn cử xảy ra trên website. Đến đây bạn hoàn toàn có thể sử dụng ngôn từ lập trình yêu dấu của bạn và viết một bot phức tạp hơn .

Để tìm hiểu thêm về Discord webhooks, bạn có thể xem tài liệu chính thức của Discord Webhooks .

Các tin liên quan

Cách cài đặt Discourse trên Ubuntu 18.04
2020-07-14
Cách cài đặt Discourse trên Ubuntu 20.04
2020-07-14
Cách thiết lập máy tính từ xa với X2Go trên Ubuntu 20.04
2020-07-14
Cách tập trung log với Journald trên Ubuntu 20.04
2020-07-10
Cách cài đặt và cấu hình Drone trên Ubuntu 20.04
2020-07-09
Cách thiết lập Mattermost trên Ubuntu 18.04
2020-07-07
Cách cài đặt Jenkins trên Ubuntu 20.04
2020-07-03
Cách cài đặt và cấu hình Zabbix để giám sát an toàn server từ xa trên Ubuntu 20.04
2020-06-30
Cách thiết lập ứng dụng Node.js để sản xuất trên Ubuntu 20.04
2020-06-30
Cách cài đặt WordPress trên Ubuntu 20.04 với LAMP
2020-06-30

Video liên quan

Chủ đề