Logo Zephyrnet

Hướng dẫn thực hành về giám sát và khả năng quan sát của thiết bị IoT

Ngày:

Hướng dẫn thực hành về giám sát và khả năng quan sát của thiết bị IoT

Giám sát và khả năng quan sát là rất quan trọng để duy trì độ tin cậy, hiệu quả và bảo mật của thiết bị IoT. Khi thực hiện đúng, chúng sẽ cung cấp cái nhìn tổng quan theo thời gian thực về hệ thống IoT của bạn nhưng cũng đảm bảo quyền truy cập vào dữ liệu cần thiết để khắc phục các sự cố lịch sử. Tuy nhiên, khi phải đối mặt với hàng nghìn thiết bị IoT đa dạng, việc đạt được những mục tiêu này mang lại nhiều thách thức.

Tôi nên theo dõi hay tôi nên quan sát?

Trước tiên, hãy xem lại thuật ngữ trong giám sát và khả năng quan sát của IoT vì các từ “giám sát” và “khả năng quan sát” thường được sử dụng thay thế cho nhau bất chấp sự khác biệt của chúng.

Hãy bắt đầu với việc giám sát, một thuật ngữ có lịch sử lâu đời hơn. Về cốt lõi, việc giám sát nhằm mục đích cung cấp những hiểu biết sâu sắc về tình trạng và hiệu suất của một hệ thống.

Điều này bắt đầu bằng cách thu thập và phân tích các số liệu có liên quan. Phân tích thường được trình bày thông qua bảng điều khiển. Tuy nhiên, một hệ thống giám sát hợp lý phải vượt ra ngoài việc trình bày trực quan, đánh giá các số liệu trong thời gian thực và cảnh báo người dùng về bất kỳ điểm bất thường hoặc vấn đề nào.

Nhưng có một nhược điểm với cách tiếp cận giám sát truyền thống: nó đòi hỏi bạn phải biết những gì cần tìm kiếm. Phương pháp này có thể thất bại khi gặp phải các vấn đề mới.

Đây là lúc khả năng quan sát phát huy tác dụng vì nó có thể giúp bạn xử lý cái gọi là những ẩn số chưa biết. Nói một cách đơn giản, một hệ thống có thể được quan sát khi bạn có thể trả lời các câu hỏi về hoạt động bên trong của nó chỉ từ kết quả đầu ra của nó. Kết quả đầu ra thông thường của phần mềm bao gồm nhật ký, số liệu và dấu vết.

Một hệ thống có khả năng quan sát tốt không chỉ dễ khắc phục sự cố hơn mà còn cho phép bạn phát hiện phạm vi vấn đề rộng hơn nhiều. Điều này là do bạn có hiểu biết sâu sắc hơn về hệ thống nên sẽ dễ dàng nhận được câu trả lời cho câu hỏi của bạn về những gì đang thực sự xảy ra.

Khả năng quan sát đặc biệt quan trọng trong bối cảnh IoT, nơi các hệ thống bao gồm nhiều thiết bị và mô-đun. Việc cố gắng dự đoán mọi sự kết hợp tiềm năng của các trạng thái có thể dẫn đến rắc rối là không thực tế ở quy mô này, nếu không muốn nói là không thể.

Các phương pháp giám sát và số liệu thiết yếu

Hãy cùng khám phá dữ liệu đáng theo dõi và các công cụ cụ thể được thiết kế để giúp chúng ta thực hiện nhiệm vụ này.

Chúng tôi có đang lấy dữ liệu không?

Không có gì bí mật khi Internet of Things thường thiên về dữ liệu hơn là đồ vật. Đó là lý do tại sao việc theo dõi việc truyền dữ liệu trên thiết bị của bạn là rất quan trọng. Một nền tảng IoT vững chắc cần theo dõi chặt chẽ các số liệu như tần suất tin nhắn và khối lượng dữ liệu được truyền đi.

Tuy nhiên, việc theo dõi thủ công lưu lượng truy cập của hàng ngàn thiết bị rõ ràng không phải là một việc làm khôn ngoan. Nhu cầu cảnh báo tự động là không thể nghi ngờ trong trường hợp này. Điều tối thiểu mà bạn cần được cảnh báo là khi thiết bị không gửi bất kỳ dữ liệu nào nhưng bạn mong đợi nó sẽ làm như vậy.

Tuy nhiên, hãy nhớ rằng các thiết bị IoT thường hoạt động trong những môi trường không thể đoán trước, chẳng hạn như các khu vực có kết nối internet không đáng tin cậy. Vì vậy, khoảng cách truyền dữ liệu ngắn không phải lúc nào cũng cho thấy thiết bị có vấn đề.

