Chúng tôi sẽ ngừng cung cấp API Tại chỗ. Hãy tham khảo tài liệu về việc Ngừng cung cấp API Tại chỗ để biết chi tiết, đồng thời tìm hiểu cách chuyển sang API Đám mây thế hệ tiếp theo của chúng tôi.

Nhật ký hỗ trợ

Ngoài việc sử dụng nút support để truy xuất thông tin hỗ trợ, bạn cũng có thể truy xuất nhật ký Docker, nhật ký AWS và ID yêu cầu HTTP để khắc phục sự cố.

Tài liệu này bao gồm các nội dung sau:

Xem bài viết Liên hệ với bộ phận hỗ trợ để biết thêm thông tin về cách mở phiếu yêu cầu Hỗ trợ trực tiếp.

Truy xuất nhật ký Docker

Sử dụng WADebug (ưu tiên)

Bạn có thể sử dụng công cụ WADebug để tự động thu thập và tải nhật ký lên. Bạn sẽ nhận được run_id trong phản hồi. Bạn có thể tham chiếu ID đó trong kênh Hỗ trợ trực tiếp để đẩy nhanh quá trình điều tra. Bạn chỉ cần thực hiện lệnh sau đây:

  wadebug logs --send

Lưu ý: Đối với chế độ Độ sẵn sàng cao/Đa kết nối mà trong đó vùng chứa được cài đặt trên một hoặc nhiều máy chủ, bạn cần đăng nhập vào từng máy chủ, cài đặt WADebug rồi chạy lệnh nêu trên. Bạn sẽ nhận được một run_id từ mỗi lần chạy lệnh thành công. Bạn có thể tham chiếu ID đó trong kênh Hỗ trợ trực tiếp để đẩy nhanh quá trình điều tra.

Sử dụng Docker

Nếu không thể sử dụng công cụ WADebug, bạn có thể dùng docker logslệnh để truy xuất nhật ký từ từng vùng chứa riêng lẻ. Ví dụ: nếu bạn muốn truy xuất nhật ký từ vùng chứa waweb, hãy chạy lệnh dưới đây:

docker logs <container id of waweb> >> waweb.log

Bạn có thể sử dụng nhiều tùy chọn cho lệnh docker logs để giới hạn kích thước của file nhật ký. Ví dụ: nếu bạn chỉ muốn lấy 1.000 dòng nhật ký gần đây nhất từ vùng chứa waweb, hãy chạy lệnh dưới đây:

docker logs <container id of waweb> --tail 1000 >> waweb.log

Nếu bạn chỉ muốn lấy nhật ký từ vùng chứa waweb trong một khoảng thời gian cụ thể, hãy chạy lệnh đó cùng các tùy chọn --since--until như ví dụ dưới đây:

docker logs <container id of waweb> --since 2020-01-20T20:00:00Z --until 2020-01-21T08:00:00Z >> waweb.log

Chạy lệnh này với tất cả vùng chứa WhatsApp rồi gửi những file đó đến WhatsApp để phân tích và gỡ lỗi. Hãy tham khảo tài liệu chính thức về docker logs để xem thêm tùy chọn.

Lưu ý: Tất cả nhật ký từ vùng chứa đều ở múi giờ GMT. Bạn cần chuyển nhãn thời gian GMT sang thông số --since--until.

Sử dụng Docker Compose

Nếu bạn muốn lấy toàn bộ nhật ký từ tất cả vùng chứa WhatsApp, hãy chạy lệnh dưới đây:

WA_API_VERSION=new-whatsapp-version docker-compose logs > debug_output.txt

Lưu ý: Lệnh này có thể tạo file nhật ký rất lớn. Hãy tham khảo phần "Sử dụng Docker" để xem các phương án truy xuất nhật ký nhỏ hơn và phù hợp hơn.

Sau đó, bạn có thể gửi những file đó đến WhatsApp để phân tích và gỡ lỗi.

Nhật ký sự cố

Chúng tôi đã triển khai một hệ thống ghi nhật ký sự cố mới ở phiên bản 2.53, có chức năng lưu các file kết xuất mỗi khi xảy ra sự cố. Hệ thống sẽ lưu trữ các file này (còn gọi là file kết xuất sự cố) trong thư mục logs/ và giữ trong 30 ngày. File chỉ được lưu trữ cục bộ trên máy và có thể được truy xuất theo cách tương tự như file nhật ký. File kết xuất sự cố có thể chứa dữ liệu bộ nhớ liên quan đến luồng gặp sự cố.

