日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用IoT Studio展示云監(jiān)控報警歷史

更新時間:

使用IoT Studio開發(fā)設(shè)備運(yùn)維大屏?xí)r,可以在運(yùn)維頁面展示設(shè)備相關(guān)的報警歷史信息,便于運(yùn)維人員掌握設(shè)備運(yùn)行狀態(tài),及時定位解決設(shè)備問題。本文介紹如何使用IoT Studio的業(yè)務(wù)邏輯開發(fā)和Web應(yīng)用開發(fā)能力,實現(xiàn)設(shè)備報警歷史信息的展示。

場景說明

以鼓風(fēng)機(jī)的進(jìn)口溫度和出口溫度閾值報警為例,在物聯(lián)網(wǎng)平臺實例中創(chuàng)建云監(jiān)控報警規(guī)則,例如出口溫度超出上限、進(jìn)口溫度偏低時發(fā)出報警通知,然后在IoT Studio中通過業(yè)務(wù)邏輯開發(fā)獲取云監(jiān)控報警歷史信息的服務(wù),實現(xiàn)最終在Web應(yīng)用的可視化大屏中展示。

image

前提條件

設(shè)備已接入物聯(lián)網(wǎng)平臺并上報物模型屬性數(shù)據(jù)。

本文以鼓風(fēng)機(jī)設(shè)備為例,對設(shè)備屬性中進(jìn)口溫度(inlet_temperature)和出口溫度(outlet_temperature)值異常的報警信息進(jìn)行展示。具體操作,請參見:

  1. 購買企業(yè)版實例:IoT Studio服務(wù)和創(chuàng)建物模型指標(biāo)的閾值報警規(guī)則功能,僅在華東2(上海)地域的企業(yè)版實例支持。本示例購買華東2(上海)地域的標(biāo)準(zhǔn)型實例使用。

  2. 登錄物聯(lián)網(wǎng)應(yīng)用開發(fā)控制臺,在頁面左上角選擇對應(yīng)物聯(lián)網(wǎng)平臺企業(yè)版實例。

  3. 創(chuàng)建IoT Studio項目

  4. 在項目中創(chuàng)建產(chǎn)品:鼓風(fēng)機(jī)。

  5. 為產(chǎn)品添加物模型:進(jìn)口溫度(inlet_temperature)和出口溫度(outlet_temperature)。

  6. 在產(chǎn)品下創(chuàng)建設(shè)備:device_demo01。

  7. 使用設(shè)備端SDK接入:開發(fā)設(shè)備接入物聯(lián)網(wǎng)平臺并上報物模型數(shù)據(jù)。

步驟一:創(chuàng)建報警規(guī)則

本文以創(chuàng)建物模型屬性指標(biāo)的閾值報警規(guī)則為例。

  1. 登錄物聯(lián)網(wǎng)平臺控制臺,在控制臺左上方,選擇目標(biāo)實例所在地域。

  2. 實例概覽頁面,找到對應(yīng)的物聯(lián)網(wǎng)平臺實例,單擊實例卡片。

  3. 在左側(cè)導(dǎo)航欄,選擇監(jiān)控運(yùn)維 > 實時監(jiān)控

  4. 實時監(jiān)控頁面,單擊報警規(guī)則頁簽。

  5. 單擊創(chuàng)建報警規(guī)則

  6. 在右側(cè)面板,配置報警規(guī)則,單擊下一步

    如下所示配置報警規(guī)則:出口溫度超出上限。參數(shù)說明,請參見配置閾值報警規(guī)則

    image.png

  7. 配置報警生效時段、報警沉默周期、報警通知對象、報警級別等,單擊確認(rèn)

    image.png

  8. 參考以上步驟,配置報警規(guī)則:進(jìn)口溫度偏低

    image.png

