Tài liệuBáo lỗi ẩn danh và Gửi cho hỗ trợ

Báo lỗi ẩn danh và Gửi cho hỗ trợ

Báo lỗi ẩn danh của panel gửi chính xác những gì, không bao giờ gửi gì, cách tắt (hoặc tắt hẳn trên server không ra Internet) và cách dùng nút Gửi cho hỗ trợ.

ZoPanel có thể báo cho chúng tôi khi có lỗi trên server của bạn, để chúng tôi sửa những lỗi mà có thể bạn không bao giờ báo. Quyền riêng tư được đặt lên đầu: báo cáo cho biết cái gì bị lỗi, không bao giờ cho biết đó là website, hộp thư hay file của ai. Trang này liệt kê mọi thứ được gửi để bạn tự kiểm tra.

Báo lỗi ẩn danh

Một báo cáo được gửi khi:

  • một tác vụ chạy nền bị lỗi (chứng chỉ SSL, sao lưu, cài đặt…);
  • panel hoặc agent (phần chạy quyền root) bị panic, hoặc lần chạy trước bị sập (báo cáo được gửi khi khởi động lại);
  • panel bị dừng mà không tắt đúng cách (bị kill, hết bộ nhớ).

Một báo cáo gồm những gì

Đây là một báo cáo đầy đủ, không có gì khác:

{
  "install_id": "9b1f0c4e7a2d4f86b3c51e0d2a7f9c13",
  "version": "0.4.16",
  "commit": "6c960a8",
  "os": "ubuntu",
  "os_version": "24.04",
  "arch": "amd64",
  "process": "panel",
  "event": "job_failed",
  "kind": "ssl.issue",
  "code": "ssl.dns_mismatch"
}
Trường Ý nghĩa
install_id Một số ngẫu nhiên tạo trên server của bạn khi gửi báo cáo lần đầu. Đây không phải license key, server ID, hostname hay địa chỉ IP, và không thể lần ngược ra chúng. Nó giúp chúng tôi đếm bao nhiêu server gặp cùng một lỗi.
version, commit Phiên bản ZoPanel đang chạy.
os, os_version, arch Ví dụ debian, 12, arm64.
process panel hoặc agent (phần chạy quyền root).
event job_failed, panic, crash hoặc unclean_exit.
kind Loại tác vụ, ví dụ backup.create.
code Mã lỗi cố định, ví dụ backup.no_space (chính là mã mà panel dịch sang ngôn ngữ của bạn).

Khi panel bị sập hoặc panic, có thêm hai trường:

  • panic: thông báo của chính Go runtime, ví dụ runtime error: index out of range [3] with length 2. Mọi thông báo panic khác không bao giờ được gửi, chỉ có kiểu Go của nó, ví dụ panic(string).
  • stack: tên các hàm của chính ZoPanel đang chạy, kèm file và dòng trong mã nguồn của chúng tôi, ví dụ internal/api.(*Server).createSite internal/api/sites.go:211. Các hàm của code khác, tham số và địa chỉ bộ nhớ đều bị bỏ.

Bạn có thể xem một báo cáo thật từ chính server của mình trong Cài đặt → Hỗ trợ.

Không bao giờ gửi

  • Tên miền, tên người dùng, địa chỉ email, địa chỉ IP.
  • Đường dẫn file (/home/…), nội dung file, dữ liệu database, thư.
  • Nội dung thông báo lỗi, tên tác vụ và log tác vụ.
  • Nội dung request, biến môi trường, mật khẩu, token hay khoá.
  • License key hoặc hostname của server.

Mã lỗi và các dòng stack phải đúng một khuôn dạng chặt chẽ mới được gửi (các từ chữ thường cách nhau bằng dấu chấm; tên hàm của ZoPanel), và mọi thứ trông giống tên miền hay địa chỉ IP đều bị loại. License server kiểm tra lại đúng các quy tắc này khi nhận báo cáo.

Tần suất

  • Mỗi lỗi chỉ gửi một lần mỗi ngày cho mỗi phiên bản, và một server gửi tối đa 20 báo cáo mỗi ngày.
  • Báo cáo được gửi ngầm, timeout 10 giây. Panel không bao giờ phải chờ.
  • Nếu không kết nối được tới ZoPanel, báo cáo được giữ trong một file nhỏ (/var/lib/zopanel/error-reports.json, tối đa 20 báo cáo) và gửi sau.
  • Báo cáo chỉ được gửi tới https://license.zopanel.net/v1/reports qua HTTPS. Địa chỉ này cố định trong panel; panel không đi theo chuyển hướng.
  • Server của chúng tôi giữ báo cáo 90 ngày và không lưu địa chỉ IP gửi báo cáo.

Tắt báo lỗi

Báo lỗi ẩn danh bật sẵn, và dashboard hiện một thông báo một lần cho quản trị viên.

  • Trong panel: Cài đặt → Hỗ trợ → tắt Gửi báo lỗi ẩn danh. Các báo cáo đang chờ gửi bị xoá.
  • Tắt hẳn trên server (server không ra Internet hoặc theo quy định riêng): thêm "disable_error_reports": true vào /etc/zopanel/config.json, rồi chạy systemctl restart zopanel. Cách này cũng tắt việc gửi gói chẩn đoán bằng Gửi cho hỗ trợ. Biến môi trường ZOPANEL_DISABLE_ERROR_REPORTS=1 (ví dụ đặt bằng systemctl edit zopanel) có tác dụng tương tự.

Chỉ quản trị viên toàn quyền mới đổi được cài đặt này. API token không truy cập được.

Gửi cho hỗ trợ

Khi cần giúp đỡ, quản trị viên có thể gửi gói chẩn đoán cho đội ZoPanel ngay trong panel:

  • ở một tác vụ lỗi: mở tác vụ và bấm Gửi cho hỗ trợ;
  • bất cứ lúc nào: Cài đặt → Hỗ trợ → Tạo gói chẩn đoán.

Gói gồm các file giống lệnh zopanel ctl support-bundle: kết quả kiểm tra của doctor, phiên bản phần mềm, dịch vụ lỗi, mức dùng tài nguyên, 300 dòng log gần nhất của các dịch vụ panel và nginx, và cấu hình panel đã bỏ mật khẩu, secret, token và khoá. Nếu gửi từ một tác vụ lỗi, gói có thêm lỗi và phần cuối log của tác vụ đó.

Không có gì được gửi cho đến khi bạn bấm Gửi. Panel hiện từng file, đúng như sẽ được gửi. Bạn có thể thêm ghi chú, hoặc tải gói về và tự đính kèm vào ticket. Khác với báo lỗi ẩn danh, log có thể chứa tên miền và địa chỉ IP của server: hãy đọc trước khi gửi.

Sau khi gửi, panel hiện một mã tham chiếu, ví dụ ZB-1A2B3C4D5E. Hãy ghi mã này trong yêu cầu hỗ trợ. Gói chẩn đoán được giữ 90 ngày và chỉ đội hỗ trợ mở ra để trả lời bạn.


← Xử lý sự cố