Cửa sổ cấu hình nguồn dữ liệu InfluxDB trong Grafana, hiển thị các trường URL, Database, Username và API Token để kết nối. Tối ưu hóa giám sát nhà thông minh.
Máy Tính

Thiết lập Hệ thống Giám sát Nhà Thông minh với InfluxDB, HA & Grafana

Trong kỷ nguyên công nghệ số, việc giám sát ngôi nhà thông minh đã trở thành một nhu cầu thiết yếu, giúp người dùng kiểm soát và tối ưu hóa môi trường sống. Hiện có rất nhiều tùy chọn để bạn thực hiện điều này, từ những công cụ phổ biến như Prometheus, Home Assistant với vô số tích hợp, cho đến các nền tảng chuyên biệt như Grafana hay InfluxDB, hoặc kết hợp linh hoạt tất cả chúng. Với vai trò là một chuyên gia tại congnghe360.net, tôi đã dành thời gian để xây dựng và triển khai một hệ thống giám sát toàn diện, sử dụng InfluxDB, Home Assistant và Grafana. Quá trình thiết lập ban đầu đòi hỏi không ít công sức, nhưng kết quả cuối cùng hoàn toàn xứng đáng với những gì bạn bỏ ra: một dashboard trực quan, hiển thị dữ liệu nhà thông minh theo thời gian thực một cách hiệu quả.

Cụ thể, tôi đã cài đặt toàn bộ hệ thống này trên TrueNAS, sử dụng các ảnh Docker chính thức cho từng ứng dụng. Để thu thập dữ liệu vào InfluxDB, tôi triển khai Telegraf trên máy Mac cá nhân. Toàn bộ dữ liệu sau đó được đọc từ InfluxDB và đưa vào Grafana, nơi tôi viết các truy vấn bằng ngôn ngữ InfluxQL. Thành quả là một bảng điều khiển đẹp mắt, có khả năng hiển thị các biểu đồ về nhiều khía cạnh khác nhau của ngôi nhà thông minh trong thời gian thực, mang lại cái nhìn tổng quan và chi tiết cho người dùng yêu công nghệ tại Việt Nam.

Thiết lập InfluxDB và Telegraf: Bước Khó Khăn Nhất

Nền tảng cho dữ liệu thông minh của bạn

Thiết lập InfluxDB chắc chắn là phần thử thách nhất trong toàn bộ quy trình, đặc biệt là với những thay đổi lớn trong phiên bản 2.0. Về cơ bản, InfluxDB đã chuyển từ việc chấp nhận nhiều định dạng dữ liệu khác nhau sang chỉ hỗ trợ một định dạng cụ thể – Telegraf. Lý do đằng sau sự thay đổi này là nhằm tối thiểu hóa các loại định dạng mà InfluxDB cần hỗ trợ, đồng nghĩa với việc bạn không thể sử dụng các công cụ như Graphite hay SNMP nữa. Đây là một cải tiến tốt, nhưng cũng có nghĩa là nhiều tài liệu hướng dẫn trực tuyến đã trở nên lỗi thời. Trong quá trình cài đặt, bạn sẽ được cung cấp một mã API token. Hãy đảm bảo lưu trữ mã này ở nơi an toàn, vì đây là một token cực kỳ quan trọng mà bạn sẽ cần sử dụng nhiều lần sau này.

Việc cài đặt container và cấu hình tổ chức, tài khoản của tôi diễn ra khá dễ dàng. Tuy nhiên, tìm cách để Telegraf hoạt động mới là phần tôi gặp nhiều khó khăn nhất. Trong trường hợp của tôi, sau khi thêm một thiết bị Telegraf vào InfluxDB, hệ thống đã cung cấp cho tôi mã API token và một lệnh để chạy trong terminal nhằm bắt đầu chia sẻ dữ liệu. Lệnh này có dạng:

telegraf --config http://192.168.1.5:30115/api/v2/telegrafs/0e9f980bb8fdd000

Tuy nhiên, lệnh này đã không hoạt động. Sau khi tôi sử dụng wget để tải file cấu hình và kiểm tra, tôi nhận thấy rằng nó đang chia sẻ dữ liệu đến 192.168.1.1, tức là gateway mặc định của tôi, điều này rõ ràng không chính xác. Tôi đã sửa đổi cấu hình để bổ sung việc thu thập thông tin CPU và thay đổi địa chỉ IP thành 192.168.1.5. Sau đó, tôi chạy lại lệnh nhưng trỏ đến cấu hình cục bộ mà tôi đã tải xuống và sửa đổi. Lần này, mọi thứ hoạt động trơn tru, và tôi đã bắt đầu thu thập dữ liệu từ máy Mac của mình một cách hiệu quả.