步驟二:開發(fā)獲取云監(jiān)控報警歷史的服務(wù)

  1. 物聯(lián)網(wǎng)應(yīng)用開發(fā)控制臺,選擇左側(cè)導(dǎo)航欄的項目管理

  2. 單擊目標(biāo)項目卡片。

  3. 在項目主頁項目開發(fā)下,單擊業(yè)務(wù)邏輯頁簽。

  4. 單擊應(yīng)用列表上方的新建 > 新建空白業(yè)務(wù)服務(wù)

  5. 新建業(yè)務(wù)邏輯對話框,輸入業(yè)務(wù)邏輯名稱(例如:獲取云監(jiān)控報警歷史)和描述信息,單擊確認(rèn)

    參數(shù)配置說明,請參見業(yè)務(wù)邏輯編輯器

  6. 在業(yè)務(wù)邏輯編輯器中,配置業(yè)務(wù)邏輯節(jié)點。

    1. 單擊左側(cè)的節(jié)點image.png圖標(biāo),拖拽一個HTTP請求節(jié)點到畫布上。

      本文示例的HTTP請求節(jié)點使用默認(rèn)配置。該節(jié)點配置說明,請參見HTTP請求

    2. 拖拽一個NodeJS腳本節(jié)點到畫布上,將HTTP請求節(jié)點與該節(jié)點相連,并配置該節(jié)點。

      1. NodeJS腳本節(jié)點配置面板,單擊擴(kuò)展庫管理,并在彈出的對話框中搜索@alicloud/pop-core包,單擊操作列的安裝

        image.png

      2. 安裝成功后,返回節(jié)點配置面板,在腳本下選擇為空白模板,將如下示例代碼復(fù)制到代碼框中。

        本示例代碼是調(diào)用云監(jiān)控接口DescribeAlertLogList查詢報警的歷史數(shù)據(jù),本示例展示API返回數(shù)據(jù)的RuleName(報警規(guī)則名稱)和AlertTime(發(fā)生報警的時間戳)。您可根據(jù)實際需求,展示接口DescribeAlertLogList返回數(shù)據(jù)的更多字段。

        實際使用中相關(guān)參數(shù)(例如accessKeyId、accessKeySecret)需替換為真實值,云監(jiān)控API的SDK使用說明,請參見SDK參考使用OpenAPI示例

        /**
        * @param {Object} payload 上一節(jié)點的輸出
        * @param {Object} node 指定某個節(jié)點的輸出
        * @param {Object} query 服務(wù)流第一個節(jié)點的輸出
        * @param {Object} context  { appKey, appSecret }
        * @param {Object} global 變量
        */
        module.exports = async function(payload, node, query, context, global) {
          const Core = require('@alicloud/pop-core');
          const moment = require('moment');
        
          var client = new Core({
            accessKeyId: '<YOUR-ACCESSKEY-ID>',
            accessKeySecret: '<YOUR-ACCESSKEY-SECRET>',
            // securityToken: '<YOUR-STS-TOKEN>', // use STS Token
            endpoint: 'https://metrics.cn-shanghai.aliyuncs.com',
            apiVersion: '2019-01-01'
          });
        
          var params = {
            // 查詢過去7天的最近50條數(shù)據(jù),可根據(jù)需求自行設(shè)置請求參數(shù)
            "StartTime": Date.now() - 7 * 24 * 60 * 60 * 1000,
            "EndTime": Date.now(),
            "PageSize": 50,
          };
        
          var requestOption = {
            method: 'POST',
            formatParams: false,
          };
        
          const data = await client.request('DescribeAlertLogList', params, requestOption);
          const { AlertLogList = [] } = data;
          const result = AlertLogList.map(item => {
            return {
              // 可在此處添加需要展示的字段
              alertName: item.RuleName,
              alertTime: moment(item.AlertTime).utcOffset(8).format('YYYY/MM/DD HH:mm:ss'),
            };
          });
          return {
            data: result,
          };
        }
    3. 拖拽一個HTTP返回節(jié)點,將NodeJS腳本節(jié)點與該節(jié)點相連,該節(jié)點輸出選擇為上一節(jié)點(payload)

  7. 調(diào)試與發(fā)布業(yè)務(wù)邏輯服務(wù)。

    1. 在業(yè)務(wù)服務(wù)編輯頁面,單擊右上方的部署調(diào)試image.png圖標(biāo),部署和調(diào)試服務(wù)。

      調(diào)試成功后,調(diào)用如下。

      image.png

    2. 調(diào)試成功后,單擊發(fā)布image.png圖標(biāo),發(fā)布該服務(wù)。

      重要

      業(yè)務(wù)需要發(fā)布到云端,才能被調(diào)用。

步驟三:在Web應(yīng)用中展示云監(jiān)控報警歷史

  1. 在項目主頁項目開發(fā)下,單擊Web應(yīng)用頁簽。

  2. 創(chuàng)建Web可視化應(yīng)用。具體操作,請參見創(chuàng)建Web應(yīng)用

  3. 在Web應(yīng)用編輯頁左側(cè)單擊組件image.png圖標(biāo),從組件列表拖拽一個重復(fù)列表組件到畫布上。組件配置說明,請參見重復(fù)列表image.png

  4. 單擊展示數(shù)據(jù)右側(cè)的編輯數(shù)據(jù)源image.png圖標(biāo),在數(shù)據(jù)源配置面板,選擇數(shù)據(jù)源接口接口來源業(yè)務(wù)邏輯開發(fā)選擇業(yè)務(wù)服務(wù)為已創(chuàng)建的服務(wù):獲取云監(jiān)控報警歷史,并設(shè)置定時刷新。數(shù)據(jù)源配置的詳細(xì)說明,請參見接口image.png

  5. 雙擊重復(fù)列表組件,編輯重復(fù)列表子組件。

    1. 刪除默認(rèn)的組件。

    2. 拖拽兩個文字組件到畫布上,分別配置文字內(nèi)容的數(shù)據(jù)源為母組件數(shù)據(jù)源的對應(yīng)字段。具體配置,請參見文字

      本示例分別選擇字段alertName(報警規(guī)則名稱)和alertTime(發(fā)生報警的時間)。image.png

  6. 退出重復(fù)列表的內(nèi)部編輯模式后,將重復(fù)列表的布局方式改為垂直,然后拖入文字組件作為各列信息的標(biāo)題。

    您也可根據(jù)實際需要,配置更多組件樣式,例如添加矩形組件作為背景框,設(shè)置重復(fù)列表分頁等。image.png

  7. 依次單擊頂部欄中的保存image.png預(yù)覽image.png發(fā)布image.png圖標(biāo),查看并發(fā)布應(yīng)用。

    image.png

后續(xù)操作

應(yīng)用發(fā)布成功后,您可根據(jù)需要選擇綁定域名設(shè)置Token,可將應(yīng)用嵌入其他網(wǎng)站修改已發(fā)布頁面中綁定的具體設(shè)備

說明 綁定域名和設(shè)置Token鑒權(quán)后,可實現(xiàn)其他訪問者訪問您已發(fā)布的Web應(yīng)用。