Thinkphp 结合kibana 来监测设备(监测车辆情况的设备)是否还在正常运行

设备会每间隔1分钟上传对应车位的数据,数据会上传到kibana,如下图。


我要判断的是数据10分钟内是否还在正常运行。

视图页面:

1.多加一列,显示一个小圆图标。


2.写JS代码,定时器间隔一定时间调用下JS代码,JS代码通过ajax调用控制器方法。


3.控制器的代码如下:


如果当前时间减去该车位最后检测的的数据的时间大于十分钟,说明该设备已停止工作10分钟,返回是sta=0,icon="color:red"。反之则正常工作,返回sta=0,icon="color:red"。

视图ajax接收到返回的数据,给那一行的运行情况小圆的样式变成红色(不正常),绿色(正常)。

如下图:

下面贴出完整代码:

控制器:

//根据车位编号获取最后时间
	private function get_ts($dwz_info_id){
		$lpath =  THINK_PATH.'Library/Vendor/vendor/autoload.php';
		require $lpath;
		$hosts = [
				'http://XXXXXXX',         // IP + Port,这里涉及到隐私,您要根据自己的IP和端口号进行填写
		];
		$client = \Elasticsearch\ClientBuilder::create()->setHosts($hosts)->build();
		//获取es最后更新的时间,在更新的时候使用

		$json = '{
  "version": true,
  "query": {
    "bool": {
      "must": [
        {
          "match_all": {}
        },
        {
          "match_phrase": {
            "_type": {
              "query": "dwz_bike_sub_realtime"
            }
          }
        },
        {
          "match_phrase": {
            "_index": {
              "query": "bike_index_v5"
            }
          }
        },
        {
          "match_phrase": {
            "dwz_info_id": {
              "query": "'.$dwz_info_id.'"
            }
          }
        },
        {
          "range": {
            "timestamp": {
              "gte": 0,
              "lte": 9507697943118,
              "format": "epoch_millis"
            }
          }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ougexingfuba

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值