Ngoài ra, thông lệ là lưu các tin nhắn vào bộ nhớ đệm trên thiết bị của bạn hoặc cổng biên để bạn không bị mất bất kỳ dữ liệu quan trọng nào. Vấn đề là bạn phải hết sức cẩn thận để không đặt ngưỡng quá nhạy cảm. Nếu không, bạn sẽ được cảnh báo về mọi trục trặc trong mạng, điều này chắc chắn sẽ dẫn đến tình trạng cảnh báo mệt mỏi và cảnh báo sẽ mất đi tiềm năng của nó.

Thông tin chung về tình trạng thiết bị

Giám sát tình trạng thiết bị liên quan đến việc theo dõi các số liệu chính khác nhau. Bạn có thể nghĩ đến CPU, mức tiêu thụ bộ nhớ và lưu lượng mạng. Việc có quyền truy cập vào các số liệu này có thể giúp xác định các vấn đề về hiệu suất, phát hiện lỗi phần mềm hoặc thậm chí tiết lộ các cuộc tấn công bên ngoài.

Có nhiều cách để hiển thị các số liệu này. Tuy nhiên, cộng đồng kỹ thuật hiện đang bị thu hút bởi khả năng của MởTelemetry.

Một trong những điểm bán hàng chính của họ là cách tiếp cận bất khả tri của nhà cung cấp. Tức là bạn có thể chọn từ một số lượng lớn các phụ trợ có thể quan sát được để lưu trữ và phân tích sau này. Điều này đã dẫn đến tất cả các loại công cụ được tạo ra để làm việc với nó.

Vì vậy, bất kể bạn đang sử dụng ngôn ngữ hoặc hệ thống nào, bạn đều được bảo vệ. Điều này cực kỳ tiện dụng, đặc biệt là trong thế giới IoT hoang dã, nơi mọi thiết bị đều có thể chạy phần mềm độc đáo của nó.

OpenTelemetry hỗ trợ ba loại tín hiệu chính: số liệu, nhật ký và dấu vết. Đối với hầu hết các trường hợp được nêu trong phần này, các thiết bị chỉ cần hiển thị một số số liệu có liên quan, chẳng hạn như mức tiêu thụ bộ nhớ hiện tại của chúng.

Sau đó, các số liệu này cần được chuyển vào đám mây nơi bạn có thể trực quan hóa chúng, thiết lập cảnh báo, v.v. Đường dẫn này đã được mở sẵn cho các trường hợp sử dụng IoT với các dự án như OpenTelemetry Collector hoặc Telegraf có thể giúp bạn thu thập số liệu từ thiết bị IoT của mình.

Các tín hiệu cụ thể của miền khác

Ngoài các đặc điểm chung về gửi dữ liệu và sử dụng tài nguyên, bạn có thể cần theo dõi một số giá trị theo miền cụ thể. Điều này có thể liên quan đến việc gửi nhật ký, dấu vết hoặc tin nhắn đơn giản chứa nội dung dành riêng cho ứng dụng.

Đối với cả nhật ký và dấu vết, bạn có thể dựa vào hệ sinh thái OpenTelemetry một lần nữa. Điều này cho phép bạn phân tích nhật ký và dấu vết bằng cách sử dụng các chương trình phụ trợ ưa thích của bạn, chẳng hạn như Grafana Loki/Tempo hoặc ngăn xếp Khả năng quan sát đàn hồi mà không cần nỗ lực thêm! Mặt khác, nhắn tin là chức năng cốt lõi của mọi nền tảng IoT hợp lý. Nói cách khác, những cách tiếp cận này sẽ đơn giản để thực hiện trong hầu hết các tình huống.

Sự đơn giản của nhật ký

Ví dụ, hãy xem xét một máy thu hoạch tự động. Bạn có thể muốn theo dõi hoạt động của nó. Cách đơn giản để thực hiện việc này là gửi nhật ký khi hoạt động bắt đầu với một số siêu dữ liệu bổ sung.

Bạn có thể làm điều tương tự khi hoạt động kết thúc và đối với các sự kiện liên quan khác. Về cơ bản, mỗi bản ghi nhật ký chỉ là một sự kiện có cấu trúc với một số thuộc tính bắt buộc. Dưới đây là ví dụ về nhật ký được gửi khi máy gặt bắt đầu trình tự lắp ghép:

Ngoài các trường chính, như dấu thời gian và nội dung, thông báo có thể chứa các thuộc tính bổ sung mô tả sự kiện chi tiết hơn. Những bit bổ sung này có thể hữu ích khi bạn đang tìm kiếm lỗi. Vì vậy hãy đảm bảo bao gồm tất cả các thông tin quan trọng.

Những hiểu biết sâu sắc về bối cảnh với dấu vết

Nếu bạn muốn có thông tin chi tiết hơn một chút, bạn cũng có thể sử dụng tính năng theo dõi. Một dấu vết tương ứng với một hoạt động logic của một hệ thống và nó được xác định ngầm định bởi các nhịp của nó. Một khoảng đại diện cho một đơn vị công việc của hoạt động đó. Nó được xác định bởi thời gian bắt đầu và kết thúc, các thuộc tính và tùy chọn, khoảng chính.