Nếu bạn muốn xem danh sách các plugin mà Telegraf có thể thu thập dữ liệu, hãy truy cập kho lưu trữ GitHub chính thức của Telegraf. Mỗi plugin đều có một cấu hình mặc định mà bạn chỉ cần sao chép và dán nội dung vào tệp cấu hình Telegraf tổng thể của mình. Dữ liệu sau đó sẽ tự động được chia sẻ với máy chủ InfluxDB của bạn. Bạn có thể kiểm tra và tạo dashboard ngay trong InfluxDB nếu muốn, nhưng mục tiêu của chúng ta là chuyển mọi thứ sang Grafana để có khả năng trực quan hóa mạnh mẽ hơn.

Tiếp theo, tôi thiết lập Home Assistant để xuất dữ liệu của mình sang InfluxDB. Tích hợp của Home Assistant là một tích hợp cũ, nghĩa là nó chỉ được điều khiển thông qua tệp YAML. Bạn sẽ phải sửa đổi tệp configuration.yaml của Home Assistant và thêm cấu hình cho InfluxDB2. Bạn có thể tìm thấy hướng dẫn chi tiết về cách thực hiện và những gì bạn cần thêm tùy thuộc vào thiết lập của mình tại đây. Các bước bạn cần thực hiện để sửa đổi tệp đó sẽ khác nhau tùy thuộc vào cách bạn chạy Home Assistant.

Sau khi bạn đã cấu hình mọi thứ và có thể thấy dữ liệu của mình đang hiển thị trong InfluxDB, bạn đã sẵn sàng để chuyển sang Grafana và bắt đầu quá trình trực quan hóa dữ liệu.

Thiết lập Grafana: Đưa Dữ liệu Của Bạn Vào Một Nền Tảng Mới

Thu thập và hiển thị toàn bộ dữ liệu

Cửa sổ cấu hình nguồn dữ liệu InfluxDB trong Grafana, hiển thị các trường URL, Database, Username và API Token để kết nối. Tối ưu hóa giám sát nhà thông minh.Cửa sổ cấu hình nguồn dữ liệu InfluxDB trong Grafana, hiển thị các trường URL, Database, Username và API Token để kết nối. Tối ưu hóa giám sát nhà thông minh.

Việc cài đặt Grafana và đưa nó vào hoạt động tương đối dễ dàng hơn nhiều, vì bạn chỉ cần trỏ nó đến InfluxDB. Trong Grafana, hãy truy cập vào mục Data sources (Nguồn dữ liệu) và tìm kiếm InfluxDB, sau đó thêm nó và điền các chi tiết kết nối cho InfluxQL. Các thông tin bạn cần cung cấp là:

  • URL: Đây là địa chỉ bạn sử dụng để truy cập InfluxDB.
  • Database: Đây là tên của tổ chức (organization) bạn đã tạo trong InfluxDB.
  • Username: Tên người dùng của bạn.
  • Password: Đây chính là mã API token mà bạn đã nhận được khi thiết lập InfluxDB.

Bạn có thể bỏ qua mọi trường thông tin khác, sau đó nhấp vào Save & test (Lưu & kiểm tra). Nếu kết nối thành công, bạn đã sẵn sàng bắt đầu tạo các biểu đồ trực quan và mạnh mẽ của riêng mình.

Tạo Dashboard Đầu Tiên Của Bạn: Trực Quan Hóa Dữ Liệu Đẹp Mắt

Biến dữ liệu thô thành thông tin hữu ích

Giao diện dashboard Grafana hoàn chỉnh, hiển thị trực quan hóa dữ liệu về mức sử dụng CPU và lưu trữ của máy Mac, cùng nhiệt độ và độ ẩm phòng ngủ/phòng khách. Một ví dụ về hệ thống giám sát nhà thông minh hiệu quả.Giao diện dashboard Grafana hoàn chỉnh, hiển thị trực quan hóa dữ liệu về mức sử dụng CPU và lưu trữ của máy Mac, cùng nhiệt độ và độ ẩm phòng ngủ/phòng khách. Một ví dụ về hệ thống giám sát nhà thông minh hiệu quả.

Có vô số mẫu dashboard có sẵn cho Grafana để bạn tự tạo bảng điều khiển của riêng mình, nhưng chúng ta sẽ bắt đầu với một số biểu đồ cơ bản để bạn làm quen với việc tạo ra chúng. Hãy truy cập tab Explore (Khám phá) ở bên trái để bắt đầu.

