Nick Barney 2022-12-01
遥测是指从远程源自动测量并无线传输数据的技术。一般来说,遥测的工作原理如下:
在数据源端的传感器用于测量电气数据(如电压和电流)或物理数据(如温度和压力)。随后,电子设备将这些数据发送到远程位置,用于监控和分析。
软件开发人员和IT管理员使用遥测技术实时远程监控应用程序及其组件的健康状况、安全性和性能。他们利用遥测来测量启动时间、处理时间、崩溃情况、用户行为和资源使用情况,并评估系统状态。
遥测还广泛应用于气象学、农业、国防和医疗保健等领域。
遥测的工作原理
遥测通过遥测仪(telemeter)测量电气或物理数据。遥测仪是一种用于测量各种指标(如压力、速度和温度)的工具。这些测量值被转换为电信号(电压),然后由多路复用器(multiplexer)将这些电压信号与时间信息合并成一个数据流,传输至远程接收器。接收器再将该数据流分解为其原始组成部分,并根据用户设定进行显示和处理。
遥测数据可通过模拟或数字电子设备进行传输。应用该技术的场景包括从物联网(IoT)传感器中测量和传输数据,例如汽车、智能电表、电源设备、机器人,甚至野生动物追踪等。遥测数据可通过计算机网络、卫星、有线电缆、红外线和超声波等技术进行发送。
遥测的应用领域
在软件开发中,遥测系统通常在获得终端用户许可的前提下,用于远程监控应用程序的安全性、健康状况和性能。开发者通过这些系统获取的信息,可以深入了解其应用程序的实际运行表现,而无需依赖用户反馈。
遥测还被用于以下领域:
- 气象学:气象气球和其他气象设备使用遥测系统收集并传输温度、气压等气象数据。
- 农业:无线气象站和传感器收集环境数据(如温度、湿度和太阳辐射),帮助农民决定作物种植的种类和时机。
- 航天与国防:美国国家航空航天局(NASA)和美军使用遥测技术监控卫星、航天器和飞机的位置、性能和健康状况。
- 医疗保健:患有心脏病或其他健康问题的患者使用遥测设备监测心率、血压等生命体征。这种在医疗领域的遥测有时也被称为生物遥测(biotelemetry)。
遥测监控的类型
在软件开发中,遥测通过IT监控工具进行测量,主要跟踪以下应用组件:
服务器
在IT基础设施中,监控服务器对保障应用性能至关重要。关键服务器指标包括:
- 处理器使用率:CPU过度使用表明应用负载过高;而CPU未充分利用可能意味着网络请求未送达或某些功能未被使用。
- 服务器统计信息:这些数据可判断CPU问题是否源于服务器老化/故障,还是应用本身的问题。需关注的指标包括虚拟化环境中的服务器过载、CPU、物理内存或I/O负载随时间的变化。
- 用户活动与请求:这些数据有助于了解服务器的性能和使用情况。
网络
网络监控同样重要,应跟踪以下四个参数:
- 带宽容量:定义网络在运行应用时的使用情况。
- 应用使用情况:揭示潜在的性能或功能性问题,例如计算机与浏览器间的数据传输延迟。
- 网络端口:监控端口有助于发现安全漏洞和路由延迟。
- 存储:应跟踪存储是否接近容量上限或存在数据读取速度慢的问题。存储利用率过低可能意味着备份系统已失效。
应用程序
应用遥测中最关键的指标包括:
- 数据库访问:监控打开的数据库连接数很重要,因为连接数增加会拖慢性能。
- 数据库处理:遥测会监控数据库查询次数、响应时间和应用与数据库间传输的数据量。
- 错误:遥测可检测异常活动、请求和数据库错误,以识别潜在的应用故障或安全威胁。
- 应用关键绩效指标(KPI):遥测对理解客户和用户体验(UX)至关重要。KPI可衡量每秒事务数、请求吞吐量和延迟等。例如,在电商领域,KPI用于衡量销售额和数据库增长。
- DevOps活动:应用监控还包括跟踪部署和软件开发等DevOps活动。
云环境
云遥测包括监控以下方面:
- 云服务可用性
- 互联网路由
- 能耗
- 资源利用率
- 请求延迟
用户
用户遥测从用户视角获取应用性能洞察。不同于从系统组件出发的监控方式,用户遥测聚焦于用户体验(UX),即从用户界面侧分析应用,以便在用户发现问题前主动识别症状。
遥测的优势
在软件开发中,遥测的主要优势包括:
- 远程反馈:管理员可从任意远程位置实时收集信息,无需与用户交互。
- 性能监控:遥测提供应用性能的实时洞察,帮助管理员确保系统正常运行。
- 活动监控:监控用户体验和应用表现,包括用户互动频率、使用时长、最常用功能、设备配置及崩溃原因。了解应用的缺陷有助于开发者实时优化或规划未来更新。
- 安全性:遥测对网络分析至关重要,可提供关键安全信息,帮助管理员在安全事件发生前采取行动。
遥测的缺点与挑战
遥测系统面临以下三大主要挑战:
- 数据获取受限:遥测效果取决于系统能收集到的数据。出于隐私考虑,终端用户可能关闭遥测功能,从而限制了数据来源。
- 数据洪流(Data Deluge):随着物联网设备数量激增,遥测系统产生的数据量已超出分析师的处理能力。
- 遗留系统兼容性问题:老旧设备和应用往往不支持遥测。在网络监控中,可使用简单网络管理协议(SNMP)作为替代方案。SNMP更适合不支持遥测的旧设备。
常见遥测监控工具
常用的遥测监控工具包括:
- 仪表盘(Dashboards):实时展示系统遥测数据。
- 日志解析(Log Parsing):解析日志管理所用的日志文件。
- 商业智能(Business Intelligence):提供安全事件和趋势数据(如季节性变化),辅助业务决策。
- 自动化工具:自动检测安全风险及其他问题。
- 安全分析(Security Analytics):收集可疑用户、网络和数据库活动等数据。
遥测的发展历史
遥测技术始于1763年,当时使用水银压力计作为早期遥测仪,使蒸汽机操作员能在近距离监控瓦特蒸汽机的压力。19世纪,遥测技术进一步发展,塞缪尔·摩尔斯(Samuel Morse)的电报机被用于远程通信。
1912年,芝加哥首次将遥测应用于电力系统——通过电话线将发电厂的运行数据传送到中央办公室。由于早期遥测多用于此类项目,最初的遥测系统被称为监控系统(supervisory systems)。
二战前夕,电子遥测仪得到更广泛应用。战后,遥测设备开始商业化,并在冷战期间被用于间谍活动。
1960年,“询问-应答”(interrogation-reply)原理被提出,实现了按需选择性传输数据。当时的遥测发射器由测量仪器、编码器(将读数转换为模拟或数字信号)、调制器和带天线的无线发射机组成;接收端则包括天线、射频放大器、解调器和记录设备。接收到的信息由大型主机(mainframe computers)进行处理和存储。