---
title: "Echobell là gì? Tổng quan ứng dụng cảnh báo tức thì"
sidebarTitle: Echobell là gì?
description: Echobell biến webhook và email thành thông báo đẩy hoặc cuộc gọi tức thì. Tìm hiểu cách kênh, nguồn kích hoạt và mẫu hoạt động.
---

# Echobell là gì?

Echobell là ứng dụng cảnh báo tức thì được thiết kế để đơn giản hóa việc quản lý thông báo cho lập trình viên, nhóm DevOps và bất kỳ ai cần cảnh báo đáng tin cậy, tùy chỉnh được. Nó nối liền khoảng cách giữa hệ thống của bạn và thiết bị di động bằng cách xử lý webhook và email để kích hoạt thông báo tùy chỉnh hoặc cảnh báo dạng cuộc gọi, đảm bảo bạn không bao giờ bỏ lỡ thông tin quan trọng.

Dù bạn đang giám sát hạ tầng máy chủ, theo dõi pipeline CI/CD, vận hành thương mại điện tử hay điều phối cả nhóm ứng phó sự cố nghiêm trọng, Echobell đều mang đến một nền tảng thông báo tức thì linh hoạt và coi trọng quyền riêng tư.

## Tính năng cốt lõi

### Cảnh báo tức thì

Nhận thông báo theo thời gian thực khi kênh của bạn được kích hoạt. Dù đó là máy chủ sập, một bản dựng thất bại hay một sự kiện kinh doanh quan trọng, Echobell đảm bảo thông tin đến với bạn ngay lập tức — thường chỉ trong vài giây kể từ khi sự kiện xảy ra.

### Nhiều cách kích hoạt

Thiết lập **[webhook](/docs/webhook)** hoặc **[kích hoạt qua email](/docs/email-trigger)** cho phù hợp với hạ tầng sẵn có của bạn:

- **Tích hợp Webhook**: Hoàn hảo cho dịch vụ đám mây hiện đại, công cụ giám sát, pipeline CI/CD và mọi hệ thống có thể gửi request HTTP
- **Kích hoạt qua Email**: Lý tưởng cho hệ thống cũ, cảnh báo dựa trên email hoặc việc chuyển tiếp tin nhắn quan trọng

Cả hai cách kích hoạt đều hỗ trợ truyền biến tùy chỉnh để điền vào mẫu thông báo của bạn.

### Thông báo tùy chỉnh được

Cấu hình **[mẫu với biến động](/docs/template)** để tạo thông báo giàu thông tin, giàu ngữ cảnh. Thay vì những cảnh báo chung chung kiểu "Có chuyện xảy ra", bạn nhận được thông tin cụ thể như "Production server CPU usage: 95%" hay "Build #142 failed in deploy stage".

Mẫu hỗ trợ:

- Thay thế biến với cú pháp `{{variableName}}`
- Truy cập thuộc tính của object với `{{user.name}}`
- Truy cập phần tử mảng với `{{items[0]}}`
- Biểu thức điều kiện và toán tử logic

### Hệ thống đăng ký

Tạo kênh và để người khác đăng ký bằng liên kết chia sẻ an toàn. Hoàn hảo cho:

- Thông báo sự cố cho toàn nhóm
- Cập nhật trạng thái công khai
- Giám sát cộng tác
- Kênh cảnh báo dùng chung

### Kiến trúc coi trọng quyền riêng tư

Chỉ những dữ liệu thiết yếu được lưu trên máy chủ của chúng tôi, còn lịch sử thông báo nằm lại trên thiết bị của bạn:

- **Lưu trên máy chủ**: Tài khoản người dùng, cấu hình kênh, quan hệ đăng ký
- **Lưu cục bộ**: Nội dung thông báo, lịch sử kích hoạt, bản ghi cảnh báo

