

在中小型机房、边缘算力节点、企业分支机房中,环境监控往往面临一个尴尬现实:“人巡”成本高、频次低、记录滞后;“数巡”想做,但动环平台、专用采集主机、复杂布线预算不够。
本文聚焦“低成本、高可用、易落地”,以以太网温湿度传感器为核心,给出一套从“人拿记录本巡检”升级为“24 小时自动数巡”的实用组网方案。不堆砌昂贵设备,不引入复杂系统,用最少的钱把机房环境“管起来”。
维度 | 人巡现状 | 风险与代价 |
|---|---|---|
频次 | 2–4 次/天 | 夜间、周末成盲区,故障发现滞后 |
精度 | 手持表瞬时读数 | 受人为操作、位置、时间影响,数据不可追溯 |
成本 | 人力 3–5 万/年/机房 | 多机房、多分支时成本指数级上升 |
响应 | 发现问题→上报→处理 | 链条长,高温/漏水等事故往往已发生 |
合规 | 纸质记录,易涂改 | 无法通过 ISO20000/27001、等保审计 |
不买昂贵动环主机,不用专用总线,全部基于通用以太网 + 标准协议 + 开源/轻量软件构建。
设备角色 | 选型建议 | 成本参考 | 说明 |
|---|---|---|---|
温湿度传感器 | 以太网型(RJ45 + PoE) | 300–600 元/台 | 选 Modbus TCP + SNMP 双协议,支持 Web 配置 |
接入交换机 | 8/16 口千兆 PoE 交换机 | 800–1500 元 | 支持 IEEE 802.3af/at,端口隔离,VLAN |
监控主机 | 闲置台式机 / 工控机 / 树莓派 | 0–1000 元 | 跑轻量监控软件,7×24 小时开机 |
存储 | 本地硬盘 / U 盘 | 0–300 元 | 存储历史数据,无需 NAS |
软件 | Zabbix / Prometheus / 轻量 Python 脚本 | 0 元(开源) | 替代昂贵动环平台 |
💡 省钱关键:利用机房现有闲置电脑做监控主机,用开源软件替代商业动环平台,传感器选“够用就好”的工业级而非军工级。
[机房现场]
├── 以太网温湿度传感器 × N(PoE 供电)
│ ├── 传感器 A:机柜冷通道
│ ├── 传感器 B:机柜热通道
│ └── 传感器 C:空调回风口
│ │ (Cat5e/6 网线,≤100m)
│ ▼
├── 8口 PoE 交换机(桌面型)
│ ├── PoE 供电:每端口 ≤15.4W(802.3af)
│ ├── VLAN 10:监控专用网段(如 192.168.10.0/24)
│ └── 上联口 → 机房核心交换机 / 路由器
│ │
│ ▼
[监控主机](闲置台式机,IP:192.168.10.254)
├── Zabbix Server / Python 采集脚本
├── 数据库:MySQL / SQLite(本地存储)
├── Web 界面:Grafana / Zabbix Web
└── 告警通道:邮件 / 企业微信 / 短信猫适用场景:需要自动发现、图形化、告警、报表,有一定技术基础。
部署步骤:
public)。 1.3.6.1.4.1.12345.1.1.1.0(示例 OID) 1.3.6.1.4.1.12345.1.1.2.0 成本:软件零成本,仅需学习 Zabbix 基础配置(约 1–2 天)。
适用场景:机房小(≤5 个传感器)、技术资源有限、仅需基础记录和告警。
核心脚本示例(Python):
import os
import time
import csv
import smtplib
from datetime import datetime
from pysnmp.hlapi import *
# 传感器配置
SENSORS = {
"Rack-A-Front": "192.168.10.21",
"Rack-A-Rear": "192.168.10.22",
"AC-Return": "192.168.10.23"
}
OID_TEMP = "1.3.6.1.4.1.12345.1.1.1.0"
OID_HUMI = "1.3.6.1.4.1.12345.1.1.2.0"
COMMUNITY = "public"
INTERVAL = 300 # 5分钟采样一次
CSV_FILE = "env_data.csv"
THRESHOLD_TEMP = 28
THRESHOLD_HUMI = 60
def get_snmp_data(ip, oid):
"""SNMP GET 获取数据"""
iterator = getCmd(
SnmpEngine(),
CommunityData(COMMUNITY, mpModel=1),
UdpTransportTarget((ip, 161)),
ContextData(),
ObjectType(ObjectIdentity(oid))
)
errorIndication, errorStatus, errorIndex, varBinds = next(iterator)
if errorIndication:
return None
elif errorStatus:
return None
else:
for varBind in varBinds:
return float(varBind[1])
def send_alert(subject, body):
"""发送邮件告警(示例,需配置 SMTP)"""
# 实际使用时填写 SMTP 服务器、账号、密码
pass
def main():
# 初始化 CSV 文件
if not os.path.exists(CSV_FILE):
with open(CSV_FILE, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(["Time", "Sensor", "Temperature", "Humidity"])
while True:
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
for name, ip in SENSORS.items():
temp = get_snmp_data(ip, OID_TEMP)
humi = get_snmp_data(ip, OID_HUMI)
if temp is None or humi is None:
print(f"[{now}] {name} ({ip}) 数据获取失败")
continue
# 写入 CSV
with open(CSV_FILE, 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow([now, name, temp, humi])
# 告警判断
if temp > THRESHOLD_TEMP or humi > THRESHOLD_HUMI:
subject = f"机房环境告警:{name}"
body = f"时间:{now}\n传感器:{name}\n温度:{temp}℃\n湿度:{humi}%"
send_alert(subject, body)
print(f"[{now}] 告警已发送:{subject}")
time.sleep(INTERVAL)
if __name__ == "__main__":
main()运行方式:
pip install pysnmp 成本:零成本,仅需基础 Python 知识(1 天内可上手)。
curl 发送 POST 请求。 requests 库 POST JSON 数据到 Webhook。 项目 | 选型 | 数量 | 单价 | 总价 |
|---|---|---|---|---|
温湿度传感器 | 以太网 PoE 型,Modbus TCP+SNMP | 3 台 | 450 元 | 1350 元 |
PoE 交换机 | 8 口千兆,802.3af | 1 台 | 900 元 | 900 元 |
监控主机 | 闲置台式机(i5/8G/256G) | 1 台 | 0 元 | 0 元 |
网线 | Cat5e,机房原有备用线 | 若干 | 0 元 | 0 元 |
软件 | Zabbix + 企业微信告警 | - | 0 元 | 0 元 |
合计 | 2250 元 |
keepalived 实现 VIP 漂移(进阶)。 低成本组网只是第一步,后续可平滑升级:
从“人巡”到“数巡”,核心不是买多贵的设备,而是用对架构、选对工具、算好 ROI。
用 3 台 PoE 传感器 + 1 台 8 口 PoE 交换机 + 1 台闲置电脑 + 开源软件,就能搭建一套 24 小时无人值守的温湿度监测系统。成本可控制在 3000 元以内,却能把机房环境风险降低 90% 以上。
对于大多数中小企业、分支机房、边缘节点而言,这不仅是“低成本实践”,更是数字化转型的第一步——让数据代替人跑腿,让系统代替人值守。
标签:#物联网 #边缘计算 #动环监控 #低成本组网 #PoE #Zabbix #Python #中小企业IT #机房运维 #以太网温湿度传感器
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。