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

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

Như đã đề cập trong lớp học lập trình Gỡ lỗi Nhà thông minh, chúng tôi sẽ phát hành 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ấn đề của Hành động nhà thông minh 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. Điều này cho phép bạn theo dõi một số mẫu nhất định 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 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 phần Gỡ lỗi lớp học lập trình về Nhà thông minh, việc xử lý nhật ký là yếu tố then chốt để dự án của bạn thành công. Google Cloud có các công cụ hiệu quả để theo dõi và phân tích nhật ký. Để truy cập vào tất cả nhật ký có sẵn cho dự á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 (Thao tác) > Logging (Ghi nhật ký) > Logs Explorer (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ý bao gồm hai phần chính: Phần để viết các truy vấn ở trên cùng (Trình tạo truy vấn) và một khu vực để hiển thị 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ừ tính năng tích hợp Nhà thông minh, bạn phải viết 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. Nhật ký đến 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ứ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ý thể hiện lỗi và ngoại lệ, và cấp DEBUG cho mọi nhật ký 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 và đại diện cho lỗi, như sau:

753bfe72a9f8e959.png

Sau khi viết xong truy vấn, hãy nhấp vào nút Run query (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ừ việc tích hợp Nhà thông minh:

3ef42da5a6c322e1.png

Như bạn thấy, chúng tôi có một số lỗi xảy ra vào nhiều thời điểm trong 1 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 đồ tần suất

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

10eaf1d204decf3c.png

Sau khi bật, bạn sẽ thấy thông tin phân phối nhật ký khớp với truy vấn của mình:

dd3410e65a83cf5d.png

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

Hiện tại, truy vấn mà chúng ta sử dụng không phân biệt giữa các nhật ký và cho chúng ta thấy tất cả lỗi phát sinh 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 hoặc đặc điểm thiết bị nhất định. Để làm việc này, chúng ta sẽ xem xét cách viết 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 từ đó:

825c57c36800844e.png

action

  • trait: Thuộc tính thiết bị mục tiêu do người dùng chỉ định (ví dụ: Bật/tắt, Bắt đầu/dừng, Độ sáng)
  • actionType: Trạng thái chi tiết của thuộc tính (ví dụ: Bật, Tắt, Tạm dừng, Dừng, Tiếp tục)

device

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

status

  • isSuccess: Liệu kết quả của hành động có được coi là thành công hay không (true / false)
  • statusType: Mã trạng thái cho kết quả hành động (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ũng 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 mà yêu cầu sử dụng (cho biết là trên đám mây hay cục bộ)
  • latencyMsec: Độ trễ nhận thấy của yêu cầu trên Máy chủ của Google (tính bằng mili giây)
  • locale: Ngôn ngữ/khu vực gửi yêu cầu (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 các 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 các nhật ký và hiển thị 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 hay để nhanh chóng kiểm tra trạng thái lỗi, nhưng không phải là cách tốt để theo dõi sự thay đổi trong 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ý

Để tính số lượng nhật ký khớp với 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ẽ cho phé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 chỉ số dựa trên nhật ký, hãy chuyển đến phần 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ý hiện có trên dự án của bạn. Sau khi nhấp vào nút CREATE METRIC (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 phân phối cơ bản và cho phép các phép toán thống kê như 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 truy vấn của mình từ phần trước vào khu vực văn bản Build filter (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 các 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Ố rồi chuyển sang phần tiếp theo.

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

Giờ đây, chỉ số dựa trên nhật ký đã được tạo và 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ý ghi lại và hiển thị trong cửa sổ biểu đồ trong Trình khám phá chỉ số.

Theo dõi thông qua Trang tổng quan tuỳ chỉnh

Khi thấy chỉ số mới dựa trên nhật ký hoạt động như dự kiến, đã đến lúc lưu chế độ xem biểu đồ này vào một trang tổng quan tuỳ chỉnh. Để làm việc này, 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 biểu đồ vào:

52329085f841782e.png

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

44961e7cb3663341.png

Chúng ta đã lưu biểu đồ trong một trang tổng quan có tên là "Codelab Dashboard" (Trang tổng quan về lớp học lập trình). Khi mở, bạn sẽ thấy chế độ xem sau:

f7e025c27f30f996.png

Như bạn thấy, biểu đồ thể hiện chỉ số dựa trên nhật ký sẽ hiển thị ở đây, cùng với dữ liệu mới thu thập được. Nhật ký nhà thông minh được phát hành 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 theo chỉ số dựa trên nhật ký ngay lập tức.

4. Xin chúc mừng

674c4f4392e98c1.png

Xin chúc mừng! Bạn đã tìm hiểu thành công 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 lại 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ể sử dụng cho các chỉ số dựa trên nhật ký.