Image default
Máy Tính

Hướng Dẫn Toàn Diện: Giám Sát Nhà Thông Minh Với InfluxDB, Grafana & Home Assistant

Trong thế giới nhà thông minh ngày càng phát triển, việc giám sát hiệu quả các thiết bị và dữ liệu trở nên cực kỳ quan trọng. Có rất nhiều tùy chọn để bạn thực hiện điều này, từ việc sử dụng các công cụ như Prometheus hay Home Assistant với vô số tích hợp đa dạng, cho đến Grafana, InfluxDB, hoặc kết hợp tất cả chúng. Gần đây, tôi đã thiết lập một cấu hình toàn diện sử dụng InfluxDB, Home Assistant và Grafana để giám sát nhà thông minh của mình. Mặc dù quá trình cài đặt ban đầu đòi hỏi khá nhiều công sức, nhưng kết quả cuối cùng hoàn toàn xứng đáng với những nỗ lực bỏ ra.

Hệ thống được thiết lập hoàn toàn trong TrueNAS, sử dụng các image chính thức cho tất cả các ứng dụng này. Tôi cũng triển khai Telegraf trên máy Mac của mình để kéo dữ liệu vào InfluxDB. Tất cả dữ liệu sau đó được đọc từ InfluxDB và hiển thị trên Grafana, với các truy vấn được viết bằng InfluxQL. Thành quả là một bảng điều khiển (dashboard) tuyệt đẹp, có khả năng hiển thị các biểu đồ theo thời gian thực về nhiều khía cạnh khác nhau trong hệ thống nhà thông minh của tôi. Giải pháp này không chỉ mang lại cái nhìn tổng quan mà còn giúp tôi dễ dàng theo dõi và quản lý mọi thứ, biến việc trực quan hóa dữ liệu nhà thông minh trở nên đơn giản và mạnh mẽ hơn bao giờ hết.

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

Tại sao đây là phần khó nhất?

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

Cài đặt container và cấu hình tổ chức, tài khoản của tôi là phần dễ dàng. Tuy nhiên, việc tìm cách làm cho 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 tôi thêm một thiết bị Telegraf vào InfluxDB, nó đã cung cấp cho tôi API token và một lệnh để chạy trong terminal để bắt đầu chia sẻ dữ liệu. Lệnh đó như sau:

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

Tuy nhiên, lệnh này đã không hoạt động. Khi tôi sử dụng wget để tải file và kiểm tra nó, tôi thấy rằng nó đang chia sẻ dữ liệu tới 192.168.1.1, hay default gateway của tôi, điều này rõ ràng là không chính xác. Tôi đã sửa đổi cấu hình để thêm thông tin thu thập 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ó tới cấu hình cục bộ mà tôi đã tải xuống và sửa đổi. Việc này đã hoạt động tốt, và tôi đã thu thập được dữ liệu từ máy Mac của mình.

Nếu bạn muốn xem danh sách các plugin mà bạn có thể thu thập dữ liệu, hãy kiểm tra 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 của nó vào file cấu hình Telegraf tổng thể của bạn, và dữ liệu đó sau đó sẽ được chia sẻ tự động với máy chủ InfluxDB của bạn. Bạn đã có thể kiểm tra và tạo các bảng điều khiển trong InfluxDB nếu muốn, nhưng tôi muốn chuyển mọi thứ sang Grafana để có khả năng trực quan hóa dữ liệu mạnh mẽ hơn.

Tích hợp Home Assistant với InfluxDB

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ũ, có nghĩa là nó chỉ được kiểm soát thông qua một file YAML. Bạn sẽ phải sửa đổi file configuration.yaml của Home Assistant và thêm cấu hình cho InfluxDB2. Bạn có thể tìm hướng dẫn 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 file đó sẽ khác nhau tùy thuộc vào cách bạn chạy Home Assistant.