Grafana sử dụng một công cụ xây dựng truy vấn (query builder) khi bạn dùng InfluxQL, cho phép bạn chỉ cần nhấp và chọn các đối tượng khác nhau mà bạn muốn đọc, thay vì phải biết cách viết tất cả các truy vấn thủ công. Chúng ta sẽ tạo biểu đồ phần trăm dung lượng lưu trữ mà tôi đang sử dụng trong dashboard hiện tại của mình, vốn thu thập dữ liệu từ máy Mac thông qua Telegraf và truyền đến InfluxDB, sau đó được Grafana đọc.

Giao diện Query Builder của Grafana, cho phép người dùng xây dựng truy vấn InfluxQL một cách trực quan để chọn và lọc dữ liệu từ InfluxDB. Công cụ mạnh mẽ để tạo biểu đồ giám sát smart home.Giao diện Query Builder của Grafana, cho phép người dùng xây dựng truy vấn InfluxQL một cách trực quan để chọn và lọc dữ liệu từ InfluxDB. Công cụ mạnh mẽ để tạo biểu đồ giám sát smart home.

Trong công cụ xây dựng truy vấn, bạn có thể chọn những gì bạn muốn đọc, từ đâu và thêm các điều kiện lọc. Trong trường hợp này, việc này tương đối đơn giản, vì tôi chỉ cần đọc trường “% remaining” (phần trăm còn lại), do máy Mac của tôi là thiết bị duy nhất báo cáo dữ liệu này. Nếu tôi có các thiết bị khác báo cáo, tôi cũng cần chỉ định thiết bị cụ thể.

Với những cài đặt này, chúng ta đã có một truy vấn cơ bản. Tiếp theo, ở phía trên, nhấp vào Add (Thêm) và thêm nó vào một dashboard mới. Đặt tên cho dashboard của bạn nếu được yêu cầu, và bạn sẽ thấy một trang với biểu đồ nằm ở góc trên bên trái. Bây giờ, chúng ta sẽ sửa đổi biểu đồ vừa thêm bằng cách di chuột qua nó, nhấp vào menu ba chấm ở góc trên bên phải, và chọn Edit (Chỉnh sửa).

Giao diện chỉnh sửa biểu đồ trong Grafana, hiển thị các tùy chọn cấu hình cho biểu đồ Gauge, bao gồm lựa chọn loại biểu đồ và các cài đặt trực quan hóa dữ liệu. Tùy chỉnh dashboard giám sát nhà thông minh.Giao diện chỉnh sửa biểu đồ trong Grafana, hiển thị các tùy chọn cấu hình cho biểu đồ Gauge, bao gồm lựa chọn loại biểu đồ và các cài đặt trực quan hóa dữ liệu. Tùy chỉnh dashboard giám sát nhà thông minh.

Hiện tại, biểu đồ chỉ hiển thị các giá trị đọc chính xác tại những thời điểm cụ thể về dung lượng lưu trữ còn lại trên máy Mac của tôi. Nó chưa thực sự đẹp mắt, nhưng chúng ta sẽ thay đổi điều đó. Ở phía trên bên phải, nhấp vào Time series (Chuỗi thời gian) và bạn sẽ thấy vô số tùy chọn khác. Thay đổi nó thành Gauge (Đồng hồ đo), và biểu đồ đã trông đẹp hơn đáng kể.

Với việc này, bạn có thể đặt tiêu đề và đây đã là một biểu đồ hoàn toàn có thể sử dụng được trên dashboard của bạn. Tuy nhiên, chúng ta sẽ thực hiện một thay đổi nhỏ để nó trông tốt hơn nữa. Cuộn xuống menu bên phải và đi tới phần Thresholds (Ngưỡng). Thay đổi từ Absolute (Tuyệt đối) sang Percentage (Phần trăm), và điều chỉnh giá trị phần trăm. Tôi đã đặt nó thành 10%, 20% và 30%.

Màn hình cấu hình ngưỡng phần trăm và màu sắc cho biểu đồ Gauge trong Grafana, giúp trực quan hóa mức độ cảnh báo của dữ liệu. Cải thiện độ rõ ràng cho dashboard giám sát.Màn hình cấu hình ngưỡng phần trăm và màu sắc cho biểu đồ Gauge trong Grafana, giúp trực quan hóa mức độ cảnh báo của dữ liệu. Cải thiện độ rõ ràng cho dashboard giám sát.

Cài đặt này đã hoạt động, nhưng có một vấn đề: màu sắc có lẽ nên được hoán đổi, phải không? Hệ thống hoạt động bằng cách đọc các màu chúng ta đã gán cho nó, và màu chủ đạo của đồng hồ đo được chọn dựa trên ngưỡng mà giá trị hiện tại của dữ liệu rơi vào.