Nhờ các tham chiếu gốc, dấu vết tạo thành một biểu đồ có hướng mô tả hoạt động cụ thể và các chương trình con của nó. Ngoài ra, các khoảng thời gian có thể chứa nhiều sự kiện khoảng thời gian mô tả một sự kiện đã xảy ra tại một thời điểm cụ thể.

Mặc dù dấu vết thường liên quan đến việc giám sát các hệ thống phân tán, nhưng bạn cũng có thể sử dụng tính năng theo dõi trong các thiết bị IoT để giúp bạn hiểu được bức tranh toàn cảnh về những gì đang diễn ra tại hiện trường. Giả sử bạn tò mò về cách máy gặt tự động quay trở lại trạm nối của nó.

Xem hình bên dưới, nơi lắp ghép tương ứng với nhịp gốc cấp cao nhất. Đầu tiên, máy gặt cần xác định vị trí trạm nối nên nó gọi API. Hoạt động này tương ứng với một khoảng con. Một ví dụ về sự kiện nhịp có thể là thời điểm máy gặt rời khỏi cánh đồng. Khi sử dụng tất cả các công cụ truy tìm cùng nhau, bạn có thể thấy được toàn cảnh hoạt động của thiết bị.

Quay lại vấn đề cơ bản với những tin nhắn đơn giản

Trong một số trường hợp nhất định, việc gửi tin nhắn có cấu trúc đơn giản có thể thực tế hơn việc sử dụng tín hiệu OpenTelemetry. Quay lại ví dụ về máy gặt tự động, có thể bạn sẽ muốn theo dõi vị trí của nó.

Nếu bạn muốn trực quan hóa vị trí theo thời gian thực, OpenTelemetry hiện không thực sự hỗ trợ tín hiệu phù hợp về mặt ngữ nghĩa với tình huống này. Phù hợp nhất có thể là API sự kiện của họ, vẫn đang trong giai đoạn thử nghiệm (tại thời điểm viết bài viết này vào Quý 1 năm 2024). Thay vào đó, hãy cân nhắc việc gửi thông báo JSON sau:

Lý tưởng nhất là nền tảng IoT mà bạn đang sử dụng có thể phân tích các thông báo như vậy và nhập chúng vào cơ sở dữ liệu phù hợp mà bạn chọn. Từ đó, bạn có thể thoải mái phân tích và trực quan hóa dữ liệu theo nhu cầu của mình.

Chúng tôi đã tạo lại ví dụ này bằng nền tảng Spotflow IoT để thể hiện tính đơn giản. Chúng tôi thiết lập một thiết bị gửi tin nhắn định kỳ về vị trí và vận tốc của nó tới nền tảng. Sau đó, chúng tôi định tuyến luồng dữ liệu vào bồn rửa đầu ra Grafana tích hợp sẵn của chúng tôi. Và thế là xong! Nền tảng hiện lấy tất cả các tin nhắn và đưa chúng vào cơ sở dữ liệu chuỗi thời gian có thể được truy vấn trong Grafana.

Ngoài ra, đây là trường hợp sử dụng tuyệt vời để hiển thị Grafana Geomap. Nó cho phép bạn dễ dàng vẽ sơ đồ vị trí của thiết bị. Xem hình ảnh bên dưới, nơi chúng tôi sử dụng Grafana để trực quan hóa dữ liệu nhận được từ thiết bị.

Chìa khóa chính

Và thế là xong! Bây giờ bạn đã sẵn sàng thiết lập ngăn xếp khả năng quan sát và bắt đầu giám sát các thiết bị IoT của mình. Chúng tôi muốn bài viết này đóng vai trò là điểm khởi đầu trong thế giới về khả năng quan sát của IoT. Hãy nhớ những ý chính sau:

  • Giám sát việc truyền dữ liệu: Theo dõi chặt chẽ việc truyền dữ liệu từ thiết bị của bạn và chuẩn bị sẵn các cảnh báo để kịp thời phát hiện mọi sự gián đoạn.
  • Theo dõi số liệu tình trạng thiết bị: Hiển thị các số liệu liên quan đến tình trạng thiết bị của bạn để đảm bảo hoạt động trơn tru.
  • Gửi dữ liệu cụ thể của ứng dụng qua nhật ký, dấu vết và tin nhắn có cấu trúc: Hãy suy nghĩ về miền của bạn và hoạt động của thiết bị, đồng thời gửi tất cả dữ liệu có thể cần thiết để gỡ lỗi và theo dõi thời gian thực trong tương lai.
  • Khám phá hệ sinh thái đo từ xa mở: Hãy cân nhắc sử dụng hệ sinh thái OpenTelemetry trong IoT vì nó trở thành một tiêu chuẩn về khả năng quan sát, cung cấp cho bạn nhiều tùy chọn về phần phụ trợ khả năng quan sát và phục vụ nhiều thời gian chạy thiết bị khác nhau.
tại chỗ_img

Tin tức mới nhất

tại chỗ_img