Khi bạn đã cấu hình mọi thứ và có thể thấy dữ liệu của mình xuất hiện trong InfluxDB, bạn đã sẵn sàng để chuyển sang Grafana. Đây là bước quan trọng để bạn có thể bắt đầu giám sát nhà thông minh một cách toàn diện.

Thiết lập Grafana: Đơn Giản Hơn Nhiều

Kết nối Grafana với dữ liệu của bạn

Việc đưa Grafana hoạt động tương đối dễ dàng, vì bạn chỉ cần trỏ nó vào InfluxDB. Trong Grafana, hãy truy cập vào 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 chi tiết bạn cần 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) của bạn.
  • Username: Tên người dùng của bạn.
  • Password: Đây chính là API token mà bạn đã nhận được khi thiết lập InfluxDB.

Giao diện thêm nguồn dữ liệu InfluxDB vào GrafanaGiao diện thêm nguồn dữ liệu InfluxDB vào Grafana

Tất cả các trường khác có thể bỏ qua, sau đó nhấp vào Save & test (Lưu & kiểm tra). Nếu kết nối thành công, bạn đã có thể bắt đầu tạo các biểu đồ của mình. Bước này hoàn tất việc kết nối các thành phần chính để bạn có thể thực hiện trực quan hóa dữ liệu nhà thông minh một cách mạnh mẽ.

Tạo Bảng Điều Khiển Đầu Tiên Của Bạn

Tạo các biểu đồ trực quan đẹp mắt

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

Grafana sử dụng một trình xây dựng truy vấn (query builder) khi bạn sử 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 bằng tay. Chúng ta sẽ tạo biểu đồ phần trăm lưu trữ mà tôi đang sử dụng trong bảng điều khiển hiện tại của mình, biểu đồ này lấy dữ liệu từ máy Mac của tôi bằng Telegraf và chuyển nó đến InfluxDB, sau đó được Grafana đọc.

Bảng điều khiển Grafana hiển thị mức sử dụng CPU, dung lượng lưu trữ của Mac, cùng nhiệt độ và độ ẩm phòng ngủ, phòng khách trong nhà thông minhBảng điều khiển Grafana hiển thị mức sử dụng CPU, dung lượng lưu trữ của Mac, cùng nhiệt độ và độ ẩm phòng ngủ, phòng khách trong nhà thông minh

Giao diện xây dựng truy vấn của Grafana để chọn và lọc dữ liệu từ InfluxDBGiao diện xây dựng truy vấn của Grafana để chọn và lọc dữ liệu từ InfluxDB

Trong trình 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 vào đó. Trong trường hợp này, khá đơn giản, vì tôi chỉ cần đọc trường “% remaining” (phần trăm còn lại), vì máy Mac của tôi là thiết bị duy nhất báo cáo. Nếu tôi có các thiết bị khác báo cáo, tôi cũng sẽ cần chỉ định thiết bị.

Điều này sẽ hoạt động tốt. Ở phía trên, nhấp vào Add (Thêm), và thêm nó vào một bảng điều khiển mới. Đặt tên cho bảng điều khiển của bạn nếu được nhắc, và bạn sẽ thấy biểu đồ ở góc trên bên trái. Bây giờ chúng ta sẽ sửa đổi biểu đồ đã được 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à nhấp vào Edit (Chỉnh sửa).

Chỉnh sửa và làm đẹp biểu đồ Gauge

Giao diện chỉnh sửa biểu đồ trong Grafana, hiển thị các tùy chọn cấu hìnhGiao diện chỉnh sửa biểu đồ trong Grafana, hiển thị các tùy chọn cấu hình

Hiện tại, tất cả những gì nó hiển thị là các giá trị đọc chính xác được thực hiện vào 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ó không thực sự đẹp mắt, nhưng chúng ta sẽ thay đổi điều đó. Ở góc 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à nó đã trông đẹp hơn đáng kể.

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

