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 ta sẽ xuất bản các chỉ số và nhật ký lên các dự án Nhà thông minh của bạn. Các chỉ số giúp bạn xác định xem Hành động trong nhà thông minh đang gặp vấn đề ở đâu, đồng thời nhật ký sẽ rất hữu ích khi bạn tìm hiểu sâu để giải quyết các vấn đề này.

848f483bfcd2997a.png.

Ngoài những chỉ số 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ác Chỉ số dựa trên nhật ký của Google Cloud Platform. Nhờ đó, bạn có thể theo dõi một số mẫu nhất định trong nhật ký và gỡ lỗi một cách 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 ghi các 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ủa bạn
  • Cách tạo biểu đồ và trang tổng quan từ các chỉ số dựa trên nhật ký để theo dõi

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

Như chúng tôi đã đề cập ngắn gọn trong Lớp học lập trình về nhà thông minh, việc làm việc với nhật ký là chìa khóa để đạt được thành công với dự án của bạn. Có nhiều công cụ hữu ích trên Google Cloud Platform để 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ý hiện có cho dự án của mình, bạn có thể sử dụng Trình khám phá nhật ký.

Truy cập nhật ký

Bước đầu tiên để truy cập vào nhật ký là đăng nhập vào Google Cloud Platform rồi chọn dự án của bạn. Chuyển đến mục Trình khám phá nhật ký thông qua trình đơn bên bằng cách chuyển đến phần Hoạt động > 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.pngS

Trình khám phá nhật ký bao gồm hai phần chính: Phần để viết truy vấn của bạn ở đầu (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 trên Google ghi nhật ký vào dự án của bạn. Để tìm và làm việc với nhật ký từ công cụ 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 theo 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. Bạn có thể sử dụng nhật ký trên nền tảng Nhà thông minh cho dự án của mình theo loại tài nguyên assistant_action_project.

Ngoài ra, mọi 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 các nhật ký thể hiện lỗi và ngoại lệ, còn 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 các nhật ký chỉ đến từ nền tảng mà chúng ta biểu thị lỗi như sau:

753bfe72a9f8e959.pngS

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 của bạn:

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 một giờ qua. Mỗi dòng đại diện cho một nhật ký lỗi. Bạn có thể nhấp thêm vào từng nhật ký và mở rộng các trường lồng nhau để xem thông tin chứa trong đó.

Sử dụng biểu đồ

Trình khám phá nhật ký cung cấp tính năng Biểu đồ hữu ích để xem việc phân phối thời gian của nhật ký phù hợp với truy vấn của bạn. Để kích hoạt Biểu đồ, hãy nhấp vào LÊN TRANG NỘI DUNG từ các nút ở góc trên bên phải và chọn 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 một bảng phân phối nhật ký phù hợp với truy vấn của mình:

dd3410e65a83cf5d.png

Như bạn có thể thấy trong hình trên, chúng tôi có một số lỗi được nhóm thưa thớt trong giờ vừa qua. Chúng dường như tạo thành ba cụm vào khoảng 1:45, 2:00 và 2:15 chiều. Biểu đồ có thể giúp bạn phát hiện các mẫu khó nhìn thấy bằng cách 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 các nhật ký và cho thấy tất cả lỗi đến từ công cụ Tích hợp nhà thông minh. Có nhiều lúc 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 điều này, chúng ta sẽ xem 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 của Nhà thông minh, bạn sẽ thấy có nhiều trường để thu thập thông tin:

825c57c36800844e.png.

action

  • trait: Nhắm đến đặc điểm thiết bị theo người dùng (ví dụ: Bật Tắt, StartStop, Brightness)
  • actionType: Trạng thái chi tiết nhỏ 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ị theo 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 của 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

Bạn cũng có thể lấy thông tin từ các trường khác:

  • requestId: Một mã nhận dạng duy nhất được 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à Đám mây hay Cục bộ)
  • latencyMsec: Độ trễ dự kiến của yêu cầu trên các máy chủ của Google (tính bằng mili giây)
  • locale: Cặp ngôn ngữ/khu vực nào gửi yêu cầu (ví dụ: tiếng Anh, tiếng Pháp)

Bằng cách sử dụng trường trait trong danh sách trên, chúng ta sẽ sửa đổi truy vấn để chỉ đưa vào các lỗi bắt nguồ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 tôi thấy kết quả tương ứng:

76176d7a41962341.pngS

Đến thời điểm này, chúng tôi đã thực hiện tất cả các truy vấn của mình 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ả để theo dõi sự 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 tôi sẽ tạo các chỉ số dựa trên nhật ký.

3. Các chỉ số dựa trên nhật ký

Để đếm số lượng nhật ký phù hợ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ý. Nhờ đó, bạn có thể xem các quy luật và toàn bộ 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 Thao tác > Ghi nhật ký > Chỉ số dựa trên nhật ký. Thao tác này sẽ hiển thị cho bạn danh sách các chỉ số dựa trên nhật ký đã có sẵn 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 tính 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 thực hiện các phép tính thống kê như trung bình, trung vị và phân vị thứ 95.

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 ở 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 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ủa chúng ta đã được tạo, chỉ số này sẽ có trong phần Chỉ số do người dùng xác định trên trang Chỉ số dựa trên nhật ký.

1b2c88c18533fbcd.png.

Từ 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.pngS

Khi gặp lỗi mới, chúng tôi sẽ thu thập lỗi đó bằng chỉ số dựa trên nhật ký 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

Sau khi chúng tôi thấy chỉ số dựa trên nhật ký mới của mình hoạt động như dự kiến, đã đến lúc lưu chế độ xem biểu đồ này vào trang tổng quan tùy chỉnh. Để làm được điều 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ẽ mở ra 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 tôi có thể truy cập biểu đồ đó dễ dàng từ đó. Để truy cập danh sách các trang tổng quan có sẵn trong dự án của bạn, hãy chuyển đến Vận hành > Giám sát > Trang tổng quan.

44961e7cb3663341.pngs

Chúng ta đã lưu biểu đồ trong một trang tổng quan có tên là "Trang tổng quan của lớp học lập trình". Khi mở tệp lên, 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ý xuất hiện tại đây, cùng với dữ liệu mới được thu thập. Nhật ký nhà thông minh được xuất bản vào dự án của bạn theo thời gian thực. Khi có nhật ký mới, bạn sẽ thấy ngay nhật ký đó được tính vào chỉ số dựa trên nhật ký của mình.

4. Xin chúc mừng

674c4f4392e98c1.pngS

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

Các bước tiếp theo

Để xây dựng lớp học lập trình này, hãy thử thực hiện các bài tập sau và khám phá các tài nguyên khác:

  • 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ể sử dụng cho các chỉ số dựa trên nhật ký.