Quản lý thông báo giám sát

Tài liệu này cung cấp nội dung mô tả và mục hành động cho các thông báo được xác định trong bảng điều khiển giám sát. Nếu không thể khắc phục sự cố, bạn có thể gửi phiếu yêu cầu Hỗ trợ trực tiếp đính kèm với ảnh chụp màn hình bảng điều khiển và nhật ký.

Thông báo trên bảng điều khiển ứng dụng kinh doanh

Cảnh báo lỗi API nghiêm trọng

Mô tả

Tỷ lệ thành công của API contacts hoặc API messages thấp

Mục hành động

  1. Tìm mã lỗi API trong bảng điều khiển Số yêu cầu/giây đối với API contacts hoặc messages.
  2. Xem tài liệu về Mã lỗi.
  3. Xem bảng điều khiển Số yêu cầu CoreApp/giâySố truy vấn cơ sở dữ liệu/giây để xem các lỗi có tương ứng với lỗi Coreapp hoặc lỗi cơ sở dữ liệu hay không.
  4. Xem bảng điều khiển Tổng quan về Coreapp (điền biến Nút bằng Coreapp gặp sự cố) và bảng điều khiển Tổng quan về MySQL để biết thêm thông tin.

Không có cảnh báo về số liệu thống kê

Mô tả

Thiếu dữ liệu để giám sát