Các bước tạo và tùy chỉnh biểu đồ dạng Gauge trong Grafana, bao gồm thiết lập ngưỡng màu sắcCác bước tạo và tùy chỉnh biểu đồ dạng Gauge trong Grafana, bao gồm thiết lập ngưỡng màu sắc

Điều này hoạt động, nhưng có một vấn đề; các màu sắc có lẽ nên được hoán đổi, phải không? Nó 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 bởi vị trí mà chúng ta rơi vào ngưỡng.

May mắn thay, đây là một cách sửa chữa khá dễ dàng! Nhấp vào biểu tượng màu bên cạnh mỗi phần trăm, và chỉ cần đi qua chúng, hoán đổi thứ tự. Đồng hồ đo của bạn bây giờ sẽ có màu xanh lá cây (giả sử bạn vượt quá ngưỡng 30%), và các màu đại diện cho phần trăm bây giờ sẽ cảm thấy tự nhiên hơn. Đây là một bước nhỏ nhưng quan trọng trong việc trực quan hóa dữ liệu nhà thông minh để bảng điều khiển trở nên hữu ích và dễ nhìn hơn.

Trực Quan Hóa Dữ Liệu: Giá Trị Vượt Trội

Xem mọi thứ chỉ trong nháy mắt

Biểu đồ Gauge đã hoàn thành trong Grafana, hiển thị phần trăm dung lượng lưu trữ với dải màu sắc trực quanBiểu đồ Gauge đã hoàn thành trong Grafana, hiển thị phần trăm dung lượng lưu trữ với dải màu sắc trực quan

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

Cá nhân tôi sẽ thiên về việc sử dụng bảng điều khiển Home Assistant cho hầu hết các tác vụ trực quan hóa của mình, nhưng sức mạnh mà Grafana mang lại 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 khi bạn đã làm quen. Chắc chắn, các dịch vụ khác nhau có thể hơi khó tính, nhưng bạn nhận được rất nhiều quyền kiểm soát. Bạn thậm chí có thể thiết lập một API key trong Grafana để Home Assistant có thể đọc từ đó, và sau đó thêm các biểu đồ của bạn dưới dạng một đối tượng camera trong Home Assistant để hiển thị trên bảng điều khiển của bạn. Mặc dù Home Assistant có thể vẽ biểu đồ dữ liệu cho bạn, nhưng Grafana mang lại nhiều tùy chọn hơn đáng kể.

Dù thế nào đi nữa, tôi thực sự khuyên bạn nên thiết lập một dịch vụ trực quan hóa dữ liệu nhà thông minh nào đó. 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 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. Giám sát nhà thông minh không chỉ là việc theo dõi mà còn là khả năng phản ứng tự động.

Nhà thông minh là một hố thỏ (rabbit hole) sâu không đáy, nhưng nó có thể là một hành trình cực kỳ đáng giá khi bạn bắt đầu khám phá. Hãy bắt đầu hành trình tự động hóa và giám sát nhà thông minh của bạn ngay hôm nay để tận hưởng một không gian sống tiện nghi và thông minh hơn!

Related posts

Máy In 3D Tại Nhà: 5 Cách Khắc Phục Sự Cố Gia Dụng Bất Ngờ

Administrator

Những Phần Mềm Windows Cũ Bị Khai Tử Mà Nhiều Người Vẫn Hoài Niệm

Administrator

Omni Tools: Giải Pháp Chỉnh Sửa Video Trực Tuyến Miễn Phí, Mạnh Mẽ và Bảo Mật

Administrator

7 Vấn Đề Phổ Biến Khi Xây Dựng Home Lab và Giải Pháp Khắc Phục Hiệu Quả

Administrator

Cách Tự Động Xóa File Tạm Trên Windows 11 Bằng Script và Task Scheduler

Administrator

Ưu Đãi Lớn: SSD Lexar NM790 2TB M.2 NVMe Tích Hợp Tản Nhiệt – Nâng Cấp Hiệu Năng Vượt Trội

Administrator