未验证 提交 3577fe49 编写于 作者: K Kai 提交者: GitHub

sync ui, add and update ui-templates (#8764)

上级 81921c29
......@@ -64,9 +64,9 @@
<include>envoy-metrics-rules/*.yaml</include>
<include>meter-analyzer-config/*.yaml</include>
<include>zabbix-rules/*.yaml</include>
<include>openapi-definitions/*</include>
<include>openapi-definitions/**</include>
<include>otel-oc-rules/*</include>
<include>ui-initialized-templates/*</include>
<include>ui-initialized-templates/**</include>
<include>lal/*</include>
<include>log-mal-rules/*</include>
</includes>
......
......@@ -25,12 +25,14 @@ import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.analysis.Layer;
import org.apache.skywalking.oap.server.core.query.input.DashboardSetting;
import org.apache.skywalking.oap.server.core.query.type.DashboardConfiguration;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.ResourceUtils;
import org.apache.skywalking.oap.server.library.util.StringUtil;
/**
* UITemplateInitializer load the template from the config file in json format. It depends on the UI implementation only.
......@@ -41,9 +43,13 @@ public class UITemplateInitializer {
public static Layer[] SUPPORTED_LAYER = new Layer[] {
Layer.MESH,
Layer.GENERAL,
Layer.OS_LINUX,
Layer.MESH_CP,
Layer.MESH_DP,
Layer.K8S,
Layer.BROWSER,
Layer.SO11Y_OAP
Layer.SO11Y_OAP,
Layer.VIRTUAL_DATABASE
};
private final UITemplateManagementService uiTemplateManagementService;
private final ObjectMapper mapper;
......@@ -73,26 +79,29 @@ public class UITemplateInitializer {
"File: " + template.getName() + " should be only one dashboard setting json object.");
}
JsonNode configNode = jsonNode.get(0).get("configuration");
String inId = configNode.get("id").textValue();
String inName = configNode.get("name").textValue();
verifyNameConflict(template, inId, inName);
String inId = jsonNode.get(0).get("id").textValue();
String inNameKey = StringUtil.join('_', configNode.get("layer").textValue(), configNode.get("entity").textValue(), configNode.get("name").textValue());
verifyNameConflict(template, inId, inNameKey);
DashboardSetting setting = new DashboardSetting();
setting.setId(inId);
setting.setConfiguration(configNode.toString());
uiTemplateManagementService.addOrUpdate(setting);
uiTemplateManagementService.addIfNotExist(setting);
}
private void verifyNameConflict(File template, String inId, String inName) throws IOException {
private void verifyNameConflict(File template, String inId, String inNameKey) throws IOException {
List<DashboardConfiguration> configurations = uiTemplateManagementService.getAllTemplates(false);
for (DashboardConfiguration config : configurations) {
JsonNode jsonNode = mapper.readTree(config.getConfiguration());
String id = jsonNode.get("id").textValue();
if (jsonNode.get("name").textValue().equals(inName) && !id.equals(inId)) {
JsonNode configNode = mapper.readTree(config.getConfiguration());
String id = config.getId();
String nameKey = StringUtil.join(
'_', configNode.get("layer").textValue(), configNode.get("entity").textValue(),
configNode.get("name").textValue()
);
if (Objects.equals(nameKey, inNameKey) && !id.equals(inId)) {
throw new IllegalArgumentException(
"File: " + template.getName() + " name: " + inName + " conflict with exist configuration id: " + id);
"File: " + template.getName() + " layer_entity_name: " + inNameKey + " conflict with exist configuration id: " + id);
}
}
}
......
......@@ -69,12 +69,10 @@ public class UITemplateManagementService implements Service {
return getUITemplateManagementDAO().disableTemplate(id);
}
public TemplateChangeStatus addOrUpdate(DashboardSetting setting) throws IOException {
public void addIfNotExist(DashboardSetting setting) throws IOException {
DashboardConfiguration configuration = getUITemplateManagementDAO().getTemplate(setting.getId());
if (configuration == null) {
return getUITemplateManagementDAO().addTemplate(setting);
} else {
return getUITemplateManagementDAO().changeTemplate(setting);
getUITemplateManagementDAO().addTemplate(setting);
}
}
}
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Browser-Root",
"configuration": {
"children": [
{
"x": 0,
"y": 0,
"w": 24,
"h": 51,
"i": "0",
"type": "Widget",
"widget": {
"title": ""
},
"graph": {
"type": "ServiceList",
"dashboardName": "Browser-App",
"fontSize": 12,
"showXAxis": false,
"showYAxis": false,
"showGroup": true
},
"standard": {},
"metrics": [
"browser_app_pv"
],
"metricTypes": [
"readMetricsValues"
],
"metricConfig": [],
"moved": false
}
],
"layer": "BROWSER",
"entity": "All",
"name": "Browser-Root",
"id": "Browser-Root",
"isRoot": true
}
}
]
......@@ -38,7 +38,7 @@
"metricTypes": [
""
],
"activedTabIndex": 1,
"activedTabIndex": 0,
"children": [
{
"name": "Overview",
......@@ -51,15 +51,13 @@
"i": "0",
"type": "Widget",
"widget": {
"title": "Successful Rate in Current Service"
"title": "Successful Rate in Current Service (%)"
},
"graph": {
"type": "TopList",
"topN": "10"
},
"standard": {
"unit": "%",
"divide": "100"
},
"metrics": [
"endpoint_sla"
......@@ -67,7 +65,12 @@
"metricTypes": [
"sortMetrics"
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "percentage"
}
]
},
{
"x": 8,
......@@ -77,14 +80,13 @@
"i": "1",
"type": "Widget",
"widget": {
"title": "Slow Endpoints in Current Service"
"title": "Slow Endpoints in Current Service (ms)"
},
"graph": {
"type": "TopList",
"topN": "10"
},
"standard": {
"unit": "ms"
},
"metrics": [
"endpoint_resp_time"
......@@ -102,7 +104,7 @@
"i": "2",
"type": "Widget",
"widget": {
"title": "Endpoint Load in Current Service",
"title": "Endpoint Load in Current Service (CPM)",
"tips": "For HTTP 1/2, gRPC, RPC services, this means Calls Per Minute (CPM), for TCP services, this means Packets Per Minute (PPM)"
},
"graph": {
......@@ -110,7 +112,6 @@
"topN": "10"
},
"standard": {
"unit": "CPM"
},
"metrics": [
"endpoint_cpm"
......@@ -128,7 +129,7 @@
"i": "3",
"type": "Widget",
"widget": {
"title": "Endpoint Response Time Percentile"
"title": "Endpoint Response Time Percentile (ms)"
},
"graph": {
"type": "Line",
......@@ -139,9 +140,6 @@
"showYAxis": true
},
"standard": {
"unit": "ms",
"metricLabels": "P50, P75, P90, P95, P99",
"labelsIndex": "0,1,2,3,4"
},
"metrics": [
"endpoint_percentile"
......@@ -149,7 +147,13 @@
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
"moved": false,
"metricConfig": [
{
"label": "P50, P75, P90, P95, P99",
"labelsIndex": "0, 1, 2, 3, 4"
}
]
},
{
"x": 8,
......@@ -159,7 +163,7 @@
"i": "4",
"type": "Widget",
"widget": {
"title": "Endpoint Avg Response Time"
"title": "Endpoint Avg Response Time (ms)"
},
"graph": {
"type": "Line",
......@@ -170,7 +174,6 @@
"showYAxis": true
},
"standard": {
"unit": "ms"
},
"metrics": [
"endpoint_resp_time"
......@@ -188,7 +191,7 @@
"i": "5",
"type": "Widget",
"widget": {
"title": "Message Queue Avg Consuming Latency",
"title": "Message Queue Avg Consuming Latency (ms)",
"tips": "The avg latency of message consuming. Latency = timestamp(received) - timestamp(producing)"
},
"graph": {
......@@ -200,7 +203,6 @@
"showYAxis": true
},
"standard": {
"unit": "ms"
},
"metrics": [
"endpoint_mq_consume_latency"
......@@ -246,7 +248,7 @@
"i": "7",
"type": "Widget",
"widget": {
"title": "Endpoint Successful Rate"
"title": "Endpoint Successful Rate (%)"
},
"graph": {
"type": "Line",
......@@ -257,8 +259,6 @@
"showYAxis": true
},
"standard": {
"unit": "%",
"divide": "100"
},
"metrics": [
"endpoint_sla"
......@@ -276,7 +276,7 @@
"i": "8",
"type": "Widget",
"widget": {
"title": "Endpoint Load"
"title": "Endpoint Load (CPM)"
},
"graph": {
"type": "Line",
......@@ -387,7 +387,6 @@
"layer": "GENERAL",
"entity": "Endpoint",
"name": "General-Endpoint",
"id": "General-Endpoint",
"isRoot": false
}
}
......
......@@ -40,20 +40,20 @@
"metricTypes": [
""
],
"activedTabIndex": 2,
"activedTabIndex": 0,
"children": [
{
"name": "Overview",
"children": [
{
"x": 18,
"y": 0,
"w": 6,
"x": 0,
"y": 14,
"w": 12,
"h": 13,
"i": "0",
"type": "Widget",
"widget": {
"title": "Service Instance Latency"
"title": "Service Instance Latency (ms)"
},
"graph": {
"type": "Line",
......@@ -77,13 +77,12 @@
{
"x": 12,
"y": 0,
"w": 6,
"h": 13,
"w": 12,
"h": 14,
"i": "1",
"type": "Widget",
"widget": {
"title": "Service Instance Successful Rate",
"tips": ""
"title": "Service Instance Successful Rate (%)"
},
"graph": {
"type": "Line",
......@@ -94,8 +93,6 @@
"showYAxis": true
},
"standard": {
"unit": "%",
"divide": "100"
},
"metrics": [
"service_instance_sla"
......@@ -103,39 +100,22 @@
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 6,
"y": 0,
"w": 6,
"h": 13,
"i": "2",
"type": "Widget",
"widget": {
"title": "Title"
},
"graph": {},
"standard": {
"unit": "%"
},
"metrics": [
""
],
"metricTypes": [
""
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "percentage"
}
]
},
{
"x": 0,
"y": 0,
"w": 6,
"h": 13,
"w": 12,
"h": 14,
"i": "3",
"type": "Widget",
"widget": {
"title": "Service Instance Load",
"title": "Service Instance Load (CPM)",
"tips": "For HTTP 1/2, gRPC, RPC services, this means Calls Per Minute (CPM), for TCP services, this means Packets Per Minute (PPM)"
},
"graph": {
......@@ -147,7 +127,6 @@
"showYAxis": true
},
"standard": {
"unit": "CPM"
},
"metrics": [
"service_instance_cpm"
......@@ -158,9 +137,9 @@
"moved": false
},
{
"x": 0,
"y": 13,
"w": 6,
"x": 12,
"y": 14,
"w": 12,
"h": 13,
"i": "10",
"type": "Widget",
......@@ -247,7 +226,7 @@
"i": "5",
"type": "Widget",
"widget": {
"title": "JVM Memory (Java Service)"
"title": "JVM Memory (MB)"
},
"graph": {
"type": "Line",
......@@ -258,8 +237,6 @@
"showYAxis": true
},
"standard": {
"unit": "MB",
"divide": "1048576"
},
"metrics": [
"instance_jvm_memory_noheap_max",
......@@ -370,7 +347,7 @@
"i": "14",
"type": "Widget",
"widget": {
"title": "JVM CPU"
"title": "JVM CPU (%)"
},
"graph": {
"type": "Line",
......@@ -381,7 +358,6 @@
"showYAxis": true
},
"standard": {
"unit": "%"
},
"metrics": [
"instance_jvm_cpu"
......@@ -428,7 +404,7 @@
"i": "6",
"type": "Widget",
"widget": {
"title": "JVM GC Time"
"title": "JVM GC Time (ms)"
},
"graph": {
"type": "Line",
......@@ -439,7 +415,6 @@
"showYAxis": true
},
"standard": {
"unit": "ms"
},
"metrics": [
"instance_jvm_young_gc_time",
......@@ -535,8 +510,6 @@
"showYAxis": true
},
"standard": {
"unit": "MB",
"divide": "1048576"
},
"metrics": [
"instance_clr_heap_memory"
......@@ -592,7 +565,6 @@
"showYAxis": true
},
"standard": {
"unit": "%"
},
"metrics": [
"instance_clr_cpu"
......@@ -611,7 +583,6 @@
"layer": "GENERAL",
"entity": "ServiceInstance",
"name": "General-Instance",
"id": "General-Instance",
"isRoot": false
}
}
......
......@@ -156,7 +156,6 @@
"layer": "GENERAL",
"entity": "All",
"name": "General-Root",
"id": "General-Root",
"isRoot": true
}
}
......
......@@ -38,7 +38,7 @@
"metricTypes": [
""
],
"activedTabIndex": 3,
"activedTabIndex": 0,
"children": [
{
"name": "Overview",
......@@ -46,7 +46,7 @@
{
"x": 0,
"y": 0,
"w": 7,
"w": 8,
"h": 5,
"i": "0",
"type": "Widget",
......@@ -56,11 +56,9 @@
"graph": {
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
"textAlign": "center"
},
"standard": {
"divide": "10000"
},
"metrics": [
"service_apdex"
......@@ -68,12 +66,17 @@
"metricTypes": [
"readMetricsValue"
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "apdex"
}
]
},
{
"x": 7,
"x": 8,
"y": 0,
"w": 9,
"w": 8,
"h": 5,
"i": "1",
"type": "Widget",
......@@ -84,14 +87,9 @@
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
"showUnit": true
},
"standard": {
"0": "1",
"1": "0",
"2": "0",
"divide": "100",
"unit": "%"
},
"metrics": [
"service_sla"
......@@ -99,7 +97,13 @@
"metricTypes": [
"readMetricsValue"
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "percentage",
"unit": "%"
}
]
},
{
"x": 16,
......@@ -116,11 +120,9 @@
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
"showUnit": true
},
"standard": {
"divide": 100,
"unit": "CPM"
},
"metrics": [
"service_cpm"
......@@ -128,7 +130,12 @@
"metricTypes": [
"readMetricsValue"
],
"moved": false
"moved": false,
"metricConfig": [
{
"unit": "CPM"
}
]
},
{
"x": 0,
......@@ -138,7 +145,7 @@
"i": "3",
"type": "Widget",
"widget": {
"title": "Service Avg Response Time"
"title": "Service Avg Response Time (ms)"
},
"graph": {
"type": "Line",
......@@ -149,7 +156,6 @@
"showYAxis": true
},
"standard": {
"unit": "ms"
},
"metrics": [
"service_resp_time"
......@@ -157,7 +163,11 @@
"metricTypes": [
"readMetricsValues"
],
"moved": false
"moved": false,
"metricConfig": [
{
}
]
},
{
"x": 6,
......@@ -178,7 +188,6 @@
"showYAxis": true
},
"standard": {
"divide": "10000"
},
"metrics": [
"service_apdex"
......@@ -186,7 +195,12 @@
"metricTypes": [
"readMetricsValues"
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "apdex"
}
]
},
{
"x": 12,
......@@ -196,7 +210,7 @@
"i": "5",
"type": "Widget",
"widget": {
"title": "Service Response Time Percentile"
"title": "Service Response Time Percentile (ms)"
},
"graph": {
"type": "Line",
......@@ -207,9 +221,6 @@
"showYAxis": true
},
"standard": {
"unit": "ms",
"metricLabels": "P50, P75, P90, P95, P99",
"labelsIndex": "0, 1, 2, 3, 4"
},
"metrics": [
"service_percentile"
......@@ -217,7 +228,13 @@
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
"moved": false,
"metricConfig": [
{
"label": "P50, P75, P90, P95, P99",
"labelsIndex": "0, 1, 2, 3, 4"
}
]
},
{
"x": 18,
......@@ -227,7 +244,7 @@
"i": "6",
"type": "Widget",
"widget": {
"title": "Successful Rate"
"title": "Successful Rate (%)"
},
"graph": {
"type": "Line",
......@@ -247,17 +264,22 @@
"metricTypes": [
"readMetricsValues"
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "percentage"
}
]
},
{
"x": 0,
"y": 16,
"w": 6,
"w": 8,
"h": 11,
"i": "7",
"type": "Widget",
"widget": {
"title": "Service Load",
"title": "Service Load (CPM)",
"tips": "For HTTP 1/2, gRPC, RPC services, this means Calls Per Minute (CPM)"
},
"graph": {
......@@ -269,8 +291,6 @@
"showYAxis": true
},
"standard": {
"divide": 1,
"unit": "CPM"
},
"metrics": [
"service_cpm"
......@@ -281,9 +301,9 @@
"moved": false
},
{
"x": 6,
"x": 8,
"y": 16,
"w": 6,
"w": 8,
"h": 11,
"i": "9",
"type": "Widget",
......@@ -299,8 +319,6 @@
"showYAxis": true
},
"standard": {
"divide": 1,
"unit": ""
},
"metrics": [
"service_mq_consume_count"
......@@ -311,14 +329,14 @@
"moved": false
},
{
"x": 12,
"x": 16,
"y": 16,
"w": 6,
"w": 8,
"h": 11,
"i": "10",
"type": "Widget",
"widget": {
"title": "Message Queue Avg Consuming Latency",
"title": "Message Queue Avg Consuming Latency (ms)",
"tips": "The avg latency of message consuming. Latency = timestamp(received) - timestamp(producing)"
},
"graph": {
......@@ -330,8 +348,6 @@
"showYAxis": true
},
"standard": {
"divide": "1",
"unit": "ms"
},
"metrics": [
"service_mq_consume_latency"
......@@ -340,6 +356,93 @@
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 27,
"w": 8,
"h": 14,
"i": "11",
"type": "Widget",
"widget": {
"title": "",
"tips": "For HTTP 1/2, gRPC, RPC services, this means Calls Per Minute (CPM),"
},
"graph": {
"type": "TopList"
},
"standard": {},
"metrics": [
"service_instance_cpm"
],
"metricTypes": [
"sortMetrics"
],
"metricConfig": [
{
"sortOrder": "DES",
"calculation": "percentage"
}
],
"moved": false
},
{
"x": 8,
"y": 27,
"w": 8,
"h": 14,
"i": "12",
"type": "Widget",
"widget": {
"title": "Slow Service Instance (ms)"
},
"graph": {
"type": "TopList",
"topN": "10"
},
"standard": {},
"metrics": [
"service_instance_resp_time"
],
"metricTypes": [
"sortMetrics"
],
"metricConfig": [
{
"sortOrder": "DES",
"calculation": "percentage"
}
],
"moved": false
},
{
"x": 16,
"y": 27,
"w": 8,
"h": 14,
"i": "13",
"type": "Widget",
"widget": {
"title": "Service Instance Successful Rate (%)"
},
"graph": {
"type": "TopList",
"topN": "10"
},
"standard": {},
"metrics": [
"service_instance_sla"
],
"metricTypes": [
"sortMetrics"
],
"metricConfig": [
{
"sortOrder": "ASC",
"calculation": "percentage"
}
],
"moved": false
}
]
},
......@@ -530,8 +633,7 @@
],
"layer": "GENERAL",
"entity": "Service",
"name": "General-Service",
"id": "General-Service"
"name": "General-Service"
}
}
]
......@@ -38,7 +38,7 @@
"metricTypes": [
""
],
"activedTabIndex": 2,
"activedTabIndex": 0,
"children": [
{
"name": "Overview",
......@@ -51,15 +51,13 @@
"i": "0",
"type": "Widget",
"widget": {
"title": "Successful Rate in Current Service"
"title": "Successful Rate in Current Service (%)"
},
"graph": {
"type": "TopList",
"topN": "10"
},
"standard": {
"unit": "%",
"divide": "100"
},
"metrics": [
"endpoint_sla"
......@@ -77,14 +75,13 @@
"i": "1",
"type": "Widget",
"widget": {
"title": "Slow Endpoints in Current Service"
"title": "Slow Endpoints in Current Service (ms)"
},
"graph": {
"type": "TopList",
"topN": "10"
},
"standard": {
"unit": "ms"
},
"metrics": [
"endpoint_resp_time"
......@@ -102,7 +99,7 @@
"i": "2",
"type": "Widget",
"widget": {
"title": "Endpoint Load in Current Service",
"title": "Endpoint Load in Current Service (CPM / PPM)",
"tips": "For HTTP 1/2, gRPC, RPC services, this means Calls Per Minute (CPM), for TCP services, this means Packets Per Minute (PPM)"
},
"graph": {
......@@ -110,7 +107,6 @@
"topN": "10"
},
"standard": {
"unit": "CPM"
},
"metrics": [
"endpoint_cpm"
......@@ -128,7 +124,7 @@
"i": "3",
"type": "Widget",
"widget": {
"title": "Endpoint Response Time Percentile"
"title": "Endpoint Response Time Percentile (ms)"
},
"graph": {
"type": "Line",
......@@ -149,7 +145,13 @@
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
"moved": false,
"metricConfig": [
{
"label": "P50, P75, P90, P95, P99",
"labelsIndex": "0,1,2,3,4"
}
]
},
{
"x": 8,
......@@ -159,7 +161,7 @@
"i": "4",
"type": "Widget",
"widget": {
"title": "Endpoint Avg Response Time"
"title": "Endpoint Avg Response Time (ms)"
},
"graph": {
"type": "Line",
......@@ -170,7 +172,6 @@
"showYAxis": true
},
"standard": {
"unit": "ms"
},
"metrics": [
"endpoint_resp_time"
......@@ -180,65 +181,6 @@
],
"moved": false
},
{
"x": 16,
"y": 26,
"w": 8,
"h": 13,
"i": "5",
"type": "Widget",
"widget": {
"title": "Message Queue Avg Consuming Latency",
"tips": "The avg latency of message consuming. Latency = timestamp(received) - timestamp(producing)"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "ms"
},
"metrics": [
"endpoint_mq_consume_latency"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 8,
"y": 26,
"w": 8,
"h": 13,
"i": "6",
"type": "Widget",
"widget": {
"title": "Message Queue Consuming Count",
"tips": "The number of consumed messages."
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
},
"metrics": [
"endpoint_mq_consume_count"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 26,
......@@ -247,7 +189,7 @@
"i": "7",
"type": "Widget",
"widget": {
"title": "Endpoint Successful Rate"
"title": "Endpoint Successful Rate (%)"
},
"graph": {
"type": "Line",
......@@ -258,8 +200,6 @@
"showYAxis": true
},
"standard": {
"unit": "%",
"divide": "100"
},
"metrics": [
"endpoint_sla"
......@@ -277,7 +217,7 @@
"i": "8",
"type": "Widget",
"widget": {
"title": "Endpoint Load"
"title": "Endpoint Load (CPM / PPM)"
},
"graph": {
"type": "Line",
......@@ -287,8 +227,7 @@
"showXAxis": true,
"showYAxis": true
},
"standard": {
},
"standard": {},
"metrics": [
"endpoint_cpm"
],
......@@ -358,7 +297,6 @@
"layer": "MESH",
"entity": "Endpoint",
"name": "Mesh-Endpoint",
"id": "Mesh-Endpoint",
"isRoot": false
}
}
......
......@@ -44,14 +44,14 @@
"name": "Overview",
"children": [
{
"x": 18,
"y": 0,
"w": 6,
"h": 13,
"x": 11,
"y": 14,
"w": 13,
"h": 14,
"i": "0",
"type": "Widget",
"widget": {
"title": "Service Instance Latency"
"title": "Service Instance Latency (ms)"
},
"graph": {
"type": "Line",
......@@ -62,7 +62,6 @@
"showYAxis": true
},
"standard": {
"unit": "ms"
},
"metrics": [
"service_instance_resp_time"
......@@ -73,15 +72,14 @@
"moved": false
},
{
"x": 12,
"y": 0,
"w": 6,
"h": 13,
"x": 0,
"y": 14,
"w": 11,
"h": 14,
"i": "1",
"type": "Widget",
"widget": {
"title": "Service Instance Successful Rate",
"tips": ""
"title": "Service Instance Successful Rate (%)"
},
"graph": {
"type": "Line",
......@@ -92,8 +90,6 @@
"showYAxis": true
},
"standard": {
"unit": "%",
"divide": "100"
},
"metrics": [
"service_instance_sla"
......@@ -104,36 +100,44 @@
"moved": false
},
{
"x": 6,
"x": 11,
"y": 0,
"w": 6,
"h": 13,
"w": 13,
"h": 14,
"i": "2",
"type": "Widget",
"widget": {
"title": "Title"
"title": "Service Throughput (Bytes)"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"graph": {},
"standard": {
"unit": "%"
},
"metrics": [
""
"service_throughput_received",
"service_throughput_sent"
],
"metricTypes": [
""
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 0,
"w": 6,
"h": 13,
"w": 11,
"h": 14,
"i": "3",
"type": "Widget",
"widget": {
"title": "Service Instance Load",
"title": "Service Instance Load (CPM / PPM)",
"tips": "For HTTP 1/2, gRPC, RPC services, this means Calls Per Minute (CPM), for TCP services, this means Packets Per Minute (PPM)"
},
"graph": {
......@@ -145,7 +149,6 @@
"showYAxis": true
},
"standard": {
"unit": "CPM / PPM"
},
"metrics": [
"service_instance_cpm"
......@@ -188,8 +191,7 @@
],
"layer": "MESH",
"entity": "ServiceInstance",
"name": "Mesh-Instance",
"id": "Mesh-Instance"
"name": "Mesh-Instance"
}
}
]
......@@ -24,7 +24,7 @@
"x": 0,
"y": 0,
"w": 24,
"h": 52,
"h": 51,
"i": "0",
"type": "Tab",
"widget": {
......@@ -38,7 +38,7 @@
"metricTypes": [
""
],
"activedTabIndex": 4,
"activedTabIndex": 0,
"children": [
{
"name": "Overview",
......@@ -46,7 +46,7 @@
{
"x": 0,
"y": 0,
"w": 7,
"w": 8,
"h": 5,
"i": "0",
"type": "Widget",
......@@ -56,24 +56,26 @@
"graph": {
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
},
"standard": {
"divide": "10000"
"textAlign": "center"
},
"standard": {},
"metrics": [
"service_apdex"
],
"metricTypes": [
"readMetricsValue"
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "apdex"
}
]
},
{
"x": 7,
"x": 8,
"y": 0,
"w": 9,
"w": 8,
"h": 5,
"i": "1",
"type": "Widget",
......@@ -84,19 +86,22 @@
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
},
"standard": {
"divide": "100",
"unit": "%"
"showUnit": true
},
"standard": {},
"metrics": [
"service_sla"
],
"metricTypes": [
"readMetricsValue"
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "percentage",
"unit": "%"
}
]
},
{
"x": 16,
......@@ -113,29 +118,31 @@
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
},
"standard": {
"divide": 100,
"unit": "CPM / PPM"
"showUnit": true
},
"standard": {},
"metrics": [
"service_cpm"
],
"metricTypes": [
"readMetricsValue"
],
"moved": false
"moved": false,
"metricConfig": [
{
"unit": "CPM / PPM"
}
]
},
{
"x": 0,
"y": 5,
"w": 6,
"h": 11,
"w": 8,
"h": 12,
"i": "3",
"type": "Widget",
"widget": {
"title": "Service Avg Response Time"
"title": "Service Avg Response Time (ms)"
},
"graph": {
"type": "Line",
......@@ -145,9 +152,7 @@
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "ms"
},
"standard": {},
"metrics": [
"service_resp_time"
],
......@@ -157,10 +162,10 @@
"moved": false
},
{
"x": 6,
"y": 5,
"w": 6,
"h": 11,
"x": 8,
"y": 17,
"w": 8,
"h": 12,
"i": "4",
"type": "Widget",
"widget": {
......@@ -174,26 +179,29 @@
"showXAxis": true,
"showYAxis": true
},
"standard": {
"divide": "10000"
},
"standard": {},
"metrics": [
"service_apdex"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
"moved": false,
"metricConfig": [
{
"calculation": "apdex"
}
]
},
{
"x": 12,
"x": 8,
"y": 5,
"w": 6,
"h": 11,
"w": 8,
"h": 12,
"i": "5",
"type": "Widget",
"widget": {
"title": "Service Response Time Percentile"
"title": "Service Response Time Percentile (ms)"
},
"graph": {
"type": "Line",
......@@ -203,28 +211,30 @@
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "ms",
"metricLabels": "P50, P75, P90, P95, P99",
"labelsIndex": "0, 1, 2, 3, 4"
},
"standard": {},
"metrics": [
"service_percentile"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
"moved": false,
"metricConfig": [
{
"label": "P50, P75, P90, P95, P99",
"labelsIndex": "0, 1, 2, 3, 4"
}
]
},
{
"x": 18,
"y": 5,
"w": 6,
"h": 11,
"x": 0,
"y": 17,
"w": 8,
"h": 12,
"i": "6",
"type": "Widget",
"widget": {
"title": "Successful Rate"
"title": "Successful Rate (%)"
},
"graph": {
"type": "Line",
......@@ -234,10 +244,7 @@
"showXAxis": true,
"showYAxis": true
},
"standard": {
"divide": 100,
"unit": "%"
},
"standard": {},
"metrics": [
"service_sla"
],
......@@ -247,14 +254,14 @@
"moved": false
},
{
"x": 0,
"y": 16,
"w": 6,
"h": 11,
"x": 16,
"y": 17,
"w": 8,
"h": 12,
"i": "7",
"type": "Widget",
"widget": {
"title": "Service Load",
"title": "Service Load (CPM / PPM)",
"tips": "For HTTP 1/2, gRPC, RPC services, this means Calls Per Minute (CPM), for TCP services, this means Packets Per Minute (PPM)"
},
"graph": {
......@@ -265,10 +272,7 @@
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "CPM / PPM",
"divide": 1
},
"standard": {},
"metrics": [
"service_cpm"
],
......@@ -278,25 +282,114 @@
"moved": false
},
{
"x": 6,
"y": 16,
"w": 6,
"h": 11,
"x": 16,
"y": 5,
"w": 8,
"h": 12,
"i": "8",
"type": "Widget",
"widget": {
"title": "Service Throughput",
"title": "Service Throughput (Bytes)",
"tips": "This metrics is only avaible for TCP services"
},
"graph": {},
"standard": {
"unit": "Bytes"
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
""
"service_throughput_received",
"service_throughput_sent"
],
"metricTypes": [
""
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 29,
"w": 8,
"h": 14,
"i": "9",
"type": "Widget",
"widget": {
"title": "Service Instances Load (CPM / PPM)"
},
"graph": {
"type": "TopList",
"topN": "10"
},
"standard": {},
"metrics": [
"service_instance_cpm"
],
"metricTypes": [
"sortMetrics"
],
"metricConfig": [
{
"calculation": "percentage"
}
],
"moved": false
},
{
"x": 8,
"y": 29,
"w": 8,
"h": 14,
"i": "10",
"type": "Widget",
"widget": {
"title": "Slow Service Instance (ms)"
},
"graph": {
"type": "TopList"
},
"standard": {},
"metrics": [
"service_instance_resp_time"
],
"metricTypes": [
"sortMetrics"
],
"metricConfig": [
{
"calculation": "percentage"
}
],
"moved": false
},
{
"x": 16,
"y": 29,
"w": 8,
"h": 14,
"i": "11",
"type": "Widget",
"widget": {
"title": "Service Instance Successful Rate (%)"
},
"graph": {
"type": "TopList"
},
"standard": {},
"metrics": [
"service_instance_sla"
],
"metricTypes": [
"sortMetrics"
],
"metricConfig": [
{
"calculation": "percentage"
}
],
"moved": false
}
......@@ -309,7 +402,7 @@
"x": 0,
"y": 0,
"w": 24,
"h": 49,
"h": 48,
"i": "0",
"type": "Widget",
"widget": {
......@@ -420,8 +513,7 @@
],
"layer": "MESH",
"entity": "Service",
"name": "Mesh-Service",
"id": "Mesh-Service"
"name": "Mesh-Service"
}
}
]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Mesh-Control-Plane-Root",
"configuration": {
"children": [
{
"x": 0,
"y": 0,
"w": 24,
"h": 51,
"i": "0",
"type": "Widget",
"widget": {
"title": ""
},
"graph": {
"type": "ServiceList",
"dashboardName": "Mesh-Control-Plane-Service",
"fontSize": 12,
"showXAxis": false,
"showYAxis": false,
"showGroup": true
},
"standard": {},
"metrics": [
""
],
"metricTypes": [
""
],
"moved": false
}
],
"layer": "MESH_CP",
"entity": "All",
"name": "Mesh-Control-Plane-Root",
"isRoot": true
}
}
]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Mesh-Control-Plane-Service",
"configuration": {
"children": [
{
"x": 12,
"y": 0,
"w": 6,
"h": 12,
"i": "0",
"type": "Widget",
"widget": {
"title": "CPU"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "%"
},
"metrics": [
"meter_istio_cpu"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 18,
"y": 0,
"w": 6,
"h": 12,
"i": "1",
"type": "Widget",
"widget": {
"title": "Goroutines"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"meter_istio_go_goroutines"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 0,
"w": 6,
"h": 12,
"i": "2",
"type": "Widget",
"widget": {
"title": "Istio Versions"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"meter_istio_pilot_version"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 6,
"y": 0,
"w": 6,
"h": 12,
"i": "3",
"type": "Widget",
"widget": {
"title": "Memory"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"0": "1",
"1": "0",
"2": "4",
"3": "8",
"4": "5",
"5": "7",
"6": "6",
"unit": "MB",
"divide": "1048576"
},
"metrics": [
"meter_istio_go_stack_inuse",
"meter_istio_virtual_memory",
"meter_istio_go_alloc",
"meter_istio_resident_memory",
"meter_istio_go_heap_inuse"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 8,
"y": 12,
"w": 8,
"h": 14,
"i": "4",
"type": "Widget",
"widget": {
"title": "Pilot Errors"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"meter_istio_pilot_xds_cds_reject",
"meter_istio_pilot_xds_eds_reject",
"meter_istio_pilot_xds_rds_reject",
"meter_istio_pilot_xds_lds_reject",
"meter_istio_pilot_xds_write_timeout"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 16,
"y": 12,
"w": 8,
"h": 14,
"i": "5",
"type": "Widget",
"widget": {
"title": "Proxy Push Time"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "%"
},
"metrics": [
"meter_istio_pilot_proxy_push_percentile"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 12,
"w": 8,
"h": 14,
"i": "6",
"type": "Widget",
"widget": {
"title": "Pilot pushes"
},
"graph": {
"type": "Bar",
"showBackground": true
},
"standard": {},
"metrics": [
"meter_istio_pilot_xds_pushes"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 12,
"y": 40,
"w": 12,
"h": 14,
"i": "7",
"type": "Widget",
"widget": {
"title": "Sidecar Injection"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"meter_istio_sidecar_injection_success_total"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 12,
"y": 26,
"w": 12,
"h": 14,
"i": "8",
"type": "Widget",
"widget": {
"title": "ADS Monitoring"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"meter_istio_pilot_xds",
"meter_istio_pilot_services",
"meter_istio_pilot_virt_services"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 40,
"w": 12,
"h": 14,
"i": "9",
"type": "Widget",
"widget": {
"title": "Configuration Validation"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"meter_istio_galley_validation_passed",
"meter_istio_galley_validation_failed"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 26,
"w": 12,
"h": 14,
"i": "10",
"type": "Widget",
"widget": {
"title": "Conflicts"
},
"graph": {
"type": "Bar",
"showBackground": true
},
"standard": {},
"metrics": [
"meter_istio_pilot_conflict_ol_tcp_tcp",
"meter_istio_pilot_conflict_il",
"meter_istio_pilot_conflict_ol_tcp_http",
"meter_istio_pilot_conflict_ol_http_tcp"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues"
],
"moved": false
}
],
"name": "Mesh-Control-Plane-Service",
"layer": "MESH_CP",
"entity": "Service",
"isRoot": false
}
}
]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Mesh-Data-Plane-Instance",
"configuration": {
"children": [
{
"x": 18,
"y": 13,
"w": 6,
"h": 13,
"i": "0",
"type": "Widget",
"widget": {
"title": "Upstream Request Active"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_cluster_up_rq_active"
],
"metricTypes": [
"readLabeledMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 6,
"y": 0,
"w": 6,
"h": 13,
"i": "1",
"type": "Widget",
"widget": {
"title": "Connections Used"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_total_connections_used",
"envoy_parent_connections_used"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 13,
"w": 6,
"h": 13,
"i": "2",
"type": "Widget",
"widget": {
"title": "Membership Healthy"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_cluster_membership_healthy"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 12,
"y": 13,
"w": 6,
"h": 13,
"i": "3",
"type": "Widget",
"widget": {
"title": "Upstream Connection Increase"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_cluster_up_cx_incr"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 6,
"y": 26,
"w": 6,
"h": 13,
"i": "4",
"type": "Widget",
"widget": {
"title": "Upstream Request Pending Active"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_cluster_up_rq_pending_active"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 0,
"w": 6,
"h": 13,
"i": "5",
"type": "Widget",
"widget": {
"title": "Heap Memory Used"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "MB",
"divide": "1048576"
},
"metrics": [
"envoy_memory_allocated_max",
"envoy_heap_memory_used",
"envoy_memory_allocated",
"envoy_memory_physical_size",
"envoy_memory_physical_size_max",
"envoy_heap_memory_max_used"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 18,
"y": 0,
"w": 6,
"h": 13,
"i": "6",
"type": "Widget",
"widget": {
"title": "Envoy Bug Failure"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_bug_failures"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 12,
"y": 0,
"w": 6,
"h": 13,
"i": "7",
"type": "Widget",
"widget": {
"title": "Concurrency"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_worker_threads_max",
"envoy_worker_threads"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 6,
"y": 13,
"w": 6,
"h": 13,
"i": "8",
"type": "Widget",
"widget": {
"title": "Upstream Connection Active"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_cluster_up_cx_active"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 26,
"w": 6,
"h": 13,
"i": "9",
"type": "Widget",
"widget": {
"title": "Upstream Request Increase"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"envoy_cluster_up_rq_incr"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
}
],
"name": "Mesh-Data-Plane-Instance",
"layer": "MESH_DP",
"entity": "ServiceInstance",
"isRoot": false
}
}
]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Mesh-Data-Plane-Root",
"configuration": {
"children": [
{
"x": 0,
"y": 0,
"w": 24,
"h": 51,
"i": "0",
"type": "Widget",
"widget": {
"title": ""
},
"graph": {
"type": "ServiceList",
"dashboardName": "Mesh-Data-Plane-Service",
"fontSize": 12,
"showXAxis": false,
"showYAxis": false,
"showGroup": true
},
"standard": {},
"metrics": [
""
],
"metricTypes": [
""
],
"metricConfig": [],
"moved": false
}
],
"layer": "MESH_DP",
"entity": "All",
"name": "Mesh-Data-Plane-Root",
"isRoot": true
}
}
]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Mesh-Data-Plane-Service",
"configuration": {
"children": [
{
"x": 0,
"y": 0,
"w": 24,
"h": 52,
"i": "0",
"type": "Widget",
"widget": {
"title": ""
},
"graph": {
"type": "InstanceList",
"dashboardName": "Mesh-Data-Plane-Instance",
"fontSize": 12
},
"standard": {},
"metrics": [
""
],
"metricTypes": [
""
],
"moved": false
}
],
"layer": "MESH_DP",
"entity": "Service",
"name": "Mesh-Data-Plane-Service",
"id": "Mesh-Data-Plane-Service",
"isRoot": false
}
}
]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Linux-Root",
"configuration": {
"children": [
{
"x": 0,
"y": 0,
"w": 24,
"h": 51,
"i": "0",
"type": "Widget",
"widget": {
"title": ""
},
"graph": {
"type": "ServiceList",
"dashboardName": "Linux-Service",
"fontSize": 12,
"showXAxis": false,
"showYAxis": false,
"showGroup": true
},
"standard": {},
"metrics": [
"meter_vm_cpu_total_percentage"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
}
],
"layer": "OS_LINUX",
"entity": "All",
"name": "Linux-Root",
"isRoot": true
}
}
]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Linux-Service",
"configuration": {
"children": [
{
"x": 16,
"y": 32,
"w": 8,
"h": 13,
"i": "0",
"type": "Widget",
"widget": {
"title": "Filefd Allocated"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {},
"metrics": [
"meter_vm_filefd_allocated"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 8,
"y": 32,
"w": 8,
"h": 13,
"i": "1",
"type": "Widget",
"widget": {
"title": "Network Status"
},
"graph": {
"type": "Line",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"divide": "1024"
},
"metrics": [
"meter_vm_tcp_curr_estab",
"meter_vm_tcp_tw",
"meter_vm_tcp_alloc",
"meter_vm_sockets_used",
"meter_vm_udp_inuse"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 32,
"w": 8,
"h": 13,
"i": "2",
"type": "Widget",
"widget": {
"title": "Network Bandwidth Usage"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "KB/s",
"divide": "1024"
},
"metrics": [
"meter_vm_network_receive",
"meter_vm_network_transmit"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 16,
"y": 19,
"w": 8,
"h": 13,
"i": "3",
"type": "Widget",
"widget": {
"title": "Disk R/W"
},
"graph": {
"type": "Line",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "KB/s - OTEL, ops - Zabbix",
"divide": "1024"
},
"metrics": [
"meter_vm_disk_read",
"meter_vm_disk_written"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 8,
"y": 19,
"w": 8,
"h": 13,
"i": "4",
"type": "Widget",
"widget": {
"title": "File System Mountpoint Usage"
},
"graph": {
"type": "Line",
"fontSize": 14,
"textAlign": "center",
"showUint": true
},
"standard": {
"unit": "%"
},
"metrics": [
"meter_vm_filesystem_percentage"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 6,
"w": 8,
"h": 13,
"i": "5",
"type": "Widget",
"widget": {
"title": "CPU Average Used"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "%"
},
"metrics": [
"meter_vm_cpu_average_used"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 16,
"y": 6,
"w": 8,
"h": 13,
"i": "6",
"type": "Widget",
"widget": {
"title": "Memory RAM"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "MB",
"divide": "1048576"
},
"metrics": [
"meter_vm_memory_used",
"meter_vm_memory_total",
"meter_vm_memory_available"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 8,
"y": 6,
"w": 8,
"h": 13,
"i": "7",
"type": "Widget",
"widget": {
"title": "CPU Load"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"0": "1",
"1": "0",
"2": "0",
"divide": "100"
},
"metrics": [
"meter_vm_cpu_load5",
"meter_vm_cpu_load1",
"meter_vm_cpu_load15"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 19,
"w": 8,
"h": 13,
"i": "8",
"type": "Widget",
"widget": {
"title": "Memory Swap"
},
"graph": {
"type": "Area",
"opacity": 0.4,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "MB",
"divide": "1048576"
},
"metrics": [
"meter_vm_memory_swap_free",
"meter_vm_memory_swap_total"
],
"metricTypes": [
"readMetricsValues",
"readMetricsValues"
],
"moved": false
},
{
"x": 16,
"y": 0,
"w": 8,
"h": 6,
"i": "9",
"type": "Widget",
"widget": {
"title": "Memory Swap Usage"
},
"graph": {
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
},
"standard": {
"unit": "%"
},
"metrics": [
"meter_vm_memory_swap_percentage"
],
"metricTypes": [
"readMetricsValue"
],
"moved": false
},
{
"x": 8,
"y": 0,
"w": 8,
"h": 6,
"i": "10",
"type": "Widget",
"widget": {
"title": "Memory RAM Usage"
},
"graph": {
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
},
"standard": {
"unit": "MB",
"divide": "1048576"
},
"metrics": [
"meter_vm_memory_used"
],
"metricTypes": [
"readMetricsValue"
],
"moved": false
},
{
"x": 0,
"y": 0,
"w": 8,
"h": 6,
"i": "11",
"type": "Widget",
"widget": {
"title": "CPU Usage"
},
"graph": {
"type": "Card",
"fontSize": 14,
"textAlign": "center",
"showUint": true
},
"standard": {
"unit": "%"
},
"metrics": [
"meter_vm_cpu_total_percentage"
],
"metricTypes": [
"readMetricsValue"
],
"moved": false
}
],
"name": "Linux-Service",
"layer": "OS_LINUX",
"entity": "Service",
"isRoot": false
}
}
]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
[
{
"id": "Virtual-Database-Root",
"configuration": {
"children": [
{
"x": 0,
"y": 0,
"w": 24,
"h": 52,
"i": "0",
"type": "Widget",
"widget": {
"title": "Virtual Database"
},
"graph": {
"type": "ServiceList",
"dashboardName": "Virtual-Database-Service",
"fontSize": 12,
"showXAxis": false,
"showYAxis": false,
"showGroup": true
},
"standard": {},
"metrics": [
"database_access_resp_time"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
}
],
"layer": "VIRTUAL_DATABASE",
"entity": "All",
"name": "Virtual-Database-Root",
"id": "Virtual-Database-Root",
"isRoot": true
}
}
]
[
{
"id": "Virtual-Database-Service",
"configuration": {
"children": [
{
"x": 18,
"y": 13,
"w": 6,
"h": 14,
"i": "0",
"type": "Widget",
"widget": {
"title": "Un-Health Databases (Successful Rate)"
},
"graph": {
"type": "TopList"
},
"standard": {
"unit": "%",
"divide": "100",
"metricLabels": "P50,P75,P90,P95,P99",
"labelsIndex": "0,1,2,3,4"
},
"metrics": [
"database_access_sla"
],
"metricTypes": [
"sortMetrics"
],
"moved": false
},
{
"x": 12,
"y": 13,
"w": 6,
"h": 14,
"i": "1",
"type": "Widget",
"widget": {
"title": "All Database Loads"
},
"graph": {
"type": "TopList"
},
"standard": {
"unit": "%",
"divide": "100",
"metricLabels": "P50,P75,P90,P95,P99",
"labelsIndex": "0,1,2,3,4"
},
"metrics": [
"database_access_cpm"
],
"metricTypes": [
"sortMetrics"
],
"moved": false
},
{
"x": 0,
"y": 13,
"w": 12,
"h": 14,
"i": "2",
"type": "Widget",
"widget": {
"title": "Slow Statements"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "%",
"divide": "100",
"metricLabels": "P50,P75,P90,P95,P99",
"labelsIndex": "0,1,2,3,4"
},
"metrics": [
"top_n_database_statement"
],
"metricTypes": [
"readSampledRecords"
],
"moved": false
},
{
"x": 6,
"y": 0,
"w": 6,
"h": 13,
"i": "3",
"type": "Widget",
"widget": {
"title": "Database Access Successful Rate"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"0": "1",
"1": "0",
"2": "0",
"unit": "%",
"divide": "100"
},
"metrics": [
"database_access_sla"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 12,
"y": 0,
"w": 6,
"h": 13,
"i": "4",
"type": "Widget",
"widget": {
"title": "Database Traffic"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"0": "1",
"unit": "CPM - calls per minute",
"divide": "1"
},
"metrics": [
"database_access_cpm"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
},
{
"x": 18,
"y": 0,
"w": 6,
"h": 13,
"i": "5",
"type": "Widget",
"widget": {
"title": "Database Access Latency Percentile"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "ms",
"metricLabels": "P50, P75, P90, P95, P99"
},
"metrics": [
"database_access_percentile"
],
"metricTypes": [
"readLabeledMetricsValues"
],
"moved": false
},
{
"x": 0,
"y": 0,
"w": 6,
"h": 13,
"i": "6",
"type": "Widget",
"widget": {
"title": "Database Avg Response Time"
},
"graph": {
"type": "Line",
"step": false,
"smooth": false,
"showSymbol": false,
"showXAxis": true,
"showYAxis": true
},
"standard": {
"unit": "%",
"divide": "100",
"metricLabels": "P50,P75,P90,P95,P99",
"labelsIndex": "0,1,2,3,4"
},
"metrics": [
"database_access_resp_time"
],
"metricTypes": [
"readMetricsValues"
],
"moved": false
}
],
"name": "Virtual-Database-Service",
"layer": "VIRTUAL_DATABASE",
"entity": "Service",
"isRoot": false
}
}
]
......@@ -55,10 +55,7 @@ public class UITemplateCheckerTest {
}
JsonNode configNode = jsonNode.get(0).get("configuration");
String inId = configNode.get("id").textValue();
Assert.assertEquals(
"File: " + template + " has invalid id", jsonNode.get(0).get("id").textValue(), inId);
String inId = jsonNode.get(0).get("id").textValue();
String inName = configNode.get("name").textValue();
String inLayer = configNode.get("layer").textValue();
String inEntity = configNode.get("entity").textValue();
......
Subproject commit 355fe215a3b973bc67d6b2f316e7f336dada3a3e
Subproject commit 61d182b986681f09b3f9fce8af698165f4403450
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册