Chỉ số dựa trên nhật ký cho nhà thông minh

1. Trước khi bắt đầu

Như chúng ta đã đề cập trong codelab Gỡ lỗi Nhà thông minh, chúng tôi đang xuất bản các chỉ số và nhật ký cho các dự án Nhà thông minh của bạn. Các chỉ số giúp bạn xác định vị trí mà Thao tác nhà thông minh gặp vấn đề và nhật ký sẽ hữu ích khi bạn tìm hiểu sâu để giải quyết những vấn đề này.

848f483bfcd2997a.png

Ngoài các chỉ số mà chúng tôi cung cấp cho dự án của bạn, bạn cũng có thể tạo chỉ số của riêng mình bằng cách sử dụng Chỉ số dựa trên nhật ký của Google Cloud. Nhờ đó, bạn có thể theo dõi một số mẫu trong nhật ký và gỡ lỗi hiệu quả các vấn đề về chất lượng.

Điều kiện tiên quyết

Kiến thức bạn sẽ học được

  • Cách viết truy vấn hiệu quả để lọc nhật ký lỗi của Nhà thông minh
  • Cách tạo chỉ số dựa trên nhật ký để tạo chỉ số từ các truy vấn
  • Cách tạo biểu đồ và trang tổng quan từ các chỉ số dựa trên nhật ký để giám sát

2. Làm việc với nhật ký

Như chúng ta đã đề cập ngắn gọn trong Gỡ lỗi Codelab Nhà thông minh, việc sử dụng nhật ký là yếu tố then chốt để dự án của bạn thành công. Google Cloud cung cấp những công cụ hữu ích để theo dõi và phân tích nhật ký của bạn. Để truy cập vào tất cả nhật ký có sẵn cho dự án của bạn, bạn có thể sử dụng Trình khám phá nhật ký.

Truy cập vào nhật ký

Bước đầu tiên để truy cập vào nhật ký là đăng nhập vào Google Cloud rồi chọn dự án của bạn. Chuyển đến Trình khám phá nhật ký bằng trình đơn bên, bằng cách chuyển đến Operations > Logging > Logs Explorer (Thao tác > Ghi nhật ký > Trình khám phá nhật ký). Sau khi mở công cụ này, bạn sẽ thấy chế độ xem sau:

78982d8b6d19b827.png

Trình khám phá nhật ký có hai phần chính: Phần viết truy vấn ở trên cùng (Trình tạo truy vấn) và một vùng để hiện các kết quả phù hợp (Kết quả truy vấn).

Theo mặc định, nhiều thành phần khác nhau trên Google sẽ ghi nhật ký vào dự án của bạn. Để tìm và xử lý nhật ký từ chế độ tích hợp Nhà thông minh, bạn phải viết các truy vấn tuỳ chỉnh.

Viết truy vấn

Nhật ký được xuất bản cho các dự án thuộc một loại tài nguyên. Mỗi loại tài nguyên đại diện cho một nền tảng khác nhau trong Google. Các nhật ký từ nền tảng Nhà thông minh có sẵn cho dự án của bạn trong loại tài nguyên assistant_action_project.

Ngoài ra, tất cả nhật ký đều được chỉ định một mức độ nghiêm trọng khi tạo. Với nhật ký Nhà thông minh, chúng tôi sử dụng cấp độ ERROR cho nhật ký đại diện cho lỗi và trường hợp ngoại lệ, đồng thời sử dụng cấp độ DEBUG cho mọi thứ khác.

Trong ví dụ sau, chúng ta sẽ viết một truy vấn để lọc nhật ký chỉ đến từ nền tảng của chúng ta, biểu thị các lỗi, như sau:

753bfe72a9f8e959.png

Sau khi bạn viết xong truy vấn, hãy nhấp vào nút Chạy truy vấn để bắt đầu truy vấn. Thao tác này sẽ hiển thị các lỗi phát sinh từ quá trình tích hợp Nhà thông minh:

3ef42da5a6c322e1.png

Như bạn thấy, có một số lỗi xảy ra vào nhiều thời điểm trong giờ qua. Mỗi dòng đại diện cho một nhật ký lỗi. Bạn có thể nhấp vào từng nhật ký và mở rộng các trường lồng nhau để xem thông tin có trong đó.

Sử dụng biểu đồ

