当前位置:网站首页 >  资讯

手把手教你搭建高可用低成本服务器传感器数据存储系统

时间:2026年06月04日 03:57:12 来源:易频IT社区

环境准备

本文基于Ubuntu 20.04/22.04系统编写,所有命令可直接复制执行,Debian系其他版本通用,全程无需额外编译源码,零门槛落地。

1. 安装服务器传感器探测工具

服务器传感器数据需要先通过系统工具探测识别,执行以下命令完成安装和探测:

``` sudo apt update && sudo apt install -y lm-sensors sudo sensors-detect ```

执行sensors-detect探测硬件时,所有交互询问直接按回车选择默认Yes即可,完成后执行以下命令验证探测结果:

``` sensors ```

如果终端输出CPU温度、硬盘温度、风扇转速等数值信息,说明传感器探测成功,可进入下一步。

2. 安装采集与存储组件

我们采用Telegraf做数据采集、InfluxDB时序数据库做存储,都是轻量工具,单服务器占用资源不到100MB,适合长期运行,依次执行以下命令完成安装:

``` 添加InfluxDB官方软件源GPG密钥 wget -qO- https://repos.influxdata.com/influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null 自动识别系统版本添加软件源 export DISTRIB_ID=$(lsb_release -i | cut -f 2 | tr '[:upper:]' '[:lower:]') export DISTRIB_RELEASE=$(lsb_release -r | cut -f 2) echo "deb https://repos.influxdata.com/${DISTRIB_ID} ${DISTRIB_RELEASE} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list 安装Telegraf和InfluxDB sudo apt update && sudo apt install -y telegraf influxdb 设置开机自启并启动服务 sudo systemctl enable --now influxdb sudo systemctl enable --now telegraf ```

核心配置修改

1. 创建传感器专属存储数据库

执行以下命令创建用于存储传感器数据的数据库和授权用户,直接复制执行即可:

``` influx -execute "CREATE DATABASE server_sensor; CREATE USER sensor_user WITH PASSWORD 'Sensor@123456'; GRANT ALL ON server_sensor TO sensor_user; exit" ```

手把手教你搭建高可用低成本服务器传感器数据存储系统

如果需要自定义密码,可以替换命令中的Sensor@123456为自己的密码,后续配置需要对应修改。

2. 配置Telegraf采集与输出

Telegraf配置文件可直接替换为以下完整可用配置,执行命令自动备份原配置并写入新配置:

``` sudo cp /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak sudo tee /etc/telegraf/telegraf.conf <如果刚才修改了数据库密码,记得替换配置中最后一行的密码,然后执行以下命令重启Telegraf加载配置:

``` sudo systemctl restart telegraf ```

验证存储有效性

执行以下命令查询存储的数据,确认整个流程正常运行:

``` influx -execute "use server_sensor; SELECT FROM sensors LIMIT 5; exit" ```

如果终端输出带时间戳的温度、转速等结构化数据,说明服务器传感器数据存储已经搭建完成,数据会每10秒自动采集存储到数据库中。

常见问题处理

  • 执行sensors命令无输出:执行sudo modprobe i2c-dev加载内核模块,重启服务器后重新探测即可。
  • Telegraf启动失败:执行sudo journalctl -u telegraf查看错误日志,90%的问题是配置文件密码不匹配或格式错误,核对配置即可解决。
  • 长期运行存储空间不足:执行以下命令配置自动清理,只保留最近90天的传感器数据: ``` influx -execute "use server_sensor; DROP RETENTION POLICY autogen ON server_sensor; CREATE RETENTION POLICY 90d ON server_sensor DURATION 90d REPLICATION 1 DEFAULT; exit" ``` 可根据需求修改命令中的90d为其他时长,比如180d代表保留180天。

如果需要可视化查看传感器数据趋势,可直接安装Grafana添加InfluxDB数据源,即可生成可视化监控图表,无需额外改造存储结构。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图