---
title: "เชื่อมต่อ Upptime - แจ้งเตือนการมอนิเตอร์ Uptime"
sidebarTitle: Upptime
description: เชื่อม Upptime เข้ากับ Echobell เพื่อรับการแจ้งเตือนแบบพุชหรือสายโทรเข้าทันทีที่เว็บไซต์ของคุณล่ม คู่มือตั้งค่าที่ขับเคลื่อนด้วย GitHub Actions
---

import { Step, Steps } from "fumadocs-ui/components/steps";

# การเชื่อมต่อกับ Upptime

คุณสามารถส่งต่ออีเวนต์เว็บล่มและกลับมาใช้งานได้ของ Upptime เข้าสู่ Echobell ได้โดยตรง เพื่อให้ทีมของคุณได้รับการแจ้งเตือนแบบพุชที่สำคัญตามเวลาหรือสายโทรเข้า โดยไม่ต้องสร้างไปป์ไลน์แยกต่างหาก คู่มือนี้เน้นการตั้งค่าฝั่ง Echobell และใช้ตัวแปรการแจ้งเตือนที่ Upptime มีให้อยู่แล้ว สำหรับตัวเลือกเฉพาะของ Upptime ดูได้ที่ [เอกสารการแจ้งเตือนอย่างเป็นทางการ](https://upptime.js.org/docs/notifications)

## ทำไมจึงควรใช้ Echobell สำหรับการแจ้งเตือนของ Upptime

- ยกระดับเป็นสายโทรเข้าสำหรับเหตุล่มขั้นวิกฤต ขณะที่การตรวจสอบทั่วไปยังคงเป็นการแจ้งเตือนแบบมาตรฐานหรือแบบสำคัญตามเวลา
- ใช้เทมเพลตและตัวแปรได้ ทำให้ทุกการแจ้งเตือนแสดงเว็บไซต์ที่ได้รับผลกระทบ สถานะ โค้ดตอบกลับ และลิงก์ไปยัง issue บน GitHub
- ไม่ต้องมีโครงสร้างพื้นฐานเพิ่ม แค่ใช้ webhook URL ที่ปลอดภัยของแต่ละช่อง Echobell

## สิ่งที่ต้องเตรียม

- Upptime repository ที่มีอยู่แล้วและเปิดใช้ GitHub Actions
- สิทธิ์ในการเพิ่ม secret ของ GitHub repository
- ช่อง Echobell ที่มี webhook URL (ในแอป ให้เปิดช่องนั้น → คัดลอก webhook URL ของช่อง)

<Steps>
<Step>
### เตรียมช่อง Echobell

1. สร้างหรือเปิดช่องใน Echobell แล้วเลือกรูปแบบการแจ้งเตือนที่คุณต้องการ (มาตรฐาน สำคัญตามเวลา หรือโทรเข้า)
2. คัดลอก webhook URL ของช่อง ซึ่งจะมีหน้าตาแบบนี้ `https://hook.echobell.one/t/<channel-token>`
3. (ไม่บังคับ) ตั้งเทมเพลตที่ใช้ตัวแปรอย่าง `{{site}}`, `{{status}}`, `{{code}}`, `{{url}}` และ `{{issue}}` เพื่อให้การแจ้งเตือนของคุณมีโครงสร้างชัดเจน
</Step>
<Step>

### เพิ่ม secret ของ Upptime สำหรับ Echobell

ใน Upptime repository ของคุณ ให้ไปที่ **Settings → Secrets and variables → Actions** แล้วเพิ่ม:

- `NOTIFICATION_CUSTOM_WEBHOOK=true`
- `NOTIFICATION_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
</Step>
<Step>

### จับคู่ตัวแปรใน Echobell

ใช้เทมเพลตแบบกระชับเพื่อให้การแจ้งเตือนอ่านง่าย:

```
หัวข้อ: {{emoji}} Upptime: {{site}} มีสถานะ {{status}}
เนื้อหา: ตอบกลับ {{code}} · {{url}}
ลิงก์ภายนอก: {{issue}}
```

คุณสามารถเปลี่ยนรูปแบบการแจ้งเตือนของช่องเป็น "สำคัญตามเวลา" หรือ "โทรเข้า" สำหรับเว็บไซต์ที่มีความสำคัญสูง ในขณะที่ปล่อยเว็บไซต์อื่น ๆ ให้ใช้การแจ้งเตือนแบบพุชมาตรฐาน

</Step>
<Step>
### ทดสอบการเชื่อมต่อ

- ลองชี้ URL ที่มอนิเตอร์อยู่ไปยังปลายทางที่ไม่มีอยู่จริงชั่วคราว หรือหยุดบริการเพื่อจำลองความล้มเหลว
- ยืนยันว่าการแจ้งเตือนมาถึง Echobell พร้อมข้อมูลในฟิลด์ของเทมเพลตครบถ้วน
- คืนค่าบริการให้กลับมาทำงาน แล้วตรวจสอบข้อความแจ้งว่ากลับมาใช้งานได้แล้ว
</Step>
</Steps>

## การแก้ปัญหา

- ตรวจสอบว่า `NOTIFICATION_CUSTOM_WEBHOOK` และ `NOTIFICATION_CUSTOM_WEBHOOK_URL` สะกดตรงกับในรายการ secret ทุกตัวอักษร
- หากคุณเปลี่ยนโทเคนของช่อง Echobell อย่าลืมอัปเดต secret ด้วย
- สำหรับความล้มเหลวฝั่ง Upptime หรือผู้ให้บริการเพิ่มเติม ให้ดูที่ [เอกสารอย่างเป็นทางการ](https://upptime.js.org/docs/notifications) และล็อกของ GitHub Actions