Trình khám phá nhật ký cung cấp một tính năng Biểu đồ tần suất hữu ích để xem sự phân phối thời gian của những nhật ký khớp với truy vấn của bạn. Để kích hoạt biểu đồ tần suất, hãy nhấp vào PAGE LAYOUT (Bố cục trang) trong số các nút ở góc trên cùng bên phải rồi đánh dấu vào Histogram (Biểu đồ tần suất) để bật tính năng này.

10eaf1d204decf3c.png

Sau khi bật, bạn sẽ thấy bản phân phối nhật ký phù hợp với cụm từ tìm kiếm của mình:

dd3410e65a83cf5d.png

Như bạn có thể thấy trong hình ảnh trên, chúng tôi có một số lỗi rải rác trong giờ qua. Có vẻ như chúng tạo thành 3 cụm vào khoảng 1:45, 2:00 và 2:15 chiều. Biểu đồ tần suất có thể giúp bạn phát hiện các mẫu mà bạn khó có thể thấy được nếu chỉ kiểm tra các giá trị dấu thời gian.

Hiện tại, truy vấn mà chúng tôi sử dụng không phân biệt giữa nhật ký và cho chúng tôi biết tất cả lỗi đến từ tính năng Tích hợp nhà thông minh. Có nhiều trường hợp bạn có thể muốn phân biệt giữa các lỗi, chẳng hạn như để theo dõi các mẫu lỗi bắt nguồn từ một số loại thiết bị hoặc đặc điểm nhất định. Để làm được việc này, chúng ta sẽ xem xét cách viết các truy vấn nâng cao.

Truy vấn nâng cao

Khi kiểm tra nhật ký sự kiện Nhà thông minh, bạn sẽ thấy có nhiều trường mà bạn có thể thu thập thông tin:

825c57c36800844e.png

action

  • trait: Nhắm đến đặc điểm thiết bị của người dùng (ví dụ: OnOff, StartStop, Brightness)
  • actionType: Trạng thái chi tiết của đặc điểm (ví dụ: Bật, Tắt, Tạm dừng, Dừng, Tiếp tục)

device

  • deviceType: Nhắm đến loại thiết bị của người dùng (ví dụ: Đèn, Công tắc, Máy giặt)

status

  • isSuccess: Kết quả của thao tác có được coi là thành công hay không (true / false)
  • statusType: Mã trạng thái cho kết quả của thao tác (cho biết mã lỗi nếu không thành công)
  • externalDebugString: Chuỗi gỡ lỗi cho thao tác (mô tả chi tiết lỗi)

Các trường khác

Ngoài ra, bạn có thể lấy thông tin từ các trường khác:

  • requestId: Mã nhận dạng duy nhất liên kết với yêu cầu (do Google tạo)
  • executionType: Đường dẫn được yêu cầu sử dụng (cho biết là Cloud hay Local)
  • latencyMsec: Độ trễ cảm nhận được cho yêu cầu trên Máy chủ của Google (tính bằng mili giây)
  • locale: Cặp ngôn ngữ/khu vực mà yêu cầu được gửi từ đó (ví dụ: en-US, fr-FR)

Bằng cách sử dụng trường đặc điểm trong danh sách trên, chúng ta sẽ sửa đổi truy vấn để chỉ bao gồm những lỗi đến từ đặc điểm OnOff như sau:

resource.type="assistant_action_project" AND severity=ERROR AND
jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"

Sau khi chạy truy vấn đã cập nhật, hệ thống sẽ xác định nhật ký và cho chúng ta thấy kết quả tương ứng:

76176d7a41962341.png

Cho đến nay, chúng ta đã thực hiện tất cả các truy vấn theo cách thủ công. Đó là một cách hiệu quả để nhanh chóng kiểm tra trạng thái lỗi, nhưng không hiệu quả lắm khi theo dõi những thay đổi trong các mẫu lỗi theo thời gian. Để tự động hoá quy trình này và thu thập dữ liệu trong khoảng thời gian dài hơn, chúng ta sẽ tạo các chỉ số dựa trên nhật ký.

3. Chỉ số dựa trên nhật ký

Để đếm số lượng nhật ký khớp với các truy vấn của bạn theo thời gian, bạn có thể sử dụng các chỉ số dựa trên nhật ký. Điều này sẽ giúp bạn xem các mẫu và trên nhật ký của mình, đồng thời cung cấp thông tin chi tiết hữu ích về các vấn đề cơ bản.

Tạo chỉ số dựa trên nhật ký

