Phiên bản hiện tại: 0.1.5
WADebug là công cụ dòng lệnh giúp phát hiện bất kỳ sự cố tiềm ẩn nào khi thiết lập API WhatsApp Business, đồng thời làm cho các yêu cầu trợ giúp từ dịch vụ hỗ trợ WhatsApp trở nên hiệu quả hơn.
WADebug hỗ trợ các kiểu thiết lập khác nhau như trình bày dưới đây. Chạy kiểm tra là các lệnh chạy nhiều hành động khác nhau để xác minh cách thiết lập ứng dụng API WhatsApp Business. Truy xuất nhật ký là lệnh dùng để truy xuất tất cả nhật ký vùng chứa.
Tài liệu này bao gồm các nội dung sau:
WADebug là một công cụ dòng lệnh được viết bằng ngôn ngữ Python. Cài đặt bằng pip:
pip3 install wadebug
Cách nâng cấp:
pip3 install wadebug --upgrade
Cách gỡ cài đặt:
pip3 uninstall wadebug
Để xác thực mình đã cài đặt wadebug, bạn có thể chạy:
wadebug --help
WADebug có một loạt hành động để xác minh việc thiết lập API WhatsApp Business. Theo mặc định, công cụ này chạy tất cả các hành động hiện có. Nếu hệ thống trả về trạng thái problem
hoặc warning
thì nội dung mô tả, thông tin chi tiết và phương thức giảm thiểu khả thi sẽ hiển thị để hỗ trợ bạn khắc phục sự cố thiết lập. Ngoài ra, bạn sẽ được nhắc về cách tải nhật ký lên Facebook nếu cần trợ giúp.
Để sử dụng công cụ này, hãy chạy lệnh sau từ máy lưu trữ vùng chứa docker API WhatsApp Business:
wadebug
Nếu một hành động dẫn đến wadebug_error
, lỗi này sẽ cho biết đã xảy ra cự cố với chính công cụ. Nếu bạn gặp sự cố như vậy, vui lòng báo cáo lỗi này qua kênh Hỗ trợ trực tiếp
WADebug yêu cầu có file cấu hình (wadebug.conf.yml
) trong thư mục hiện tại để chạy kiểm tra đầy đủ.
Khi chạy wadebug
mà không có file cấu hình, công cụ sẽ nhắc tạo file bộ khung để bạn điền vào các giá trị cấu hình. Nếu không tìm thấy file cấu hình hoặc chưa đặt giá trị cấu hình, một số hành động sẽ bị bỏ qua do thiếu thông tin.
File cấu hình mẫu:
# configurations related to the MySQL database db: # hostname of the MySQL database host: # for example, "0.0.0.0" # host port that the MySQL database uses # to connect to database container created by docker-compose scripts, use 33060 port: # for example, 33060 # username to connect to the MySQL database user: # for example, "root" # password of the username that is used to connect to the MySQL database password: # for example, "your_database_password" # configurations related to WhatsApp Business API webapp: # url accessible from the host running wadebug baseUrl: # https://localhost:9090 # WhatsApp Business API user account credentials to call Support API user: # for example, "wadebug" # WhatsApp Business API user account credentials to call Support API password: # for example, "secretdebugger"
Để kiểm tra các hành động có sẵn, hãy chạy lệnh sau:
wadebug ls
Để chỉ chạy một tập hợp con các hành động có sẵn, hãy nhập lệnh sau:
wadebug partial check_software_version check_mysql_version
wadebug
cung cấp 2 chế độ: chế độ tương tác và chế độ JSON.
Chế độ tương tác là chế độ mặc định, khi sử dụng chế độ này, bạn sẽ nhìn thấy các bảng kết quả, thông báo trực quan và được nhắc tạo file cấu hình, v.v.
Chế độ JSON hữu ích khi bạn muốn tích hợp wadebug
vào một hệ thống tự động hóa để xác thực cách thiết lập API WhatsApp Business theo định kỳ hoặc mỗi lần bạn nâng cấp phiên bản API WhatsApp Business chẳng hạn.
Để chạy wadebug
ở chế độ JSON, hãy chuyển cờ --json
vào bất kỳ lệnh wadebug
nào có sẵn:
wadebug --json
Phản hồi JSON hợp lệ sẽ được trả về:
{ "containers_status":{ "class":"CheckContainersAreUp", "user_facing_name":"containers_status", "result":"OK" }, "check_mysql_connection":{ "class":"CheckMySQLConnection", "user_facing_name":"check_mysql_connection", "result":"OK" }, "check_software_version":{ "class":"CheckSoftwareVersion", "user_facing_name":"check_software_version", "result":"OK" }, "check_mysql_version":{ "class":"CheckMySQLVersion", "user_facing_name":"check_mysql_version", "result":"OK" }, "check_network":{ "class":"CheckNetworkAction", "user_facing_name":"check_network", "result":"OK" }, "check_mysql_permissions":{ "class":"CheckMySQLPermissions", "user_facing_name":"check_mysql_permissions", "result":"OK" }, "check_mysql_password":{ "class":"CheckMySQLPassword", "user_facing_name":"check_mysql_password", "result":"OK" }, "check_db_settings_exist":{ "class":"CheckDbSettingsExist", "user_facing_name":"check_db_settings_exist", "result":"OK" }, "check_webapp_port":{ "class":"CheckWebappPortAction", "user_facing_name":"check_webapp_port", "result":"OK" } }
Mỗi lần wadebug
chạy, dữ liệu về cách sử dụng (bao gồm cả hành động đã chạy và kết quả được trả về) sẽ được gửi đến Facebook để góp phần cải thiện công cụ này cũng như đẩy nhanh quá trình hỗ trợ WhatsApp qua kênh Hỗ trợ trực tiếp.
Nếu bạn không muốn chia sẻ dữ liệu về cách sử dụng với Facebook khi dùng công cụ này, hãy chạy wadebug
với cờ --do-not-send-usage
wadebug partial check_network --do-not-send-usage
Lưu ý rằng mặc dù bạn vẫn thấy kết quả khắc phục sự cố trên máy, nhưng trải nghiệm khi tương tác với bộ phận hỗ trợ của chúng tôi có thể bị suy giảm.
wadebug
mang lại một cách thuận tiện để truy xuất tất cả nhật ký vùng chứa, đồng thời có thể gửi nhật ký đến Facebook để trợ giúp hoạt động điều tra của đội ngũ hỗ trợ chúng tôi.
Cách truy xuất nhật ký mới nhất trong wadebug_logs/
ở thư mục hiện tại:
wadebug logs
Thay đổi quan trọng:
wadebug logs
truy xuất 10.000 dòng nhật ký sau cùng từ mỗi vùng chứawadebug logs
truy xuất 3 giờ nhật ký mới nhất từ mỗi vùng chứa[Mới kể từ v0.1.5] Để truy xuất 3 giờ nhật ký bắt đầu từ ngày giờ cụ thể (múi giờ GMT), hãy sử dụng tùy chọn --since
. Ví dụ: lệnh sau sẽ truy xuất nhật ký từ 3:00:02 ngày 07/01/2020 (GMT) đến 6:00:02 ngày 07/01/2020 (GMT):
wadebug logs --since='2020-01-07 3:00:02'
Để gửi nhật ký đến Facebook, bạn cần thêm cờ --send
. 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:
wadebug logs --send
wadebug logs --since='2020-01-07 3:00:02' --send
Đố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 wadebug logs
như đề cập ở trên.
Nếu bạn cần trợ giúp khắc phục sự cố thiết lập API WhatsApp Business, hãy mở phiếu yêu cầu Hỗ trợ trực tiếp với run_id
được trả về sau khi bạn chạy wadebug
. Qua đó, chúng tôi có thể xem báo cáo về các hành động đã chạy và kết quả tương ứng.
A report of this run has been uploaded to Facebook. You can reference run_id (A5jedVKsdI_ZojRwL1_-MOd) in Direct Support (https://business.facebook.com/direct-support) tickets
Nhật ký vùng chứa rất hữu ích khi khắc phục sự cố, để thu thập và gửi nhật ký vùng chứa đến Facebook, vui lòng chạy wadebug logs
với cờ --send
.
wadebug logs --send
và cung cấp run_id
được trả về
Container logs have been uploaded to Facebook. You can reference run_id (AcClyxkRJk3w1dEr8OAmsTn) in Direct Support (https://business.facebook.com/direct-support) tickets
15/01/2020 (0.1.5)
wadebug logs
sẽ lấy nhật ký 3 giờ qua, thay vì 10.000 dòng nhật ký sau cùng--since
vào wadebug logs
để truy xuất 3 giờ nhật ký bắt đầu từ giá trị ngày giờ đã chỉ định03/09/2019 (v0.1.4)
26/04/2019 (v0.1.3)
28/12/2018 (v0.1.2)
23/10/2018 (v0.1.1)