Thiết kế này đảm bảo dữ liệu vận hành nhạy cảm của bạn không bao giờ nằm ngoài tầm kiểm soát. Tìm hiểu thêm trong **[tài liệu về quyền riêng tư](/docs/support#privacy)**.

### Lọc nâng cao bằng điều kiện

Dùng **[biểu thức điều kiện](/docs/conditions)** để lọc xem lượt kích hoạt nào mới thực sự gửi thông báo. Ví dụ:

- Chỉ cảnh báo khi mức dùng CPU vượt 80%
- Lọc theo các HTTP header cụ thể
- Chỉ thông báo trong giờ làm việc
- Cảnh báo dựa trên những điều kiện logic phức tạp

Cách này giúp bạn tránh bội thực cảnh báo, vì chỉ nhận những thông báo thực sự đáng quan tâm.

## Echobell hoạt động thế nào

Echobell vận hành theo một quy trình đơn giản mà mạnh mẽ:

1. **Tiếp nhận kích hoạt**: Khi một webhook được gọi hoặc một email đến địa chỉ riêng của kênh, máy chủ của Echobell tiếp nhận và kiểm tra lượt kích hoạt đó.

2. **Xử lý dữ liệu**: Dữ liệu đi vào (tham số truy vấn, JSON body hoặc nội dung email) được phân tích và cung cấp dưới dạng các biến.

3. **Đánh giá điều kiện**: Nếu kênh có cấu hình **[điều kiện](/docs/conditions)**, chúng sẽ được đánh giá dựa trên dữ liệu kích hoạt. Nếu điều kiện không thỏa mãn, quy trình dừng lại tại đây.

4. **Kết xuất mẫu**: **[Mẫu thông báo](/docs/template)** của kênh được điền bằng các biến từ lượt kích hoạt, tạo ra tiêu đề và nội dung thông báo cuối cùng.

5. **Gửi thông báo**: Thông báo đã kết xuất được gửi tới tất cả người đăng ký của kênh theo kiểu thông báo mà mỗi người đã chọn (Thông thường, Khẩn cấp hoặc Cuộc gọi).

6. **Lưu trữ cục bộ**: Trên thiết bị của người nhận, bản ghi thông báo được lưu cục bộ cùng nội dung đã kết xuất, dấu thời gian và mọi liên kết liên quan.

Kiến trúc này đảm bảo tốc độ gửi nhanh (thường dưới 1-2 giây từ lúc kích hoạt tới lúc có thông báo) mà vẫn giữ được quyền riêng tư nhờ để lịch sử thông báo nằm trên thiết bị của bạn.

### Ví dụ thực tế

Hãy hình dung bạn có một máy chủ production đang được Prometheus giám sát:

1. Mức dùng CPU vượt 90%
2. Prometheus gửi một webhook tới kênh Echobell của bạn kèm các biến: `{"server": "prod-01", "cpu": 92, "severity": "critical"}`
3. Mẫu "Server \{\{server\}\}: CPU at \{\{cpu\}\}%" của bạn kết xuất thành "Server prod-01: CPU at 92%"
4. Điều kiện `cpu > 80` của kênh cho kết quả đúng
5. Toàn bộ người đăng ký nhận được thông báo ngay lập tức trên iPhone của họ
6. Nếu đăng ký theo kiểu "Cuộc gọi", điện thoại của họ sẽ đổ chuông như có cuộc gọi đến

Xem cách thiết lập trong **[hướng dẫn tích hợp Prometheus](/docs/developer/prometheus)** của chúng tôi.

## Khái niệm then chốt

### Kênh

Kênh là thực thể cốt lõi trong Echobell. Mỗi kênh:

- Có tên và màu riêng biệt để dễ nhận diện
- Chứa mẫu thông báo cho phần tiêu đề và phần nội dung
- Có thể được kích hoạt qua webhook hoặc email
- Có thể được chia sẻ với người khác bằng liên kết đăng ký

### Kiểu thông báo

Khi đăng ký một kênh, bạn có thể chọn một trong ba **[kiểu thông báo](/docs/notification)** quyết định cách cảnh báo xuất hiện và hoạt động trên thiết bị của bạn:

- **Thông thường (Active)**: Thông báo ứng dụng tiêu chuẩn, xuất hiện trong trung tâm thông báo. Tôn trọng chế độ Không làm phiền và Tập trung. Phù hợp nhất cho cập nhật mang tính thông tin, cảnh báo không gấp và giám sát thường lệ.

- **Khẩn cấp (Time Sensitive)**: Thông báo ưu tiên cao, có thể vượt qua một số chế độ Tập trung. Chúng hiển thị nổi bật và được thiết kế cho những cảnh báo quan trọng cần chú ý sớm nhưng chưa đến mức nguy cấp. Ví dụ: triển khai thất bại, tài nguyên bị dùng quá nhiều, sự kiện kinh doanh quan trọng.

- **Cuộc gọi (Calling)**: Cảnh báo dạng cuộc gọi với giao diện toàn màn hình và nhạc chuông, giống như khi có người gọi tới. Chúng vượt qua mọi thiết lập Không làm phiền và gần như không thể bỏ lỡ. Hãy để dành kiểu này cho các sự cố nghiêm trọng: production sập, xâm nhập bảo mật hoặc tình huống khẩn cấp cần phản hồi tức thì.

Bạn có thể đăng ký cùng một kênh nhiều lần với các kiểu thông báo khác nhau nếu muốn có nhiều mức độ khẩn cho cùng một nguồn cảnh báo. Chẳng hạn, bạn có thể đăng ký kênh giám sát production ở mức "Khẩn cấp" trong giờ làm việc và ở mức "Cuộc gọi" khi bạn đang trực on-call.

Hãy đọc **[hướng dẫn đầy đủ về thông báo](/docs/notification)** để biết khi nào nên dùng từng kiểu và tránh bội thực cảnh báo.

### Biến trong mẫu

Hãy làm cho thông báo của bạn trở nên động bằng cách dùng biến trong mẫu:

```
Title: Server {{server_name}} is down!
Body: CPU usage reached {{cpu_usage}}%
```

Khi được kích hoạt kèm các biến phù hợp, những mẫu này sẽ tạo ra thông báo được cá nhân hóa.

### Các cách kích hoạt

#### Kích hoạt bằng webhook

Kích hoạt kênh qua request HTTP với biến nằm trong chuỗi truy vấn hoặc trong JSON body:

```http
GET https://hook.echobell.one/t/<channel-token>?server_name=Production&cpu_usage=95

# OR

POST https://hook.echobell.one/t/<channel-token>
Content-Type: application/json

{
  "server_name": "Production",
  "cpu_usage": 95
}
```

**Biến đặc biệt**

- `externalLink`: Khi được đưa vào request, biến này sẽ tạo một liên kết bấm được trong màn hình bản ghi thông báo

#### Kích hoạt bằng email

Gửi email tới địa chỉ riêng của từng kênh. Echobell tự động trích xuất các biến như:

- `from`: Địa chỉ email của người gửi
- `subject`: Dòng tiêu đề của email
- `text`: Nội dung dạng văn bản thuần
- `html`: Nội dung HTML

## Quyền riêng tư và lưu trữ dữ liệu

Echobell được thiết kế với quyền riêng tư trong tâm trí:

- Chỉ dữ liệu người dùng, cấu hình kênh và thông tin đăng ký được lưu trên máy chủ của chúng tôi
- Lịch sử và bản ghi thông báo chỉ nằm trên thiết bị của bạn

## Bắt đầu

Để bắt đầu dùng Echobell, hãy làm theo các bước sau:

1. **Tải** ứng dụng Echobell từ [App Store](https://apps.apple.com/app/apple-store/id6743597198?pt=128151925&ct=docs-what-is-echobell-vi&mt=8) (iOS 15.0 trở lên) hoặc [Google Play](https://play.google.com/store/apps/details?id=one.echobell.echobellandroid)
2. **Đăng nhập** bằng địa chỉ email của bạn hoặc dùng Đăng nhập bằng Apple để xác thực nhanh
3. **Tạo một kênh** với tên dễ hiểu và chọn một màu để nhận diện
4. **Cấu hình mẫu** cho tiêu đề và nội dung thông báo
5. **Lấy webhook URL hoặc địa chỉ email** trong mục Kích hoạt của kênh
6. **Tích hợp** nguồn kích hoạt vào hệ thống hoặc công cụ giám sát của bạn
7. **Đăng ký** kênh của bạn và chọn kiểu thông báo phù hợp
8. **Kiểm thử** thiết lập bằng một lượt kích hoạt thử để xác nhận mọi thứ hoạt động

Hãy làm theo **[hướng dẫn bắt đầu](/docs)** toàn diện của chúng tôi để có chỉ dẫn từng bước kèm ảnh chụp màn hình.

<Callout type="warn">
  Echobell cần quyền gửi thông báo để hoạt động đúng, vì mọi tính năng đều dựa
  trên thông báo. Bạn sẽ được nhắc cấp quyền này khi mở ứng dụng lần đầu.
</Callout>

## Trường hợp sử dụng phổ biến

Echobell được lập trình viên, nhóm vận hành và doanh nghiệp dùng cho rất nhiều tình huống cảnh báo khác nhau:

### Dành cho lập trình viên

- **Cảnh báo pipeline CI/CD**: Nhận thông báo khi bản dựng thất bại, test hỏng hoặc triển khai xong. Xem hướng dẫn **[tích hợp GitHub Actions](/docs/developer/github)** của chúng tôi.
- **Giám sát lỗi**: Nhận cảnh báo tức thì về lỗi ứng dụng, exception hoặc sự cố API
- **Giám sát hiệu năng**: Theo dõi thời gian phản hồi, tỷ lệ lỗi và các số liệu sức khỏe hệ thống
- **Thông báo triển khai**: Biết ngay khi đợt triển khai lên staging hay production thành công hoặc thất bại

### Dành cho DevOps và SRE

- **Giám sát hạ tầng**: Cảnh báo về CPU, bộ nhớ, ổ đĩa hoặc mạng bằng **[Grafana](/docs/developer/grafana)** hoặc **[Prometheus](/docs/developer/prometheus)**
- **Uptime của dịch vụ**: Theo dõi tình trạng khả dụng của website và API bằng **[Uptime Kuma](/docs/developer/uptime-kuma)** hoặc **[UptimeRobot](/docs/developer/uptimerobot)**
- **Container và Kubernetes**: Nhận thông báo về pod lỗi, thiếu tài nguyên hoặc sự kiện scaling
- **Cảnh báo bảo mật**: Thông báo tức thì về các lần xác thực thất bại, nỗ lực xâm nhập hoặc vi phạm chính sách bảo mật

### Dành cho doanh nghiệp

- **Vận hành thương mại điện tử**: Cảnh báo về đơn hàng mới, thanh toán thất bại, mức tồn kho hoặc sự cố giao hàng
- **Hỗ trợ khách hàng**: Báo cho thành viên trong nhóm về những ticket hỗ trợ khẩn hoặc các ca leo thang
- **Tự động hóa marketing**: Kích hoạt thông báo dựa trên sự kiện chiến dịch, lượt gửi biểu mẫu hoặc hành động của người dùng
- **Giao dịch tài chính**: Cảnh báo theo thời gian thực về giao dịch giá trị lớn, hoàn tiền hoặc hoạt động đáng ngờ

### Dành cho tự động hóa nhà cửa

- **Thông báo nhà thông minh**: Tích hợp với **[Home Assistant](/docs/developer/home-assistant)** để nhận cảnh báo về an ninh, môi trường hoặc tự động hóa
- **Giám sát thiết bị IoT**: Nhận thông báo khi cảm biến phát hiện sự kiện hoặc khi thiết bị mất kết nối
- **Hệ thống an ninh**: Cảnh báo tức thì về phát hiện chuyển động, cảm biến cửa hoặc sự kiện từ camera

### Dành cho nhà giao dịch và nhà đầu tư

- **Cảnh báo thị trường**: Thông báo về giá, tín hiệu chỉ báo kỹ thuật hoặc cảnh báo biến động từ **[TradingView](/docs/trader/tradingview)**
- **Giám sát danh mục**: Theo dõi thay đổi giá trị danh mục hoặc cập nhật vị thế
- **Tin tức và sự kiện**: Nhận thông báo về tin tức tác động tới thị trường hoặc sự kiện kinh tế

Hãy khám phá **[các hướng dẫn tích hợp](/docs/features)** đầy đủ của chúng tôi để biết cách kết nối Echobell với công cụ của bạn.

## Vì sao nên chọn Echobell?

### Đơn giản

Khác với những nền tảng thông báo phức tạp đòi hỏi cấu hình dài dòng, Echobell dùng được ngay. Tạo một kênh, lấy webhook URL, và chỉ vài phút sau là bạn đã nhận được thông báo.

### Linh hoạt

Dù bạn chỉ cần cảnh báo đơn giản kiểu "có chuyện xảy ra" hay những thông báo phong phú chạy bằng mẫu kèm logic điều kiện, Echobell đều thích ứng với nhu cầu của bạn mà không ép bạn vào một quy trình cố định.

### Quyền riêng tư

Dữ liệu thông báo là của bạn. Bằng cách lưu lịch sử thông báo cục bộ trên thiết bị thay vì trên máy chủ của chúng tôi, chúng tôi trao cho bạn toàn quyền kiểm soát các bản ghi cảnh báo của mình.

### Đáng tin cậy

Được xây dựng trên hạ tầng đám mây hiện đại với phạm vi toàn cầu, Echobell gửi thông báo nhanh và đáng tin cậy. Hầu hết cảnh báo đến trong vòng 1-2 giây kể từ khi sự kiện xảy ra.

### Không bị khóa vào nhà cung cấp

Echobell dùng các giao thức tiêu chuẩn (webhook HTTP và email SMTP). Bạn có thể dễ dàng chuyển sang dịch vụ khác hoặc giải pháp tự vận hành mà không phải viết lại phần tích hợp.

## Bước tiếp theo

Sẵn sàng bắt đầu với Echobell?

- **[Hướng dẫn thiết lập đầy đủ](/docs)** - Chỉ dẫn từng bước để tạo kênh đầu tiên
- **[Tích hợp Webhook](/docs/webhook)** - Tìm hiểu cách kích hoạt thông báo qua HTTP
- **[Hướng dẫn về mẫu](/docs/template)** - Nắm vững cú pháp mẫu cho thông báo phong phú
- **[Tích hợp phổ biến](/docs/features)** - Kết nối với những công cụ bạn đang dùng
- **[Hỗ trợ](/docs/support)** - Nhận trợ giúp và giải đáp thắc mắc thường gặp

Hoặc đi thẳng vào một hướng dẫn tích hợp:

- **[Giám sát bằng Grafana](/docs/developer/grafana)** - Cảnh báo giám sát hạ tầng
- **[Thông báo GitHub Actions](/docs/developer/github)** - Cảnh báo cho pipeline CI/CD
- **[Cảnh báo TradingView](/docs/trader/tradingview)** - Thông báo giao dịch và thị trường
- **[Tích hợp Home Assistant](/docs/developer/home-assistant)** - Cảnh báo cho nhà thông minh