Truy xuất nhật ký Kubernetes

Sử dụng kubectl

Nếu bạn muốn lấy nhật ký cho một dịch vụ cụ thể đã được triển khai như Webapp, hãy chạy lệnh dưới đây trong phần thiết lập Kubernetes:

kubectl logs deployments/whatsapp-web-deployment > whatsapp-web-deployment.txt

Sau đó, bạn có thể gửi file này đến WhatsApp để phân tích và gỡ lỗi.

Truy xuất nhật ký AWS

Vui lòng làm theo các bước bên dưới để lấy nhật ký thiết lập AWS:

Đặt Rollback on Failure thành No để đảm bảo rằng nhật ký không bị xóa ghi gặp lỗi

Bạn cần đặt tùy chọn này trong bước tạo/cập nhật ngăn xếp, như minh họa bên dưới:

Lấy nhật ký và sự kiện tạo Ngăn xếp CloudFormation từ bảng điều khiển CloudWatch


Kết nối với phiên bản EC2 của bạn (nếu được tạo thành công)

Hãy làm theo hướng dẫn của AWS về cách đưa SSH vào phiên bản EC2 của bạn. Lưu ý rằng trong quá trình tạo/cập nhật ngăn xếp API WhatsApp Business, bạn có thể chọn sử dụng VPC riêng tư hoặc công cộng. Nếu sử dụng VPC riêng tư, bạn cần làm theo phần Kết nối bảo mật với các phiên bản Linux chạy trong VPC riêng tư của Amazon.

Lấy nhật ký

Khi bạn đã có quyền truy cập vào vùng chứa, vui lòng lấy các nhật ký dưới đây rồi đính kèm những nhật ký đó vào phiếu yêu cầu Hỗ trợ trực tiếp.

  1. sudo docker logs ecs-agent > ecs-agent.log
  2. Nén và truy xuất /var/log của tất cả phiên bản EC2 do ngăn xếp tạo
  3. Cài đặt WADebug trên tất cả phiên bản EC2 rồi chạy lệnh lệnhwadebug logs để thu thập toàn bộ nhật ký từ vùng chứa.
  4. Nếu bạn không thể sử dụng WADebug ở bước 3, hãy chạy lệnh dưới đây để thu thập nhật ký theo cách thủ công:
    • Chạy docker ps -a để liệt kê tất cả vùng chứa đang chạy và chia sẻ đầu ra
    • Chạy docker logs <docker container id of the core app> >> wacore.log và chia sẻ nhật ký
    • Chạy docker logs <docker container id of the web app> >> waweb.log và chia sẻ nhật ký
    • Chạy docker cp <docker container id of the web app>:/var/log/whatsapp/web.log ./web.log và chia sẻ nhật ký
    • Chạy docker cp <docker container id of the web app>:/var/log/lighttpd/error.log ./error.log và chia sẻ nhật ký

Lịch sử hoạt động

Nếu phiên bản EC2 không được tạo thì cần có Lịch sử hoạt động của Nhóm tự động mở rộng quy mô thích hợp. Bạn có thể tìm thấy lịch sử hoạt động này trong EC2 console -> Auto Scaling -> Auto Scaling Groups (Bảng điều khiển EC2 -> Tự động mở rộng quy mô -> Nhóm tự động mở rộng quy mô). Sau đó, hãy chọn nhóm thích hợp cho ngăn xếp gặp sự cố rồi chọn tab Activity History (Lịch sử hoạt động).

Thu thập ID yêu cầu HTTP

Kể từ v2.21.3, API WhatsApp Business sẽ tạo ID yêu cầu riêng biệt cho mọi yêu cầu HTTP đến mà API này nhận được. Bạn có thể dùng những ID yêu cầu đó để xác định nhật ký liên quan đến một yêu cầu cụ thể, từ đó giúp khắc phục sự cố nhanh chóng. Nếu bạn muốn báo cáo lỗi, hãy đưa các giá trị của tiêu đề phản hồi X-Request-IDX-Internal-Request-IDS vào phiếu yêu cầu hỗ trợ của bạn để giúp tìm ra cũng như tái hiện sự cố.