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"}
+
| IP地址 |
@@ -48,4 +50,11 @@
没有设置阈值。
-
\ 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