# Datasource sập hoặc lỗi

> Một datasource OPC-UA / MQTT / CSV ngừng truyền, hoặc một hàng hiện chỉ báo lỗi.

## Triệu chứng

Một trong hai tình huống:

- **Bật thất bại.** Bật **Enable** trên một hàng datasource đầu vào bị bật ngược về **Disabled** và hiện một mã lỗi như `model_not_paired` hoặc `adapter_connect_failed`.
- **Một nguồn đang chạy bị lỗi giữa chừng.** Một datasource trước đó đang truyền ngừng sản sinh dự đoán; hàng hiện chỉ báo lỗi và một banner đỏ xuất hiện. Bên dưới, runtime đã rớt về trạng thái lỗi rồi nhàn rỗi (idle).

Bật một datasource **không** bắt đầu truyền. Nó chuẩn bị runtime (nạp
mô hình, kết nối adapter). Bạn bấm **Start** để bắt đầu suy luận. Một hàng đang
Enabled nhưng không dự đoán thường chỉ đang chờ Start — đó là theo thiết kế.

## Xác nhận

Xác định giai đoạn nào đã thất bại.

- **Đọc mã lỗi trên hàng.** Mã đặt tên trực tiếp cho bước đã thất bại:
  - `model_not_paired` → datasource chưa được gán mô hình.
  - `adapter_connect_failed` → kết nối giao thức (bắt tay OPC-UA / kết nối broker MQTT / dò Modbus) thất bại — hầu như luôn là vấn đề mạng hoặc endpoint.
- **Kiểm tra log backend** để xem lần thử kết nối và lý do lỗi:

  ```bash
  docker compose -f docker-compose.release.yml logs backend | grep -iE "datasource|adapter|fault|enable"
  ```

- **Một lỗi giữa chừng** đến từ một lỗi đọc trên nguồn trực tiếp (một tag ngừng phản hồi). Khi điều đó xảy ra runtime tháo dỡ về một trạng thái idle sạch: mô hình được gỡ nạp và adapter được tháo gắn. **Phục hồi không tự động** — nguồn phải được bật lại từ đầu.

## Sửa

1. **`model_not_paired`** — gán một mô hình cho datasource trước, rồi Enable lại. Một datasource phải được ghép cặp với một mô hình trước khi nó có thể chạy.

2. **`adapter_connect_failed`** — runtime không thể tới được nguồn. Việc Enable đã quay hàng về Disabled một cách gọn gàng, nên hãy sửa kết nối và thử lại:
   - Xác minh địa chỉ endpoint, cổng, và thông tin xác thực trong cấu hình datasource.
   - Xác nhận hộp có khả năng tới được mạng tới máy chủ OPC-UA / broker MQTT / thiết bị.
   - Với một nguồn CSV, xác nhận đường dẫn tệp và rằng tệp tồn tại và đọc được.
   - Dùng **Test Connection** của biểu mẫu với các giá trị *hiện tại*, rồi Enable lại.

3. **Một nguồn đã lỗi giữa chừng** đã được tháo dỡ về idle — mô hình đã được gỡ nạp và adapter tháo gắn. Hãy thiết lập lại nó đầy đủ:
   - Sửa vấn đề nguồn nền (kết nối lại cảm biến / khôi phục tag / sửa mạng).
   - **Enable** lại datasource (việc này nạp lại mô hình và kết nối lại adapter).
   - Bấm **Start** để tiếp tục truyền.

Chỉ một datasource đầu vào được Enabled tại một thời điểm. Bật nguồn B sẽ tự động
tắt nguồn A. Nếu một nguồn bạn kỳ vọng đang chạy lại hiện Disabled, hãy kiểm tra xem
việc bật một nguồn khác có tắt nó đi không.

## Phòng ngừa

- **Ghép cặp mô hình và ánh xạ tất cả kênh trước khi đưa vào hoạt động.** Hầu hết các lỗi Enable là xác thực tiền-khởi-động: thiếu ghép cặp mô hình hoặc ánh xạ tag-tới-kênh chưa hoàn chỉnh (chỗ trống hoặc điền quá). Hoàn thành những việc này một lần và Enable thành công ngay lần đầu.
- **Ổn định nguồn trước Start.** Một endpoint OPC-UA chập chờn hoặc broker gián đoạn sẽ làm lỗi luồng và buộc phải re-enable đầy đủ. Xác nhận một kết nối ổn định bằng Test Connection trước khi bấm Start.
- **Kỳ vọng luồng hai bước.** Enable chuẩn bị; Start truyền. Đưa điều này vào quy trình vận hành tránh các phiếu "nó đã enabled nhưng không có gì xảy ra".

## Liên quan

- [Kết nối Datasource](/vi/configure/input-datasources/) — loại adapter, cấu hình kết nối, ánh xạ tag.
- [Suy luận đầu tiên của bạn](/vi/install-deploy/first-inference/) — luồng nạp và chạy mô hình.