Mục hành động

  1. Truy cập điểm cuối của các mục tiêu Prometheus (tức là http://your-monitoring-hostname:9090/targets) để xác minh rằng trạng thái điểm cuối webstats và appstats là UP.
  2. Nếu Prometheus không kết nối được với Webapp, hãy chạy WADebug để khắc phục lỗi.
  3. Nếu vùng chứa Webapp và Coreapp đang chạy, hãy kiểm tra xem WA_WEB_ENDPOINT, WA_WEB_USERNAMEWA_WEB_PASSWORD trong file .env có hợp lệ không.

Thông báo trên bảng điều khiển tổng quan về Coreapp

Cảnh báo lỗi gọi lại

Mô tả

Tỷ lệ thành công khi gửi các lệnh gọi lại đến URL Webhook được chỉ định trong phần cài đặt ứng dụng ở mức thấp

Mục hành động

  1. Tìm mã lỗi phản hồi lệnh gọi lại trong bảng điều khiển Số yêu cầu gọi lại/giây.
  2. Grep nhật ký Coreapp ghi lại lỗi mạng để biết các thông báo lỗi thực tế.
  3. Dựa trên thông báo và mã lỗi:
    • Xác minh xem Coreapp có thể kết nối với Webhook hay không.
    • Xác minh xem Webhook của bạn có luôn trả về phản hồi HTTPS 200 OK sau khi xử lý thông báo không.
    • Xác minh xem Webhook có mất nhiều thời gian để phản hồi hay không.

Cảnh báo lượng lớn tin nhắn đi đang chờ xử lý

Mô tả

Hàng đợi tin nhắn đi sắp đầy; Các yêu cầu API sẽ sớm gặp lỗi System overloaded error (1016)

Mục hành động

  1. Xem hàng Tin nhắn đi trong bảng điều khiển xem có lưu lượng truy cập tăng bất thường không. Nếu lưu lượng truy cập tăng bất thường, hãy cố gắng giảm tải lưu lượng truy cập cho đến khi cảnh báo biến mất.
  2. Xác minh xem gần đây, cơ sở dữ liệu của bạn có gặp lỗi ở một khu vực khác hay không. WhatsApp Business API có thể không bắt kịp tốc độ tải do độ trễ giữa các khu vực.
  3. Nếu số lượng tin nhắn đi dần tăng theo thời gian trong hàng đợi, bạn nên báo cáo lỗi này cho chúng tôi.
  4. Nếu một Ứng dụng API WhatsApp Business đơn lẻ không thể đáp ứng các yêu cầu về dung lượng của bạn, hãy thiết lập Đa kết nối để hỗ trợ dung lượng cao hơn nhiều.

Lưu ý: Trong một số ít trường hợp, bảng điều khiển có thể hiển thị mức sử dụng hàng đợi tin nhắn đi hơn 100% do quá trình triển khai hàng đợi cơ bản. Các mục hành động vẫn giữ nguyên.

Cảnh báo lượng lớn lệnh gọi lại trong hàng đợi

Mô tả

Hàng đợi lệnh gọi lại sắp đầy; Các yêu cầu API sẽ sớm gặp lỗi System overloaded error (1016)

Mục hành động

  1. Xem bảng điều khiển Tỷ lệ lỗi gọi lại để xác minh các lệnh gọi lại đang xử lý thành công.
  2. Giảm thời gian xử lý lệnh gọi lại cho Webhook của bạn.
  3. Đặt cấu hình max_concurrent_requests trong phần cài đặt ứng dụng để tăng số lượng yêu cầu gọi lại được gửi đi (giá trị mặc định là 6).

Thông báo tỷ lệ lỗi giao dịch trong cơ sở dữ liệu

Mô tả

Tỷ lệ lỗi của các hoạt động giao dịch trong cơ sở dữ liệu (giao dịch, cam kết, khôi phục) ở mức cao.

Mục hành động

  1. Tìm cơ sở dữ liệu và hoạt động gặp sự cố từ bảng điều khiển Số giao dịch trong cơ sở dữ liệu/giây.
  2. Grep nhật ký Coreapp ghi lại QSqlError để biết các thông báo và mã lỗi SQL thực tế.
  3. Dựa trên thông báo và mã lỗi:
    1. Xác minh xem cơ sở dữ liệu của bạn có hoạt động bình thường hay không bằng cách kiểm tra Bảng điều khiển tổng quan về MySQL hoặc bảng điều khiển cơ sở dữ liệu của riêng bạn.
    2. Nếu lỗi chỉ ra vấn đề về giản đồ hoặc truy vấn SQL không hợp lệ, hãy gửi Phiếu yêu cầu hỗ trợ trực tiếp để điều tra.

Thông báo tỷ lệ lỗi truy vấn đọc cơ sở dữ liệu

Mô tả

Tỷ lệ lỗi của các hoạt động đọc cơ sở dữ liệu (chọn, chuẩn bị) ở mức cao.

Mục hành động

  1. Tìm cơ sở dữ liệu và hoạt động gặp sự cố từ bảng điều khiển Số truy vấn đọc cơ sở dữ liệu/giây.
  2. Grep nhật ký Coreapp ghi lại QSqlError để biết các thông báo và mã lỗi SQL thực tế.
  3. Dựa trên thông báo và mã lỗi:
    1. Xác minh xem cơ sở dữ liệu của bạn có hoạt động bình thường hay không bằng cách kiểm tra Bảng điều khiển tổng quan về MySQL hoặc bảng điều khiển cơ sở dữ liệu của riêng bạn.
    2. Nếu lỗi chỉ ra vấn đề về giản đồ hoặc truy vấn SQL không hợp lệ, hãy gửi Phiếu yêu cầu hỗ trợ trực tiếp để điều tra.

Thông báo tỷ lệ lỗi truy vấn ghi cơ sở dữ liệu

Mô tả

Tỷ lệ lỗi của các hoạt động ghi cơ sở dữ liệu (chèn, cập nhật, xóa, v.v.) ở mức cao.

Mục hành động

  1. Tìm cơ sở dữ liệu và hoạt động gặp sự cố từ bảng điều khiển Số truy vấn ghi cơ sở dữ liệu/giây.
  2. Grep nhật ký Coreapp ghi lại QSqlError để biết các thông báo và mã lỗi SQL thực tế.
  3. Dựa trên thông báo và mã lỗi:
    1. Xác minh xem cơ sở dữ liệu của bạn có hoạt động bình thường hay không bằng cách kiểm tra Bảng điều khiển tổng quan về MySQL hoặc bảng điều khiển cơ sở dữ liệu của riêng bạn.
    2. Nếu lỗi chỉ ra vấn đề về giản đồ hoặc truy vấn SQL không hợp lệ, hãy gửi Phiếu yêu cầu hỗ trợ trực tiếp để điều tra.

Thông báo độ trễ trung bình của giao dịch trong cơ sở dữ liệu (mili giây)

Mô tả

Độ trễ trung bình của các hoạt động giao dịch trong cơ sở dữ liệu (giao dịch, cam kết, khôi phục) ở mức cao.

Mục hành động

Bạn nên duy trì độ trễ của cơ sở dữ liệu dưới 15 mili giây để đạt được thông lượng nhắn tin cao.

  1. Tìm cơ sở dữ liệu chậm từ bảng điều khiển Độ trễ trung bình của giao dịch trong cơ sở dữ liệu (mili giây).
  2. Xác minh xem cơ sở dữ liệu của bạn có hoạt động bình thường hay không bằng cách kiểm tra Bảng điều khiển tổng quan về MySQL hoặc bảng điều khiển cơ sở dữ liệu của riêng bạn.
  3. Sử dụng mysqlslap hoặc pgbench để đo lường độ trễ XACT với các ứng dụng đồng thời.
  4. Làm theo bài viết Những đề xuất giúp đạt thông lượng cao để thiết lập cơ sở dữ liệu của bạn với các cấu hình tương tự.

Các vấn đề thường gặp

  • Phiên bản cơ sở dữ liệu sắp hết CPU/Bộ nhớ/Ổ đĩa/IOPS/Kết nối.
  • Phiên bản cơ sở dữ liệu đang chạy trên đĩa từ thay vì SSD.
  • Phiên bản cơ sở dữ liệu nằm trong khu vực khác với Coreapp của bạn và có thời gian trễ trọn vòng của mạng ở mức cao.

Thông báo độ trễ trung bình của truy vấn đọc cơ sở dữ liệu (mili giây)

Mô tả

Độ trễ trung bình của các hoạt động đọc cơ sở dữ liệu (chọn, chuẩn bị) ở mức cao.

Mục hành động

Bạn nên duy trì độ trễ của cơ sở dữ liệu dưới 15 mili giây để đạt được thông lượng nhắn tin cao.

  1. Tìm cơ sở dữ liệu chậm từ bảng điều khiển Độ trễ trung bình của truy vấn đọc cơ sở dữ liệu (mili giây).
  2. Xác minh xem cơ sở dữ liệu của bạn có hoạt động bình thường hay không bằng cách kiểm tra Bảng điều khiển tổng quan về MySQL hoặc bảng điều khiển cơ sở dữ liệu của riêng bạn.
  3. Sử dụng mysqlslap hoặc pgbench để đo lường độ trễ đọc với các ứng dụng đồng thời.
  4. Làm theo bài viết Những đề xuất giúp đạt thông lượng cao để thiết lập cơ sở dữ liệu của bạn với các cấu hình tương tự.

Các vấn đề thường gặp

  • Phiên bản cơ sở dữ liệu sắp hết CPU/Bộ nhớ/Kết nối.
  • Phiên bản cơ sở dữ liệu nằm trong khu vực khác với Coreapp của bạn và có thời gian trễ trọn vòng của mạng ở mức cao.

Thông báo độ trễ trung bình của truy vấn ghi cơ sở dữ liệu (mili giây)

Mô tả

Độ trễ trung bình của các hoạt động ghi cơ sở dữ liệu (chèn, cập nhật, xóa, v.v.) ở mức cao.

Mục hành động

Bạn nên duy trì độ trễ của cơ sở dữ liệu dưới 15 mili giây để đạt được thông lượng nhắn tin cao.

  1. Tìm cơ sở dữ liệu chậm từ bảng điều khiển Độ trễ trung bình của truy vấn ghi cơ sở dữ liệu (mili giây).
  2. Xác minh xem cơ sở dữ liệu của bạn có hoạt động bình thường hay không bằng cách kiểm tra Bảng điều khiển tổng quan về MySQL hoặc bảng điều khiển cơ sở dữ liệu của riêng bạn.
  3. Sử dụng mysqlslap hoặc pgbench để đo lường độ trễ ghi với các ứng dụng đồng thời.
  4. Làm theo bài viết Những đề xuất giúp đạt thông lượng cao để thiết lập cơ sở dữ liệu của bạn với các cấu hình tương tự.

Các vấn đề thường gặp

  • Phiên bản cơ sở dữ liệu sắp hết CPU/Bộ nhớ/Ổ đĩa/IOPS/Kết nối.
  • Phiên bản cơ sở dữ liệu đang chạy trên đĩa từ thay vì SSD.
  • Phiên bản cơ sở dữ liệu nằm trong khu vực khác với Coreapp của bạn và có thời gian trễ trọn vòng của mạng ở mức cao.

Thông báo độ trễ trung bình của yêu cầu gọi lại (mili giây)

Mô tả

Độ trễ trung bình của các yêu cầu gọi lại đến URL Webhook được chỉ định trong phần cài đặt ứng dụng ở mức cao.

Mục hành động

Bạn nên duy trì độ trễ của lệnh gọi lại dưới 80 mili giây để đạt được thông lượng cao.

  1. Chạy so sánh với máy chủ Webhook của bạn và lập hồ sơ để xác định điểm tắc nghẽn.
  2. Thực hiện không đồng bộ các hoạt động không quan trọng và trả về phản hồi HTTPS 200 OK ngay lập tức.
  3. Tăng số lượng máy chủ Webhook phía sau bộ cân bằng tải của bạn nếu chúng hết tài nguyên hệ thống.

Thông báo yêu cầu kết nối máy chủ

Mô tả

Coreapp liên tục mất kết nối với máy chủ WhatsApp. Kết nối không ổn định sẽ ảnh hưởng đến hiệu suất nhắn tin của Coreapp và gây ra lỗi API.

Mục hành động

  1. Grep nhật ký Coreapp ghi lại "Lỗi khi phát" để xem các lỗi, thông báo và tần suất mất kết nối thực tế.
  2. Nếu bạn bị mất kết nối định kỳ trong nhiều giờ, hãy khởi động lại Coreapp để giảm thiểu sự cố.
  3. Tiếp tục ghi nhật ký và gửi Phiếu yêu cầu hỗ trợ trực tiếp để điều tra thêm.

Thông báo số tin nhắn được giải mã/giây

Mô tả

Coreapp không thể giải mã đủ nhanh các tin nhắn đến gửi từ máy chủ WhatsApp. Điều này sẽ gây ra tình trạng mất kết nối.

Mục hành động

  1. Xác minh rằng cơ sở dữ liệu đang chạy tốt bằng cách kiểm tra bảng điều khiển Độ trễ đọc/ghi/giao dịch trong cơ sở dữ liệu. Bạn nên duy trì độ trễ của cơ sở dữ liệu dưới 15 mili giây để đạt được thông lượng cao. Làm theo phần Mục hành động khi có thông báo độ trễ trung bình của truy vấn ghi cơ sở dữ liệu (mili giây) ở trên để khắc phục vấn đề liên quan đến cơ sở dữ liệu.
  2. Kiểm tra xem phiên bản Coreapp có sắp hết CPU không. Nếu có, hãy nâng cấp lên phiên bản lớn hơn.
  3. Tiếp tục ghi nhật ký và gửi Phiếu yêu cầu hỗ trợ trực tiếp để giới hạn tốc độ tin nhắn đến gửi từ phía máy chủ WhatsApp.

Các cảnh báo trên bảng điều khiển tổng quan của máy

Cảnh báo mức sử dụng CPU cao

Mô tả

Mức sử dụng CPU của máy quá cao

Mục hành động

  1. Xem bảng điều khiển Chi tiết mức sử dụng CPU (%) để biết được mức phân phối sử dụng.
  2. Chạy atop hoặc top trên máy để tìm ra các quá trình tiêu thụ nhiều CPU nhất. Bạn cũng nên xem bảng điều khiển Tổng quan về vùng chứa để biết số liệu về CPU ở cấp độ vùng chứa bằng cách điền biến Machine (Máy) bằng máy gặp sự cố.
  3. Nếu Webapp, Coreapp hoặc cơ sở dữ liệu tốn nhiều CPU nhất, hãy tìm một máy mạnh hơn để lưu trữ. Đối với chế độ Độ sẵn sàng cao/Đa kết nối, nếu vùng chứa Webapp và Coreapp đang chạy trên cùng một máy, hãy cố gắng chuyển chúng sang các máy riêng biệt.

Cảnh báo mức sử dụng ổ đĩa cao

Mô tả

Mức sử dụng ổ đĩa của thiết bị trên máy quá cao

Mục hành động

  1. Chạy các lệnh dudf trên thiết bị để phân tích mức sử dụng ổ đĩa. Bạn cũng nên xem bảng điều khiển Tổng quan về vùng chứa để biết số liệu về ổ đĩa ở cấp độ vùng chứa bằng cách điền biến Machine (Máy) bằng máy gặp sự cố.
  2. Xóa bớt dữ liệu không cần thiết gây tốn dung lượng trên thiết bị; nếu có các file đa phương tiện hoặc nhật ký, hãy thiết lập một lệnh chạy ngầm theo thời gian định trước để định kỳ xóa các dữ liệu cũ.

Cảnh báo mức sử dụng bộ nhớ cao

Mô tả

Mức sử dụng bộ nhớ của máy quá cao

Mục hành động

  1. Xem bảng điều khiển Chi tiết bộ nhớ để biết mức phân phối sử dụng.
  2. Chạy atop hoặc top trên máy để tìm ra quá trình tiêu thụ nhiều bộ nhớ nhất. Bạn cũng nên xem bảng điều khiển Tổng quan về vùng chứa để biết số liệu về bộ nhớ ở cấp độ vùng chứa bằng cách điền biến Machine (Máy) bằng máy gặp sự cố.
  3. Nếu Webapp, Coreapp hoặc cơ sở dữ liệu tốn nhiều bộ nhớ nhất, hãy tìm một máy mạnh hơn để lưu trữ.
  4. Nếu mức sử dụng bộ nhớ của Coreapp tăng chậm theo thời gian, có thể là do bộ nhớ bị rò rỉ; bạn nên báo cáo lỗi này cho chúng tôi. Khởi động lại Coreapp để giảm thiểu các sự cố về bộ nhớ.

Cảnh báo mở quá nhiều file

Mô tả

Máy sắp hết ký hiệu mô tả file

Mục hành động

  1. Xem bảng điều khiển Ký hiệu mô tả file để biết giới hạn số lượng file được mở.
  2. Đặt cấu hình giá trị cao hơn (ví dụ: fs.file-max = 600000) trong file /etc/sysctl.conf để tăng giới hạn số lượng file được mở.
  3. Chạy sysctl -p để áp dụng các thay đổi.

Các cảnh báo trên bảng điều khiển tổng quan của MySQL

Cảnh báo có quá nhiều kết nối cơ sở dữ liệu

Mô tả

Vùng kết nối cơ sở dữ liệu có mức sử dụng cao; các yêu cầu cơ sở dữ liệu mới có thể không thành công và sớm bị lỗi Too many connections

Mục hành động

  1. Xem bảng điều khiển Kết nối để biết giới hạn kết nối hiện tại.
  2. Tăng số lượng biến hệ thống MySQL max_connections (theo mặc định là 151) trong my.cnf và khởi động lại máy chủ MySQL. Hãy xem tài liệu về Biến hệ thống máy chủ MySQL để biết thêm thông tin.
  3. Đối với AWS RDS, bạn cần chuyển sang một phiên bản RDS lớn hơn. Hãy xem phần Định cỡ phiên bản RDS trong Thông tin chi tiết về cách triển khai AWS để biết hướng dẫn.

Các cảnh báo trên bảng điều khiển tổng quan của Webapp

Cảnh báo của máy chủ HTTP về lượng lớn kết nối đang chờ xử lý

Mô tả

Hàng đợi kết nối của máy chủ HTTP nội bộ Webapp gần đầy

Mục hành động

  1. Xem bảng điều khiển Ứng dụng kinh doanh để phát hiện lưu lượng truy cập bất thường vào API hay độ trễ của yêu cầu API cao.
  2. Xem các nhật ký Webapp để biết thêm thông tin.
  3. Xem liệu mức sử dụng CPU của Webapp có cao hay không. Nếu mức này cao, hãy tìm một máy mạnh hơn cho Webapp.