文档

车场心跳数据缺失

更新时间:
一键部署

1. 问题背景

  • 车场心跳数据的原理: 

  • 未来保障车场稳定运行, 在车场定时(每30秒一次)上报心跳功能

  • saas 端订阅到实时心跳数据,可以简单判断车场业务正常;反之判断为车场业务出现异常

  • 车场心跳数据在项目里面有2种方案:

  • 边缘车行应用每30秒写边缘数据模型库, 实时同步到云端

  • 边缘车行应用每30秒写云端的输数据模型库

1.1 方案一:边缘写数据实时同步到云端

image.png

1.2 方案二: 边缘应用直接写云端

image.png

1.3 简单判断方案的方法

上面2种方案在项目中都有使用, 因为边缘端数据模型(Heartbeat) 是通过官方云边协同组件实时上传到云端的数据模型(Heartbeat) , 所以方案一必须依赖云边协同组件; 

简单判断是方案一还是方案二的方法: 

  • 如果安装部署了云边协同组件, 那就是方案一 

  • 如果未安装部署云边协同组件, 那就是方案二

2. 问题现象

  • 车行saas 订阅不到每30秒一次的心跳数据,车行saas 会报警

3. 排查方案

3.1 方案一 车场心跳缺失

3.1.1 查看iot中台数据模型是否有心跳数据

  • SSH 物联网应用服务平台, 在数据集成里面找到车场心跳(Heartbeat)的模型表,点击管理查看最新的数据:

  • 判断是否有最新的数据在每30秒成功上报一次

image.png

  • 如果车场心跳每30秒上报心跳数据成功, 那局势AMQP 订阅不成功或者车行saas 端问题

  • 这时需要先排查车行saas 日志, 查看AMQP 订阅是否异常

3.1.2 iot 中台没有实时更新

  • 如果物联网应用服务平台数据集成里面的心跳数据没有实时更新, 那最大可能是边缘端数据没有更新

  • 1). 登录物联网应用平台, 应用管理里面找到云边协同组件,找到enablemysql 节点,点击节点运维 : 

image.png
  • 2). 登录enablemysql 节点 SSH 客户端, 并连接mysql: 

use iotx_dop_meta

select * from model_store_rel where model_id='Heartbeat';
image.png
  • 车场心跳数据模型对应的 store_id: H7mjMa3k6TC233G72rl6N0sS

  • 3). 找到edgedopdatamysql 节点,点击节点运维:

image.png

  • 4). 进入SSH 客户端,登录mysql 数据库,查看车场心跳数据:

use iotx_data_runtime;

select * from H7mjMa3k6TC233G72rl6N0sS where is_deleted = 0 order by gmt_create desc limit 10;
image.png

  • 5). 如果边缘端数据模型表里面也没有实时写入心跳数据, 此时就要查询边缘车行应用的日志,确认边缘车行应用调用API 写入边缘数据模型表的日志,是否有异常

3.2 方案二 车场心跳缺失

  • 如果是边缘车行应用直接调用API 写云端的数据模型表, 先要判断iot中台是否有心跳数据

3.2.1 查看iot中台数据模型是否有心跳数据

  • SSH 物联网应用服务平台, 在数据集成里面找到车场心跳(Heartbeat)的模型表,点击管理查看最新的数据:

  • 判断是否有最新的数据在每30秒成功上报一次

image.png

  • 如果车场心跳每30秒上报心跳数据成功, 那局势AMQP 订阅不成功或者车行saas 端问题

  • 这时需要先排查车行saas 日志, 查看AMQP 订阅是否异常

3.2.2 查看边缘端车行应用的日志

  • 因为方案二是边缘车行应用直接写云端数据模型表, 如果云端的车场心跳没有实时写入成功; 

  • 直接查看边缘车行应用调用API 写数据的日志, 先找到异常日志