diff --git a/web/views/@default/clusters/ip-addrs/addr/@menu.html b/web/views/@default/clusters/ip-addrs/addr/@menu.html index 0264b8f5..d52e6b3e 100644 --- a/web/views/@default/clusters/ip-addrs/addr/@menu.html +++ b/web/views/@default/clusters/ip-addrs/addr/@menu.html @@ -3,5 +3,6 @@ | "{{addr.ip}}"详情 日志 + 监控 修改 \ No newline at end of file diff --git a/web/views/@default/clusters/ip-addrs/addr/index.css b/web/views/@default/clusters/ip-addrs/addr/index.css new file mode 100644 index 00000000..39dcfacd --- /dev/null +++ b/web/views/@default/clusters/ip-addrs/addr/index.css @@ -0,0 +1,9 @@ +h4 a { + font-size: 0.8em; + margin-left: 0.6em; + font-weight: normal; +} +.chart-box { + height: 20em; +} +/*# sourceMappingURL=index.css.map */ \ No newline at end of file diff --git a/web/views/@default/clusters/ip-addrs/addr/index.css.map b/web/views/@default/clusters/ip-addrs/addr/index.css.map new file mode 100644 index 00000000..83a0caba --- /dev/null +++ b/web/views/@default/clusters/ip-addrs/addr/index.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA,EACC;EACC,gBAAA;EACA,kBAAA;EACA,mBAAA;;AAKF;EACC,YAAA","file":"index.css"} \ No newline at end of file diff --git a/web/views/@default/clusters/ip-addrs/addr/index.html b/web/views/@default/clusters/ip-addrs/addr/index.html index 3093cd8a..6dd3130a 100644 --- a/web/views/@default/clusters/ip-addrs/addr/index.html +++ b/web/views/@default/clusters/ip-addrs/addr/index.html @@ -1,6 +1,8 @@ {$layout} +{$template "/echarts"} {$template "menu"} + @@ -48,4 +50,11 @@ 没有设置阈值。 -
IP地址
\ No newline at end of file + + + +
+
+

区域监控 [详情]

+
+
\ No newline at end of file diff --git a/web/views/@default/clusters/ip-addrs/addr/index.js b/web/views/@default/clusters/ip-addrs/addr/index.js index 89b3cdf0..0c63d54f 100644 --- a/web/views/@default/clusters/ip-addrs/addr/index.js +++ b/web/views/@default/clusters/ip-addrs/addr/index.js @@ -1,4 +1,8 @@ Tea.context(function () { + this.$delay(function () { + this.loadChart() + }) + this.updateUp = function (addrId, isUp) { let status = isUp ? "在线" : "离线" teaweb.confirm("确定要手动将节点设置为" + status + "吗?", function () { @@ -20,4 +24,78 @@ Tea.context(function () { .refresh() }) } + + this.loadChart = function () { + if (this.results.length == 0) { + return + } + + let sumColor = "green" + this.results.forEach(function (v) { + switch (v.level) { + case "good": + v.color = "green" + break + case "normal": + v.color = "blue" + break + case "bad": + v.color = "orange" + if (sumColor != "red") { + sumColor = "orange" + } + break + case "broken": + v.color = "red" + sumColor = "red" + break + } + }) + + + let chartBox = document.getElementById("reports-chart-box") + if (chartBox == null || chartBox.offsetHeight == 0) { + let that = this + setTimeout(function () { + that.loadChart() + }) + return + } + let chart = teaweb.initChart(chartBox) + chart.setOption({ + radar: { + splitNumber: 4, + indicator: this.results.map(function (result) { + return { + name: result.node.name, + color: result.color, + max: 5000 + } + }) + }, + series: [{ + name: '', + type: 'radar', + data: [ + { + value: this.results.map(function (result) { + return result.costMs + }) + } + ], + lineStyle: { + width: "1", + color: sumColor, + opacity: 0.2 + }, + itemStyle: { + opacity: 0 + }, + areaStyle: { + color: sumColor, + opacity: 0.2 + } + }] + }) + } }) \ No newline at end of file diff --git a/web/views/@default/clusters/ip-addrs/addr/index.less b/web/views/@default/clusters/ip-addrs/addr/index.less new file mode 100644 index 00000000..874c9a83 --- /dev/null +++ b/web/views/@default/clusters/ip-addrs/addr/index.less @@ -0,0 +1,12 @@ +h4 { + a { + font-size: 0.8em; + margin-left: 0.6em; + font-weight: normal; + } +} + + +.chart-box { + height: 20em; +} \ No newline at end of file diff --git a/web/views/@default/clusters/ip-addrs/addr/reports.html b/web/views/@default/clusters/ip-addrs/addr/reports.html new file mode 100644 index 00000000..47f89a73 --- /dev/null +++ b/web/views/@default/clusters/ip-addrs/addr/reports.html @@ -0,0 +1,35 @@ +{$layout} +{$template "menu"} + +

暂时还没有监控结果。

+ + + + + + + + + + + + + + + + + +
监控节点对象级别耗时错误信息
+ {{result.node.name}} +
+ {{result.node.location}} {{result.node.isp}} +
+
{{result.targetDesc}} + {{result.levelName}} + + {{result.costMs}}ms + - + + {{result.error}} + - +
\ No newline at end of file diff --git a/web/views/@default/clusters/ip-addrs/addr/reports.js b/web/views/@default/clusters/ip-addrs/addr/reports.js new file mode 100644 index 00000000..41d769d0 --- /dev/null +++ b/web/views/@default/clusters/ip-addrs/addr/reports.js @@ -0,0 +1,18 @@ +Tea.context(function () { + this.results.forEach(function (v) { + switch (v.level) { + case "good": + v.color = "green" + break + case "normal": + v.color = "blue" + break + case "bad": + v.color = "orange" + break + case "broken": + v.color = "red" + break + } + }) +}) \ No newline at end of file