Commit fcb1d8e9 authored by YONG-LIN SU's avatar YONG-LIN SU

grafana graph

parent 5618a0c7
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 1,
"links": [],
"panels": [
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 13,
"x": 3,
"y": 0
},
"header_js": "{}",
"id": 2,
"method": "GET",
"mode": "template",
"params_js": "{\r\nnow:Date.now()\r\n}",
"pluginVersion": "7.1.3",
"request": "http",
"responseType": "json",
"showErrors": false,
"showTime": false,
"showTimeFormat": "LTS",
"showTimePrefix": null,
"showTimeValue": "request",
"skipSameURL": false,
"targets": [
{
"alias": "",
"groupBy": [],
"measurement": "punch",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT * FROM \"punch\" WHERE $timeFilter GROUP BY time(1s)",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"*"
],
"type": "field"
}
]
],
"tags": []
}
],
"template": "<style>\n.panel-title-text {\nfont-size: 25px;\n}\n.panel-container {\nheight: 100%;\n}\n.big-label{\n font-size: 40px;\n}\n.dashboard-content{\n background-color: #e0e6ec !important;\n}\n</style>\n<table>\n <tbody>\n <tr>\n <td><label class=\"big-label\">日期</label></td>\n <td align=\"center\" valign=\"center\" width=\"300px\"><label class=\"big-label\">{{ response['Data']['Date'] }}</label></td>\n <td align=\"center\" valign=\"center\" rowspan=\"5\"><img height=\"300px\" src={{\"http://192.168.50.155:5000/punch/card/image/\"+response['Data']['Image']}}></td>\n </tr>\n <tr>\n <td><label class=\"big-label\">時間</label></td>\n <td align=\"center\" valign=\"center\"><label class=\"big-label\">{{ response['Data']['Time'] }}</label></td>\n </tr>\n <tr>\n <td><label class=\"big-label\">姓名</label></td>\n <td align=\"center\" valign=\"center\"><label class=\"big-label\">{{ response['Data']['Name'] }}</label></td>\n </tr>\n <tr>\n <td><label class=\"big-label\">溫度</label></td>\n <td align=\"center\" valign=\"center\"><label class=\"big-label\">{{ response['Data']['Temp'] }}</label></td>\n </tr>\n <tr>\n <td><label class=\"big-label\">地點</label></td>\n <td align=\"center\" valign=\"center\"><label class=\"big-label\">{{ response['Data']['Location'] }}</label></td>\n </tr>\n </tbody>\n</table>",
"templateResponse": true,
"timeFrom": null,
"timeShift": null,
"title": "即時記錄",
"transparent": true,
"type": "ryantxu-ajax-panel",
"url": "http://192.168.50.155:5000/punch/card/now",
"withCredentials": false
},
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 20,
"w": 8,
"x": 16,
"y": 0
},
"header_js": "{}",
"id": 3,
"method": "GET",
"mode": "template",
"params_js": "{\r\nnow:Date.now()\r\n}",
"pluginVersion": "7.1.3",
"request": "query",
"responseType": "json",
"showErrors": false,
"showTime": false,
"showTimeFormat": "LTS",
"showTimePrefix": null,
"showTimeValue": "request",
"skipSameURL": true,
"targets": [
{
"alias": "",
"groupBy": [],
"measurement": "punch",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT \"image\", \"temperature\", \"location\" FROM \"punch\" WHERE $timeFilter order by DESC",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"image"
],
"type": "field"
}
],
[
{
"params": [
"temperature"
],
"type": "field"
}
],
[
{
"params": [
"location"
],
"type": "field"
}
]
],
"tags": []
}
],
"template": "<div ng-repeat=\"face in response[0].datapoints\">\n\n<table>\n <tbody>\n <tr>\n <td><h4>日期</h4></td>\n <td align=\"center\" valign=\"center\" width=\"150px\"><h4>{{ face[1] | date:'yyyy-MM-dd' }}</h4></td>\n <td align=\"center\" valign=\"center\" rowspan=\"5\"> <img height=\"150px\" src={{\"http://192.168.50.155:5000/punch/card/image/\"+face[0].split(\".jpg\")[0].split(\"static/face/\")[1]}}></td>\n </tr>\n <tr>\n <td><h4>時間</h4></td>\n <td align=\"center\" valign=\"center\"><h4>{{ face[1] | date:'HH:mm:ss' }}</h4></td>\n </tr>\n <tr>\n <td><h4>姓名</h4></td>\n <td align=\"center\" valign=\"center\"><h4>訪客</h4></td>\n </tr>\n <tr>\n <td><h4>溫度</h4></td>\n <td align=\"center\" valign=\"center\"><h4>{{ response[1].datapoints[$index][0] }}</h4></td>\n </tr>\n <tr>\n <td><h4>地點</h4></td>\n <td align=\"center\" valign=\"center\"><h4>{{ response[2].datapoints[$index][0] }}</h4></td>\n </tr>\n </tbody>\n</table>\n</div>\n",
"templateResponse": true,
"timeFrom": null,
"timeShift": null,
"title": "近期紀錄",
"transparent": true,
"type": "ryantxu-ajax-panel",
"url": "http://192.168.50.77:5000/punch/card/now",
"withCredentials": false
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 11,
"w": 16,
"x": 0,
"y": 10
},
"header_js": "{}",
"id": 5,
"method": "GET",
"mode": "template",
"params_js": "{\n from:ctrl.range.from.format('x'), // x is unix ms timestamp\n to:ctrl.range.to.format('x'), \n height:ctrl.height,\n now:Date.now(),\n interval: ctrl.template('$__interval'),\n sample: 'Not escaped: $__interval',\n since:ctrl.lastRequestTime\n}",
"pluginVersion": "7.4.5",
"request": "query",
"responseType": "text",
"showErrors": true,
"showTime": false,
"showTimeFormat": "LTS",
"showTimePrefix": null,
"showTimeValue": "request",
"skipSameURL": true,
"targets": [
{
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT \"image\", \"temperature\", \"location\" FROM \"punch\" WHERE $timeFilter and \"temperature\">36.0 order by DESC",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"template": "<style>\n div.scrollmenu {\n /*background-color: #333;*/\n overflow: auto;\n white-space: pre;\n}\n\ndiv.scrollmenu a {\n display: inline-block;\n /*color: white;*/\n text-align: center;\n padding: 20px;\n text-decoration: none;\n}\n\ndiv.scrollmenu a:hover {\n /*background-color: #777;*/\n}\n</style>\n\n<div class=\"scrollmenu\">\n<table>\n <tbody>\n <tr>\n <td ng-repeat=\"face in response[0].datapoints\">\n <table >\n <tbody>\n <tr>\n <td><h4>日期</h4></td>\n <td align=\"center\" valign=\"center\" width=\"150px\"><h4>{{ face[1] | date:'yyyy-MM-dd' }}</h4></td>\n <td align=\"center\" valign=\"center\" rowspan=\"5\"> <img height=\"200px\" src={{\"http://192.168.50.155:5000/punch/card/image/\"+face[0].split(\".jpg\")[0].split(\"static/face/\")[1]}}></td>\n </tr>\n <tr>\n <td><h4>時間</h4></td>\n <td align=\"center\" valign=\"center\"><h4>{{ face[1] | date:'HH:mm:ss' }}</h4></td>\n </tr>\n <tr>\n <td><h4>姓名</h4></td>\n <td align=\"center\" valign=\"center\"><h4>訪客</h4></td>\n </tr>\n <tr>\n <td><h4>溫度</h4></td>\n <td align=\"center\" valign=\"center\"><h4>{{ response[1].datapoints[$index][0] }}</h4></td>\n </tr>\n <tr>\n <td><h4>地點</h4></td>\n <td align=\"center\" valign=\"center\"><h4>{{ response[2].datapoints[$index][0] }}</h4></td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </tbody>\n \n</table>\n</div>",
"templateResponse": true,
"timeFrom": null,
"timeShift": null,
"title": "異常紀錄",
"transparent": true,
"type": "ryantxu-ajax-panel",
"url": "https://raw.githubusercontent.com/ryantxu/ajax-panel/master/static/example.txt",
"withCredentials": false
}
],
"refresh": "5s",
"schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"hidden": false,
"refresh_intervals": [
"1s",
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "即時畫面",
"uid": "zKSsBwRgk",
"version": 108
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment