---
title: "เชื่อมต่อ Grafana - แจ้งเตือนโครงสร้างพื้นฐาน"
sidebarTitle: Grafana
description: ส่งการแจ้งเตือนของ Grafana ไปยัง Echobell ผ่าน webhook แล้วรับการแจ้งเตือนแบบพุชหรือสายโทรเข้าทันที พร้อมคู่มือตั้งค่าทีละขั้นและเทมเพลตการแจ้งเตือน
---

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

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

Grafana เป็นโซลูชันวิเคราะห์และมอนิเตอร์แบบโอเพนซอร์สยอดนิยม มีองค์กรหลายพันแห่งใช้แสดงผลเมตริก ล็อก และเทรซ เมื่อเชื่อม Grafana เข้ากับ Echobell คุณจะได้รับการแจ้งเตือนทันทีเมื่อเมตริกของคุณทริกเกอร์การแจ้งเตือน ไม่ว่าจะเป็นการใช้ CPU สูง หน่วยความจำตึง บริการล้มเหลว หรือเงื่อนไขอื่นใดที่คุณเฝ้าดูอยู่

คู่มือฉบับครบถ้วนนี้จะพาคุณตั้งค่าการแจ้งเตือนของ Grafana ให้ทำงานกับ Echobell ตั้งแต่การตั้งค่าพื้นฐานไปจนถึงกลยุทธ์การจัดการการแจ้งเตือนขั้นสูง

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

ก่อนเริ่ม ตรวจสอบว่าคุณมีสิ่งเหล่านี้:

- บัญชี Echobell ที่สร้างช่องไว้แล้วอย่างน้อยหนึ่งช่อง ([เริ่มต้นที่นี่](/docs))
- สิทธิ์เข้าถึงอินสแตนซ์ Grafana (แนะนำเวอร์ชัน 8.0 ขึ้นไป และเวอร์ชัน 9.0+ เพื่อความเข้ากันได้ดีที่สุด)
- สิทธิ์ระดับผู้ดูแลในการตั้งค่าการแจ้งเตือนใน Grafana (โดยทั่วไปต้องมีบทบาท Admin หรือ Editor)
- ความเข้าใจพื้นฐานเรื่องแดชบอร์ดและเมตริกของ Grafana
- ความคุ้นเคยกับโครงสร้างพื้นฐานการมอนิเตอร์และความต้องการด้านการแจ้งเตือนของคุณ

## ภาพรวมการตั้งค่า

กระบวนการเชื่อมต่อมีห้าขั้นตอนหลัก ซึ่งโดยทั่วไปใช้เวลาราว 10-15 นาที:

1. **สร้างช่องใน Echobell** - ตั้งช่องเฉพาะสำหรับการแจ้งเตือนจาก Grafana
2. **ตั้งค่าเทมเพลตการแจ้งเตือน** - ออกแบบว่าการแจ้งเตือนจะปรากฏบนเครื่องคุณอย่างไร
3. **รับ Webhook URL** - ขอปลายทาง webhook เฉพาะของช่องคุณ
4. **ตั้งค่า Contact Point ใน Grafana** - ตั้งให้ Grafana ส่งการแจ้งเตือนไปยัง Echobell
5. **สร้าง Alert Rule ใน Grafana** - กำหนดว่าเงื่อนไขใดจะทริกเกอร์การแจ้งเตือน

เมื่อตั้งค่าเสร็จ การแจ้งเตือนจะไหลจาก Grafana มายังเครื่องของคุณแบบเรียลไทม์โดยอัตโนมัติ

## คู่มือทีละขั้นตอน

<Steps>
<Step>
### สร้างช่องใน Echobell

1. เปิดแอป Echobell
2. สร้างช่องใหม่ (เช่น "Grafana Alerts")
3. เลือกสีที่โดดเด่นเพื่อให้ระบุได้ง่าย
</Step>
<Step>

### ตั้งค่าเทมเพลตการแจ้งเตือน

ตั้งเทมเพลตที่จะจัดรูปแบบการแจ้งเตือนจาก Grafana ได้อย่างมีประสิทธิภาพ:

**เทมเพลตหัวข้อ:**

```
{{alertName}} - {{status}}
```

**เทมเพลตเนื้อหา:**

```
🔔 การแจ้งเตือน: {{alertName}}
📊 เมตริก: {{metric}}
📈 ค่า: {{value}}
⏰ เวลา: {{time}}
ℹ️ ข้อความ: {{message}}
```

เทมเพลตเหล่านี้ใช้งานได้กับโครงสร้าง payload การแจ้งเตือนของ Grafana

</Step>
<Step>
### รับ Webhook URL

1. ในหน้าตั้งค่าช่องของคุณ ให้หาส่วน **Triggers**
2. คัดลอก webhook URL ที่ระบบให้มา
3. เก็บ URL นี้ไว้อย่างปลอดภัย เพราะจะต้องนำไปใช้ในการตั้งค่าของ Grafana
</Step>
<Step>

### ตั้งค่า Contact Point ใน Grafana

1. ใน Grafana ให้ไปที่ **Alerting** → **Contact points**
2. คลิก **New contact point**
3. ตั้งค่าดังนี้:
   - Name: "Echobell"
   - Type: "Webhook"
   - URL: webhook URL ของ Echobell ของคุณ
   - HTTP Method: POST
   - Content type: application/json
4. ตั้งค่าเทมเพลตข้อความ:

```json
{
  "alertName": "{{ .alertName }}",
  "status": "{{ .status }}",
  "metric": "{{ .metric }}",
  "value": "{{ .value }}",
  "time": "{{ .time }}",
  "message": "{{ .message }}",
  "externalLink": "{{ .dashboardURL }}"
}
```

</Step>
<Step>
### สร้าง Alert Rule

1. ไปที่ **Alerting** → **Alert rules**
2. สร้าง alert rule ใหม่ หรือแก้ไขกฎที่มีอยู่
3. ในการตั้งค่ากฎ:
   - ตั้งเงื่อนไขที่เหมาะสมกับเมตริกของคุณ
   - เลือก contact point ชื่อ "Echobell"
   - ตั้งค่าเกณฑ์การประเมินการแจ้งเตือน
</Step>
</Steps>

## การทดสอบการเชื่อมต่อ

เพื่อยืนยันว่าการตั้งค่าของคุณใช้ได้:

1. สร้าง alert rule ทดสอบที่มีเงื่อนไขซึ่งจะทริกเกอร์ได้เร็ว
2. รอจนเงื่อนไขเป็นจริง
3. ตรวจดูการแจ้งเตือนในแอป Echobell ของคุณ
4. ตรวจสอบว่าตัวแปรของการแจ้งเตือนทั้งหมดแสดงผลถูกต้อง
5. แตะการแจ้งเตือนเพื่อเข้าไปยังแดชบอร์ด Grafana ที่ลิงก์ไว้

## ประเภทการแจ้งเตือน

เมื่อติดตามช่องการแจ้งเตือนของ Grafana ให้ตั้งค่าประเภทการแจ้งเตือนสำคัญเหล่านี้:

- ใช้ **สำคัญตามเวลา** สำหรับการแจ้งเตือนระบบขั้นวิกฤตที่เร่งด่วนและการแจ้งเตือนฉุกเฉิน
- ใช้ **โทรเข้า** สำหรับเหตุระบบล่มรุนแรง การทะลุเกณฑ์ขั้นวิกฤต หรือการแจ้งเตือนฉุกเฉิน
- ใช้ **ปกติ** สำหรับการแจ้งเพื่อทราบทั่วไปและการแจ้งเตือนตามปกติ

## แนวปฏิบัติที่ดีในการจัดการการแจ้งเตือน

### การจัดระเบียบเทมเพลตการแจ้งเตือน

**ทำให้เทมเพลตการแจ้งเตือนชัดเจนและสอดคล้องกันในทุกช่อง:**

```
หัวข้อ: {{alertName}} - {{status}}
เนื้อหา:
เซิร์ฟเวอร์: {{instance}}
เมตริก: {{metric}}
ค่าปัจจุบัน: {{value}}
เกณฑ์: {{threshold}}
```

- **ใช้การจัดรูปแบบที่มีโครงสร้าง** - จัดระเบียบข้อมูลด้วยป้ายกำกับที่ชัดเจน
- **ใส่ข้อมูลสำคัญให้ครบ** - ชื่อเมตริก ค่า เกณฑ์ และระบบที่ได้รับผลกระทบ
- **ใช้อีโมจิแต่พอดี** - 🚨 สำหรับเรื่องวิกฤต ⚠️ สำหรับคำเตือน ✅ สำหรับเรื่องที่คลี่คลายแล้ว
- **ทำหัวข้อให้กระชับ** - ตั้งเป้าราว 5-8 คำที่สื่อปัญหาได้ทันที
- **ทดสอบเทมเพลต** - ส่งการแจ้งเตือนทดสอบเพื่อยืนยันรูปแบบก่อนนำไปใช้จริง

### การตั้งค่าการแจ้งเตือนขั้นวิกฤต

**ตั้งเกณฑ์การแจ้งเตือนให้เหมาะสมเพื่อเลี่ยงอาการชินกับการแจ้งเตือน:**

- **อย่าแจ้งเตือนมากเกินไป** - ตั้งเกณฑ์ที่ระดับซึ่งต้องลงมือทำจริง ไม่ใช่แค่ระดับที่น่าสนใจ
- **ใช้ hysteresis** - ตั้งเกณฑ์สำหรับการแจ้งเตือนกับการคืนสู่ปกติให้ต่างกัน
- **จัดกลุ่มการแจ้งเตือนที่เกี่ยวข้องกัน** - รวมเงื่อนไขที่เกี่ยวข้องไว้ในกฎเดียว
- **ตั้งช่วงเวลาประเมินให้เหมาะสม** - หาสมดุลระหว่างการตอบสนองที่เร็วกับการลดสิ่งรบกวน
- **พิจารณาช่วงเวลา** - ตรวจเงื่อนไขหลายครั้งก่อนจะแจ้งเตือน

**ตัวอย่างกลยุทธ์การตั้งเกณฑ์:**
```
# แย่: แจ้งเตือนที่ CPU 50% (ไวเกินไป)
cpu_usage > 50

# ดีกว่า: แจ้งเตือนที่ 80% ต่อเนื่อง 5 นาที
avg_over_time(cpu_usage[5m]) > 80

# ดีที่สุด: แจ้งเตือนแบบไล่ระดับ
# เตือนที่ 70% ต่อเนื่อง วิกฤตที่ 90%
```

### ตั้งชื่อการแจ้งเตือนให้สื่อความหมาย

ตั้งชื่อการแจ้งเตือนให้สื่อสิ่งเหล่านี้ได้ทันที:
- **อะไร** ที่กำลังถูกเฝ้าดู (CPU หน่วยความจำ ดิสก์)
- **ที่ไหน** ที่เกิดขึ้น (production, staging หรืออินสแตนซ์ใดเป็นการเฉพาะ)
- **ทำไม** จึงสำคัญ (บริการที่ผู้ใช้เห็น ฐานข้อมูลสำคัญ)

ตัวอย่างที่ดี:
- "Production Database - High Connection Pool Usage"
- "API Gateway - Response Time Degradation"
- "Worker Node 3 - Disk Space Critical"

ควรเลี่ยง:
- "Alert 1", "Test Alert", "High CPU"

### ใส่บริบทให้เพียงพอ

ข้อความแจ้งเตือนของคุณควรตอบคำถามเหล่านี้:
- **เกิดอะไรขึ้น** เงื่อนไขใดที่ทริกเกอร์
- **ที่ไหน** ระบบ บริการ หรืออินสแตนซ์ใด
- **หนักแค่ไหน** ค่าปัจจุบันเทียบกับเกณฑ์
- **เมื่อไร** เวลาที่เกิดการแจ้งเตือน
- **ต้องทำอะไรต่อ** ลิงก์ไปยังแดชบอร์ดหรือ runbook ที่เกี่ยวข้อง

### ตั้งค่าระดับความสำคัญ

ใช้ [ประเภทการแจ้งเตือน](/docs/notification) ของ Echobell อย่างมีกลยุทธ์:

- **ปกติ**: การแจ้งเพื่อทราบ การแจ้งว่าคลี่คลายแล้ว คำเตือนที่ไม่เร่งด่วน
- **สำคัญตามเวลา**: การแจ้งเตือนสำคัญที่ต้องได้รับความสนใจภายในไม่กี่ชั่วโมง
- **โทรเข้า**: ปัญหาโปรดักชันขั้นวิกฤตที่ต้องตอบสนองทันที

จับคู่ระดับความรุนแรงของ Grafana กับประเภทการแจ้งเตือน:
```
วิกฤต + โปรดักชัน → โทรเข้า
สูง + โปรดักชัน → สำคัญตามเวลา
ปานกลาง → สำคัญตามเวลา
ต่ำ → ปกติ
เพื่อทราบ/คลี่คลายแล้ว → ปกติ
```

### ความปลอดภัยของการแจ้งเตือน

**ปกป้องโครงสร้างพื้นฐานการมอนิเตอร์ของคุณ:**

- **เก็บ webhook URL เป็นความลับ** - เพราะเป็นช่องทางส่งการแจ้งเตือนที่ไม่ต้องยืนยันตัวตน
- **ใช้ตัวแปรสภาพแวดล้อม** - อย่าฝัง URL ตรง ๆ ในไฟล์ provisioning ของ Grafana
- **หมุนเวียน webhook เป็นระยะ** - โดยเฉพาะเมื่อมีสมาชิกทีมลาออก
- **ติดตามการส่ง webhook** - เฝ้าดูรายการที่ส่งไม่สำเร็จและตรวจสอบความผิดปกติ
- **ตรวจสอบการตั้งค่าการแจ้งเตือน** - ทบทวนเป็นประจำว่าใครมีสิทธิ์แก้ไขการแจ้งเตือนบ้าง
- **ยืนยันแหล่งที่มาของการแจ้งเตือน** - ใช้ระบบยืนยันตัวตนของ Grafana สำหรับ contact point

### การจัดการวงจรชีวิตของการแจ้งเตือน

**รักษาสุขอนามัยของการแจ้งเตือนให้ดีอยู่เสมอ:**

1. **ทบทวนเป็นประจำ** - ตรวจสอบการแจ้งเตือนทุกไตรมาสเพื่อลบกฎที่ล้าสมัย
2. **จดบันทึกการแจ้งเตือน** - ใส่คำอธิบายว่าทำไมการแจ้งเตือนแต่ละอย่างจึงมีอยู่
3. **ติดตามประวัติการแจ้งเตือน** - ดูว่าการแจ้งเตือนใดทำงานบ่อยที่สุด
4. **ปรับจูนเกณฑ์** - ปรับตามข้อมูลย้อนหลังและอัตราการแจ้งเตือนผิดพลาด
5. **เก็บการแจ้งเตือนเก่าเข้าคลัง** - ปิดใช้แต่เก็บกฎไว้สำหรับบริการที่กำลังจะเลิกใช้
6. **ควบคุมเวอร์ชัน** - ใช้ระบบ provisioning ของ Grafana เพื่อติดตามการเปลี่ยนแปลงของการแจ้งเตือน

### ข้อพิจารณาด้านประสิทธิภาพ

- **เลี่ยงพายุการแจ้งเตือน** - ตั้งค่าการจัดกลุ่มและจังหวะเวลาให้เหมาะสม
- **ใช้ notification policy** - ส่งความรุนแรงระดับต่าง ๆ ไปยังช่องที่เหมาะสม
- **ตั้งช่วงเวลารอ/ส่งซ้ำ** - ป้องกันการแจ้งเตือนซ้ำซ้อน
- **จัดกลุ่มการแจ้งเตือนที่คล้ายกัน** - ลดปริมาณการแจ้งเตือนด้วยการรวมกลุ่ม
- **คำนึงถึงช่วงเวลาของวัน** - ใช้ [เงื่อนไข](/docs/conditions) เพื่อกรองเฉพาะเวลาทำการ

## ตัวอย่างจากการใช้งานจริง

### แจ้งเตือน CPU สูง
```
หัวข้อ: {{instance}} CPU วิกฤต
เนื้อหา: การใช้ CPU: {{cpu_percent}}%
ระยะเวลา: {{duration}}
เวลา: {{time}}
แดชบอร์ด: {{dashboard_url}}
```

### หน่วยความจำตึง
```
หัวข้อ: คำเตือนหน่วยความจำ - {{hostname}}
เนื้อหา: เหลือใช้ได้: {{available_mb}}MB ({{percent_free}}%)
เกณฑ์: {{threshold_mb}}MB
สิ่งที่ควรทำ: ตรวจสอบโปรเซสที่ใช้หน่วยความจำมาก
```

### บริการล่ม
```
หัวข้อ: 🚨 {{service_name}} เข้าถึงไม่ได้
เนื้อหา: การตรวจสอบสุขภาพล้มเหลว
สำเร็จครั้งล่าสุด: {{last_successful_check}}
ผลกระทบ: ผู้ใช้ได้รับผลกระทบ {{affected_users}} ราย
Runbook: {{runbook_url}}
```

## กรณีใช้งานที่พบบ่อย

### การมอนิเตอร์โครงสร้างพื้นฐาน
- เกณฑ์การใช้ CPU หน่วยความจำ และดิสก์
- ปริมาณข้อมูลผ่านเครือข่ายและการสูญหายของแพ็กเก็ต
- ความพร้อมใช้งานของบริการและการตรวจสอบสุขภาพ
- การมอนิเตอร์สถานะคอนเทนเนอร์และ pod

### ประสิทธิภาพของแอปพลิเคชัน
- เวลาตอบสนองที่แย่ลง
- อัตราข้อผิดพลาดที่เพิ่มขึ้น
- connection pool ของฐานข้อมูลหมด
- ความลึกของคิวและความล่าช้าในการประมวลผล

### เมตริกทางธุรกิจ
- ปริมาณธุรกรรมที่ผิดปกติ
- รายได้ต่อนาทีที่ลดลง
- จำนวนผู้ใช้ที่ใช้งานอยู่เปลี่ยนแปลง
- การใช้งาน API ที่ใกล้ชนขีดจำกัด

### การมอนิเตอร์ความปลอดภัย
- ความพยายามยืนยันตัวตนที่ล้มเหลว
- รูปแบบการเข้าถึงที่ผิดปกติ
- คำเตือนใบรับรองใกล้หมดอายุ
- การละเมิดกฎไฟร์วอลล์

เรียนรู้กลยุทธ์การเชื่อมต่อเพิ่มเติมได้ใน [บทความบล็อกเรื่องการแจ้งเตือนด้วยสายโทรจาก Grafana](/blog/grafana-call-notification) ของเรา

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

หากคุณไม่ได้รับการแจ้งเตือน ให้ไล่ตรวจตามขั้นตอนวินิจฉัยเหล่านี้:

### Webhook ไม่ทริกเกอร์การแจ้งเตือน

1. **ตรวจสอบว่าคัดลอก webhook URL มาถูกต้อง**
   - ไปที่ช่อง Echobell ของคุณ → Triggers → Webhook
   - คัดลอก URL ให้ครบถ้วนรวมถึงส่วน `https://hook.echobell.one/t/`
   - ตรวจสอบว่าไม่มีช่องว่างหรืออักขระเกินติดมาตอนวางลงใน Grafana

2. **ตรวจสอบว่าช่องยังใช้งานอยู่**
   - เปิดแอป Echobell
   - ไปที่ช่องการแจ้งเตือนของ Grafana
   - ยืนยันว่าช่องไม่ได้ถูกลบหรือเก็บเข้าคลังโดยไม่ตั้งใจ

3. **ตรวจสอบว่ามีผู้ติดตามที่ใช้งานอยู่**
   - ต้องมีอย่างน้อยหนึ่งคนที่ติดตามอยู่จึงจะได้รับการแจ้งเตือน
   - ตรวจดูรายชื่อผู้ติดตามของช่อง
   - ยืนยันว่าการติดตามของคุณเองยังใช้งานอยู่

4. **ตรวจสอบการตั้งค่า contact point ของ Grafana**
   - ไปที่ Alerting → Contact points ใน Grafana
   - เปิด contact point ของ Echobell
   - ยืนยันว่า URL ตรงกับ webhook ของช่องคุณ
   - ตรวจสอบว่า HTTP Method ตั้งเป็น POST
   - ยืนยันว่า Content-Type เป็น application/json

5. **ตรวจสอบการตั้งค่า alert rule ของ Grafana**
   - ไปที่ Alerting → Alert rules
   - เปิดกฎที่ควรจะทริกเกอร์
   - ยืนยันว่ากฎนั้นเชื่อมกับ contact point ของ Echobell แล้ว
   - ตรวจสอบว่า notification policy ส่งไปยัง contact point ที่ถูกต้อง

6. **ทบทวนประวัติการแจ้งเตือนของ Grafana**
   - ไปที่ Alerting → Alert rules
   - คลิกที่กฎของคุณ → Show history
   - ยืนยันว่าการแจ้งเตือนทำงานจริง (ไม่ได้ค้างอยู่ในสถานะ pending)
   - ตรวจสอบว่ามีข้อผิดพลาดในการประเมินหรือไม่

### การแจ้งเตือนทำงานแต่ไม่ถูกส่งถึง

1. **ทดสอบ webhook โดยตรง**
   ```bash
   curl -X POST https://hook.echobell.one/t/<channel-token> \
     -H "Content-Type: application/json" \
     -d '{"alertName": "Test", "status": "firing"}'
   ```
   หากคุณได้รับการแจ้งเตือนจากคำสั่งนี้แต่ไม่ได้รับจาก Grafana แสดงว่าปัญหาอยู่ที่การตั้งค่าฝั่ง Grafana

2. **ตรวจสอบ notification policy ของ Grafana**
   - ไปที่ Alerting → Notification policies
   - ยืนยันว่า label ของกฎคุณตรงกับกฎการกำหนดเส้นทางของ policy
   - ตรวจสอบปัญหาเรื่องจังหวะเวลา (เวลารอจัดกลุ่ม ช่วงเวลาส่งซ้ำ)

3. **ทบทวนล็อกของ Grafana**
   - มองหาข้อผิดพลาดในการส่ง webhook ในล็อกของ Grafana
   - ตรวจสอบรหัสสถานะ HTTP (ควรเป็น 200)
   - ตรวจสอบข้อผิดพลาดเรื่อง timeout หรือการเชื่อมต่อ

### การแจ้งเตือนแสดงผลไม่ถูกต้อง

1. **ตัวแปรของเทมเพลตไม่ตรงกับ payload ของ Grafana**
   - Grafana ส่งชื่อฟิลด์เฉพาะอย่าง `.alertName`, `.status` เป็นต้น
   - ตรวจสอบว่าตัวแปรในเทมเพลตของคุณตรงกับโครงสร้างของ payload
   - ทดสอบด้วยปุ่ม "Test" ของ Grafana เพื่อดู payload จริง

2. **ข้อมูลในการแจ้งเตือนหายไป**
   - ตัวแปรบางตัวของ Grafana อาจว่างเปล่า ขึ้นอยู่กับการตั้งค่าการแจ้งเตือน
   - ใส่ค่าสำรองในเทมเพลต: `{{alertName || "Unknown Alert"}}`
   - ดูเอกสารของ Grafana สำหรับตัวแปรเทมเพลตที่ใช้ได้

3. **แจงส่วน JSON ไม่สำเร็จ**
   - ตรวจสอบว่าเทมเพลตข้อความของ Grafana เป็น JSON ที่ถูกต้อง
   - มองหาเครื่องหมายคำพูดหรืออักขระพิเศษที่ไม่ได้ escape
   - ใช้เครื่องมือตรวจสอบ JSON ออนไลน์เพื่อยืนยันโครงสร้าง payload

### ปัญหาเรื่องจังหวะเวลาของการแจ้งเตือน

1. **การแจ้งเตือนมาถึงล่าช้า**
   - ตรวจสอบการเชื่อมต่อเครือข่ายของคุณ
   - ยืนยันว่า Grafana เข้าถึงเซิร์ฟเวอร์ของ Echobell ได้
   - ทบทวนช่วงเวลาการประเมินของ Grafana (อาจทำให้เกิดความล่าช้า)
   - ตรวจสอบการตั้งค่าจังหวะเวลาใน notification policy

2. **การแจ้งเตือนซ้ำซ้อน**
   - ทบทวนการตั้งค่าช่วงเวลาส่งซ้ำใน notification policy
   - ตรวจสอบว่ามีหลายกฎทำงานพร้อมกันจากเงื่อนไขเดียวกันหรือไม่
   - ยืนยันว่ามี contact point เพียงจุดเดียวที่ตั้งไว้สำหรับช่องนี้

3. **การแจ้งเตือนในช่วงเวลาเงียบ**
   - โหมดโฟกัสของ iOS อาจส่งผลต่อการส่งการแจ้งเตือน
   - การแจ้งเตือนแบบสำคัญตามเวลาและแบบโทรเข้าสามารถทะลุโหมดโฟกัสบางแบบได้
   - ทบทวนการตั้งค่าการแจ้งเตือนบนเครื่องของคุณ

### ยังแก้ปัญหาไม่ได้ใช่ไหม

หากคุณลองทำทุกอย่างข้างต้นแล้วแต่ยังเจอปัญหาอยู่:

1. **เปิดใช้การบันทึกล็อกแบบ debug ของ Grafana**
   - เพิ่มส่วน `[log]` ใน grafana.ini พร้อมตั้ง `level = debug`
   - ตรวจดูล็อกว่ามีความพยายามส่ง webhook และการตอบกลับอย่างไร

2. **ใช้ฟีเจอร์ทดสอบที่มีอยู่ใน Grafana**
   - ในหน้าตั้งค่า contact point ให้ใช้ "Test" เพื่อส่งการแจ้งเตือนตัวอย่าง
   - วิธีนี้ช่วยแยกแยะว่าปัญหาอยู่ที่กฎหรือที่การส่ง

3. **ลองใช้ alert rule อื่น**
   - สร้างกฎทดสอบง่าย ๆ ที่มีเงื่อนไขซึ่งจะทริกเกอร์แน่นอน
   - หากกฎทดสอบทำงานแต่กฎจริงไม่ทำงาน แสดงว่าปัญหาอยู่ที่การตั้งค่ากฎ

4. **ติดต่อฝ่ายสนับสนุน**
   - เยี่ยมชม [ศูนย์ช่วยเหลือ](/docs/support) ของเรา
   - ส่งอีเมลถึง echobell@weelone.com พร้อมแจ้ง:
     - เวอร์ชันของ Grafana
     - ตัวอย่าง payload ของการแจ้งเตือน (ลบข้อมูลอ่อนไหวออก)
     - webhook URL (ปิดบังโทเคนไว้)
     - ขั้นตอนที่คุณลองทำไปแล้ว
     - พฤติกรรมที่คาดหวังเทียบกับที่เกิดขึ้นจริง

## เอกสารและแหล่งข้อมูลที่เกี่ยวข้อง

### เอกสารของ Echobell
- **[คู่มือการเชื่อมต่อ Webhook](/docs/webhook)** - เจาะลึกการทำงานของ webhook
- **[ระบบเทมเพลต](/docs/template)** - เชี่ยวชาญไวยากรณ์เทมเพลตการแจ้งเตือน
- **[เงื่อนไข](/docs/conditions)** - กรองการแจ้งเตือนตามเกณฑ์ที่กำหนด
- **[ประเภทการแจ้งเตือน](/docs/notification)** - ทำความเข้าใจระดับความสำคัญของการแจ้งเตือน
- **[เริ่มต้นใช้งาน](/docs)** - พื้นฐานและการตั้งค่า Echobell

### แหล่งข้อมูลของ Grafana
- **[เอกสาร Grafana Alerting](https://grafana.com/docs/grafana/latest/alerting/)** - คู่มือการแจ้งเตือนอย่างเป็นทางการของ Grafana
- **[Contact Points](https://grafana.com/docs/grafana/latest/alerting/fundamentals/contact-points/)** - การตั้งค่า contact point ของ Grafana
- **[Notification Policies](https://grafana.com/docs/grafana/latest/alerting/fundamentals/notification-policies/)** - การกำหนดเส้นทางและจัดกลุ่มการแจ้งเตือน
- **[Alert Rules](https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/)** - การสร้างและจัดการ alert rule

### การเชื่อมต่อที่เกี่ยวข้อง
- **[การเชื่อมต่อ Prometheus](/docs/developer/prometheus)** - การแจ้งเตือนจาก Prometheus โดยตรง
- **[Uptime Kuma](/docs/developer/uptime-kuma)** - การมอนิเตอร์ uptime ของเว็บไซต์
- **[GitHub Actions](/docs/developer/github)** - การแจ้งเตือนไปป์ไลน์ CI/CD
- **[Home Assistant](/docs/developer/home-assistant)** - การแจ้งเตือนจากบ้านอัจฉริยะ

### บทความบล็อก
- **[เปิดใช้การแจ้งเตือนด้วยสายโทรสำหรับ Grafana Alerts](/blog/grafana-call-notification)** - กลยุทธ์การเชื่อมต่อ Grafana ขั้นสูง
- **[ไม่พลาดทุกความล้มเหลวของ GitHub Actions](/blog/github-actions-notifications)** - แนวปฏิบัติที่ดีในการแจ้งเตือน CI/CD
- **[การแจ้งเตือนตามช่วงเวลาด้วยเงื่อนไข UTC](/blog/time-window-notifications-using-utc-conditions)** - การกรองเฉพาะเวลาทำการ

## ขั้นตอนถัดไป

ตอนนี้คุณเชื่อม Grafana เข้ากับ Echobell เรียบร้อยแล้ว:

1. **ปรับจูนการแจ้งเตือนของคุณ** - ปรับเกณฑ์ตามรูปแบบการใช้งานจริง
2. **ตั้งช่องเพิ่มเติม** - สร้างช่องแยกกันสำหรับความรุนแรงแต่ละระดับ
3. **สำรวจการเชื่อมต่ออื่น ๆ** - เชื่อมเครื่องมืออื่นเข้ากับ Echobell ([ดูการเชื่อมต่อทั้งหมด](/docs/features))
4. **แชร์ให้ทีมของคุณ** - เพิ่มสมาชิกทีมเข้าช่องแจ้งเตือนของคุณ
5. **จดบันทึกการตั้งค่า** - สร้าง runbook สำหรับการรับมือการแจ้งเตือนแต่ละแบบ
6. **วัดผลของการแจ้งเตือน** - ติดตามอัตราการแจ้งเตือนผิดพลาดและเวลาตอบสนอง

พร้อมจะมอนิเตอร์ระบบอื่นเพิ่มแล้วหรือยัง ลองดู [คู่มือการเชื่อมต่อฉบับเต็ม](/docs/features) ของเราสำหรับเครื่องมือและแพลตฟอร์มมอนิเตอร์ยอดนิยมอื่น ๆ