Để tạo một chỉ số dựa trên nhật ký, hãy chuyển đến mục Operations > Logging > Log-based Metrics (Thao tác > Ghi nhật ký > Chỉ số dựa trên nhật ký). Thao tác này sẽ cho bạn thấy danh sách các chỉ số dựa trên nhật ký đã có trong dự án của bạn. Sau khi nhấp vào nút TẠO CHỈ SỐ, bạn sẽ thấy màn hình tạo chỉ số dựa trên nhật ký:

296af6e7d8dcf6cf.png

Có hai loại chỉ số chính: chỉ số bộ đếm đếm số lượng nhật ký khớp với truy vấn của bạn. Chỉ số phân phối theo dõi mức phân phối cơ bản và cho phép các thao tác thống kê như giá trị trung bình, trung vị và phân vị thứ 95.

Khi di chuyển xuống, bạn sẽ thấy một phần bộ lọc để nhập cụm từ tìm kiếm.

f7f2093fa1bce2ac.png

Chúng ta sẽ dán cụm từ tìm kiếm từ phần trước vào vùng văn bản Tạo bộ lọc.

​​resource.type="assistant_action_project" AND severity=ERROR AND
jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"

Bạn cũng có thể nhấp vào nút XEM TRƯỚC NHẬT KÝ để xem nhanh nhật ký trước đây khớp với bộ lọc của bạn. Sau khi hoàn tất, bạn có thể nhấp vào nút TẠO CHỈ SỐ và chuyển sang phần tiếp theo.

Xem dữ liệu chỉ số dựa trên nhật ký

Giờ đây, sau khi được tạo, chỉ số dựa trên nhật ký sẽ xuất hiện trong mục Chỉ số do người dùng xác định trên trang Chỉ số dựa trên nhật ký.

1b2c88c18533fbcd.png

Trong trình đơn tương ứng với chỉ số dựa trên nhật ký (3 dấu chấm), hãy chọn Xem trong Trình khám phá chỉ số để xem dữ liệu được thu thập trong chỉ số dựa trên nhật ký:

54a836fdc3a666a3.png

Khi có lỗi mới, lỗi đó sẽ được chỉ số dựa trên nhật ký của chúng tôi ghi lại và hiển thị trong cửa sổ biểu đồ trong Trình khám phá chỉ số.

Giám sát thông qua Trang tổng quan tuỳ chỉnh

Sau khi thấy chỉ số mới dựa trên nhật ký hoạt động như dự kiến, bạn có thể lưu chế độ xem biểu đồ này vào một trang tổng quan tuỳ chỉnh. Để lưu biểu đồ, hãy nhấp vào nút Lưu biểu đồ ở góc trên bên phải của Trình khám phá chỉ số. Thao tác này sẽ hiển thị lời nhắc đặt tên cho biểu đồ và chọn Trang tổng quan mà bạn muốn lưu vào:

52329085f841782e.png

Sau khi lưu biểu đồ vào trang tổng quan, chúng ta có thể dễ dàng truy cập vào biểu đồ đó từ trang tổng quan. Để truy cập vào danh sách các trang tổng quan có trên dự án của bạn, hãy chuyển đến Operations > Monitoring > Dashboards (Thao tác > Giám sát > Trang tổng quan).

44961e7cb3663341.png

Chúng ta đã lưu biểu đồ trong một trang tổng quan có tên là "Trang tổng quan Codelab". Khi mở, bạn sẽ thấy chế độ xem sau:

f7e025c27f30f996.png

Như bạn thấy, biểu đồ đại diện cho chỉ số dựa trên nhật ký sẽ xuất hiện ở đây, cùng với dữ liệu mới thu thập. Nhật ký nhà thông minh được xuất bản cho dự án của bạn theo thời gian thực. Khi có nhật ký mới, bạn sẽ thấy nhật ký đó được tính ngay lập tức theo chỉ số dựa trên nhật ký.

4. Xin chúc mừng

674c4f4392e98c1.png

Xin chúc mừng! Bạn đã học được cách chuyển đổi truy vấn thành chỉ số dựa trên nhật ký và lưu các chỉ số đó vào trang tổng quan tuỳ chỉnh để theo dõi.

Các bước tiếp theo

Dựa trên Lớp học lập trình này, hãy thử các bài tập sau và khám phá các tài nguyên bổ sung:

  • Hãy xem hướng dẫn Tạo chỉ số phân phối để tạo chỉ số dựa trên nhật ký trên các trường số, chẳng hạn như độ trễ.
  • Xem Thư viện truy vấn mẫu do Google Cloud cung cấp để xem một số bộ lọc phức tạp mà bạn có thể dùng cho chỉ số dựa trên nhật ký.