May mắn thay, đây là một cách sửa lỗi khá dễ dàng! Nhấp vào biểu tượng màu sắc bên cạnh mỗi giá trị phần trăm và chỉ cần hoán đổi thứ tự của chúng. Biểu đồ đồng hồ đo của bạn bây giờ sẽ có màu xanh lá cây (giả sử bạn đang ở trên ngưỡng 30%), và các màu sắc đại diện cho các phần trăm sẽ mang lại cảm giác tự nhiên hơn, phản ánh trạng thái của hệ thống một cách trực quan và dễ hiểu.

Trực Quan Hóa Dữ Liệu: Lợi Ích Không Ngờ và Khả Năng Vô Tận

Nhìn thấy mọi thứ trong nháy mắt

Biểu đồ Gauge hoàn chỉnh trong Grafana, hiển thị trực quan phần trăm dung lượng lưu trữ còn lại trên máy Mac với các ngưỡng màu sắc được thiết lập. Một phần của hệ thống giám sát nhà thông minh.Biểu đồ Gauge hoàn chỉnh trong Grafana, hiển thị trực quan phần trăm dung lượng lưu trữ còn lại trên máy Mac với các ngưỡng màu sắc được thiết lập. Một phần của hệ thống giám sát nhà thông minh.

Mặc dù đây chỉ là một biểu đồ khá cơ bản, nhưng có vô số dashboard có sẵn được thiết kế để chấp nhận mọi loại dữ liệu đầu vào, giúp bạn trực quan hóa ngôi nhà thông minh của mình. Gần đây, tôi đã đầu tư mạnh vào Home Assistant, mua thêm một số cảm biến và đặt hàng trực tuyến nhiều hơn nữa. Tôi có thể đưa tất cả dữ liệu này vào InfluxDB và đọc ra bằng Grafana để tạo các dashboard của riêng mình, và chúng trông thật tuyệt vời. Dashboard của tôi hiện tại phức tạp hơn một biểu đồ đơn lẻ, dù vẫn đang trong quá trình mở rộng.

Cá nhân tôi sẽ nghiêng về việc sử dụng dashboard của Home Assistant cho hầu hết các nhu cầu trực quan hóa thông thường, nhưng sức mạnh mà Grafana mang lại là gần như không thể sánh bằng. Có quá nhiều điều bạn có thể làm với nó, và đây là một hệ thống đáng giá để thiết lập và đưa vào hoạt động. Chắc chắn, các dịch vụ khác nhau có thể hơi khó tính một chút, nhưng bạn sẽ có được rất nhiều quyền kiểm soát. Bạn thậm chí có thể thiết lập một khóa API trong Grafana để Home Assistant có thể đọc dữ liệu từ đó, và sau đó thêm các biểu đồ của bạn dưới dạng đối tượng camera trong Home Assistant để hiển thị trên dashboard. Mặc dù Home Assistant có thể tạo biểu đồ dữ liệu cho bạn, Grafana cung cấp nhiều tùy chọn hơn đáng kể.

Dù lựa chọn giải pháp nào, tôi thực sự khuyến nghị bạn nên thiết lập một loại dịch vụ trực quan hóa nào đó cho ngôi nhà thông minh của mình. Bạn có thể xem mọi thứ ở một nơi, và bạn có thể thiết lập cảnh báo thông qua Home Assistant nếu có điều gì đó không ổn. Hiện tại, tôi nhận được thông báo nếu độ ẩm trong nhà quá cao, và tôi có thể mua một máy hút ẩm tích hợp Home Assistant nếu muốn tự động hóa hoàn toàn quá trình này.

Nhà thông minh là một “lỗ hổng” thú vị để đào sâu, nhưng nó có thể mang lại những phần thưởng cực kỳ xứng đáng một khi bạn bắt đầu khám phá. Hãy chia sẻ kinh nghiệm của bạn về việc thiết lập hệ thống giám sát nhà thông minh hoặc các dashboard Grafana ấn tượng mà bạn đã tạo trong phần bình luận dưới đây!

Related posts

Máy In 3D: Hơn Cả Một Công Cụ Giải Trí – 5 Cách Giúp Bạn Tiết Kiệm Tiền Thực Tế

Administrator

Lychee: Giải pháp tự host thay thế Google Photos ưu việt cho người dùng Việt

Administrator

Tự Động Hóa Mọi Tác Vụ: Hướng Dẫn Lên Lịch Công Việc Trên Raspberry Pi Hiệu Quả

Administrator