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.
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.
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.
Nếu không thể sử dụng công cụ WADebug, bạn có thể dùng docker logs
lệ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
và --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
và --until
.
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.
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ố.
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.
Vui lòng làm theo các bước bên dưới để lấy nhật ký thiết lập AWS:
Rollback on Failure
thành No
để đảm bảo rằng nhật ký không bị xóa ghi gặp lỗiBạ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:
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.
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.
sudo docker logs ecs-agent > ecs-agent.log
wadebug logs
để thu thập toàn bộ nhật ký từ vùng chứa.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:
docker ps -a
để liệt kê tất cả vùng chứa đang chạy và chia sẻ đầu radocker logs <docker container id of the core app> >> wacore.log
và chia sẻ nhật kýdocker logs <docker container id of the web app> >> waweb.log
và chia sẻ nhật kýdocker cp <docker container id of the web app>:/var/log/whatsapp/web.log ./web.log
và chia sẻ nhật kýdocker cp <docker container id of the web app>:/var/log/lighttpd/error.log ./error.log
và chia sẻ nhật ký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).
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-ID
và X-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ố.