เชื่อมต่อ Upptime - แจ้งเตือนการมอนิเตอร์ Uptime
เชื่อม Upptime เข้ากับ Echobell เพื่อรับการแจ้งเตือนแบบพุชหรือสายโทรเข้าทันทีที่เว็บไซต์ของคุณล่ม คู่มือตั้งค่าที่ขับเคลื่อนด้วย GitHub Actions
คุณสามารถส่งต่ออีเวนต์เว็บล่มและกลับมาใช้งานได้ของ Upptime เข้าสู่ Echobell ได้โดยตรง เพื่อให้ทีมของคุณได้รับการแจ้งเตือนแบบพุชที่สำคัญตามเวลาหรือสายโทรเข้า โดยไม่ต้องสร้างไปป์ไลน์แยกต่างหาก คู่มือนี้เน้นการตั้งค่าฝั่ง Echobell และใช้ตัวแปรการแจ้งเตือนที่ Upptime มีให้อยู่แล้ว สำหรับตัวเลือกเฉพาะของ Upptime ดูได้ที่ เอกสารการแจ้งเตือนอย่างเป็นทางการ
ทำไมจึงควรใช้ Echobell สำหรับการแจ้งเตือนของ Upptime
- ยกระดับเป็นสายโทรเข้าสำหรับเหตุล่มขั้นวิกฤต ขณะที่การตรวจสอบทั่วไปยังคงเป็นการแจ้งเตือนแบบมาตรฐานหรือแบบสำคัญตามเวลา
- ใช้เทมเพลตและตัวแปรได้ ทำให้ทุกการแจ้งเตือนแสดงเว็บไซต์ที่ได้รับผลกระทบ สถานะ โค้ดตอบกลับ และลิงก์ไปยัง issue บน GitHub
- ไม่ต้องมีโครงสร้างพื้นฐานเพิ่ม แค่ใช้ webhook URL ที่ปลอดภัยของแต่ละช่อง Echobell
สิ่งที่ต้องเตรียม
- Upptime repository ที่มีอยู่แล้วและเปิดใช้ GitHub Actions
- สิทธิ์ในการเพิ่ม secret ของ GitHub repository
- ช่อง Echobell ที่มี webhook URL (ในแอป ให้เปิดช่องนั้น → คัดลอก webhook URL ของช่อง)
เตรียมช่อง Echobell
- สร้างหรือเปิดช่องใน Echobell แล้วเลือกรูปแบบการแจ้งเตือนที่คุณต้องการ (มาตรฐาน สำคัญตามเวลา หรือโทรเข้า)
- คัดลอก webhook URL ของช่อง ซึ่งจะมีหน้าตาแบบนี้
https://hook.echobell.one/t/<channel-token> - (ไม่บังคับ) ตั้งเทมเพลตที่ใช้ตัวแปรอย่าง
{{site}},{{status}},{{code}},{{url}}และ{{issue}}เพื่อให้การแจ้งเตือนของคุณมีโครงสร้างชัดเจน
เพิ่ม secret ของ Upptime สำหรับ Echobell
ใน Upptime repository ของคุณ ให้ไปที่ Settings → Secrets and variables → Actions แล้วเพิ่ม:
NOTIFICATION_CUSTOM_WEBHOOK=trueNOTIFICATION_CUSTOM_WEBHOOK_URL=https://hook.echobell.one/t/<channel-token>?site=$SITE_NAME&status=$STATUS&url=$SITE_URL&issue=$ISSUE_URL&code=$RESPONSE_CODE&emoji=$EMOJI- (ไม่บังคับ)
NOTIFICATIONS_DOWN_MESSAGE=$EMOJI $SITE_NAME is $STATUS ($RESPONSE_CODE) – $ISSUE_URL - (ไม่บังคับ)
NOTIFICATIONS_UP_MESSAGE=$EMOJI $SITE_NAME is back up – $SITE_URL
หมายเหตุ:
- พารามิเตอร์ใน query จะพาข้อมูลที่มีโครงสร้างเข้าสู่ Echobell โดย Upptime จะเติมค่าตัวแปรให้ และ Echobell จะเก็บค่าเหล่านั้นไว้เป็นตัวแปรของเทมเพลต (
site,status,url,issue,code,emoji) - เข้ารหัส URL ให้ถูกต้องเสมอ (แทนช่องว่างด้วย
%20หากคุณปรับแต่งข้อความ) เพื่อไม่ให้คำขอเสียหาย - ผู้ให้บริการแจ้งเตือนหรือกลยุทธ์อื่น ๆ ยังคงจัดการอยู่ใน Upptime ตามเดิม เพิ่มเฉพาะสิ่งที่คุณต้องการสำหรับ Echobell แล้วปล่อยส่วนที่เหลือไว้ในหน้า GitHub secrets
จับคู่ตัวแปรใน Echobell
ใช้เทมเพลตแบบกระชับเพื่อให้การแจ้งเตือนอ่านง่าย:
หัวข้อ: {{emoji}} Upptime: {{site}} มีสถานะ {{status}}
เนื้อหา: ตอบกลับ {{code}} · {{url}}
ลิงก์ภายนอก: {{issue}}
คุณสามารถเปลี่ยนรูปแบบการแจ้งเตือนของช่องเป็น "สำคัญตามเวลา" หรือ "โทรเข้า" สำหรับเว็บไซต์ที่มีความสำคัญสูง ในขณะที่ปล่อยเว็บไซต์อื่น ๆ ให้ใช้การแจ้งเตือนแบบพุชมาตรฐาน
ทดสอบการเชื่อมต่อ
- ลองชี้ URL ที่มอนิเตอร์อยู่ไปยังปลายทางที่ไม่มีอยู่จริงชั่วคราว หรือหยุดบริการเพื่อจำลองความล้มเหลว
- ยืนยันว่าการแจ้งเตือนมาถึง Echobell พร้อมข้อมูลในฟิลด์ของเทมเพลตครบถ้วน
- คืนค่าบริการให้กลับมาทำงาน แล้วตรวจสอบข้อความแจ้งว่ากลับมาใช้งานได้แล้ว
การแก้ปัญหา
- ตรวจสอบว่า
NOTIFICATION_CUSTOM_WEBHOOKและNOTIFICATION_CUSTOM_WEBHOOK_URLสะกดตรงกับในรายการ secret ทุกตัวอักษร - หากคุณเปลี่ยนโทเคนของช่อง Echobell อย่าลืมอัปเดต secret ด้วย
- สำหรับความล้มเหลวฝั่ง Upptime หรือผู้ให้บริการเพิ่มเติม ให้ดูที่ เอกสารอย่างเป็นทางการ และล็อกของ GitHub Actions