Add hierarchy relations auto-matching for MYSQL/POSTGRESQL/SO11Y_OAP/VIRTUAL_DATABASE. Fix MQE in dashboards when using `Card widget`. (#11818)

This commit is contained in:
Wan Kai 2024-01-24 15:03:45 +08:00 committed by GitHub
parent a9128e0cef
commit 2f4f4a1275
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
28 changed files with 585 additions and 220 deletions

View File

@ -15,7 +15,11 @@
* Support build Service/Instance Hierarchy and query.
* Change the string field in Elasticsearch storage from **keyword** type to **text** type if it set more than `32766` length.
* [Break Change] Change the configuration field of `ui_template` and `ui_menu` in Elasticsearch storage from **keyword** type to **text**.
* Support Service Hierarchy auto matching.
* Support Service Hierarchy auto matching, add auto matching layer relationships (upper -> lower) as following:
- MESH -> MESH_DP
- MESH -> K8S_SERVICE
- MESH_DP -> K8S_SERVICE
- GENERAL -> K8S_SERVICE
* Add `namespace` suffix for `K8S_SERVICE_NAME_RULE/ISTIO_SERVICE_NAME_RULE` and `metadata-service-mapping.yaml` as default.
* Allow using a dedicated port for ALS receiver.
* Fix log query by traceId in `JDBCLogQueryDAO`.
@ -24,6 +28,12 @@
* Remove unnecessary annotations and functions from Meter Functions.
* Add `max` and `min` functions for MAL down sampling.
* Fix critical bug of uncontrolled memory cost of TopN statistics. Change topN group key from `StorageId` to `entityId + timeBucket`.
* Add Service Hierarchy auto matching layer relationships (upper -> lower) as following:
- MYSQL -> K8S_SERVICE
- POSTGRESQL -> K8S_SERVICE
- SO11Y_OAP -> K8S_SERVICE
- VIRTUAL_DATABASE -> MYSQL
- VIRTUAL_DATABASE -> POSTGRESQL
#### UI
@ -40,6 +50,7 @@
* Update Kubernetes related UI templates for adapt data from eBPF access log.
* Fix dashboard `K8S-Service-Root` metrics expression.
* Add dashboards for Service/Instance Hierarchy.
* Fix MQE in dashboards when using `Card widget`.
#### Documentation

View File

@ -19,26 +19,39 @@ hierarchy:
K8S_SERVICE: lower-short-name-remove-ns
MYSQL:
K8S_SERVICE: ~
K8S_SERVICE: short-name
POSTGRESQL:
K8S_SERVICE: short-name
SO11Y_OAP:
K8S_SERVICE: short-name
VIRTUAL_DATABASE:
MYSQL: ~
MYSQL: lower-short-name-with-fqdn
POSTGRESQL: lower-short-name-with-fqdn
auto-matching-rules:
# the name of the upper service is equal to the name of the lower service
name: "{ (u, l) -> u.name == l.name }"
# the short name of the upper service is equal to the short name of the lower service
short-name: "{ (u, l) -> u.shortName == l.shortName }"
# remove the namespace from the lower service short name
# remove the k8s namespace from the lower service short name
# this rule is only works on k8s env.
lower-short-name-remove-ns: "{ (u, l) -> u.shortName == l.shortName.substring(0, l.shortName.lastIndexOf('.')) }"
# the short name of the upper remove port is equal to the short name of the lower service with fqdn suffix
# this rule is only works on k8s env.
lower-short-name-with-fqdn: "{ (u, l) -> u.shortName.substring(0, u.shortName.lastIndexOf(':')) == l.shortName.concat('.svc.cluster.local') }"
layer-levels:
# The hierarchy level of the service layer, the level is used to define the order of the service layer for UI presentation.
# The level of the upper service should greater than the level of the lower service in `hierarchy` section.
MESH: 3
GENERAL: 3
SO11Y_OAP: 3
VIRTUAL_DATABASE: 3
MYSQL: 2
POSTGRESQL: 2
MESH_DP: 1
K8S_SERVICE: 0
```
@ -51,11 +64,14 @@ layer-levels:
- All the layers are defined in the file `org.apache.skywalking.oap.server.core.analysis.Layers.java`.
- If the hierarchy is not defined, the service hierarchy relationship will not be built.
- If you want to add a new relationship, you should certainly know they can be matched automatically by [Auto Matching Rules](#auto-matching-rules).
- Notice: some hierarchy relations and auto matching rules are only works on k8s env.
### Auto Matching Rules
- The auto matching rules are defined in the `auto-matching-rules` section.
- Use Groovy script to define the matching rules, the input parameters are the upper service(u) and the lower service(l) and the return value is a boolean,
which are used to match the relation between the upper service(u) and the lower service(l) on the different layers.
- The default matching rules required the service name configured as SkyWalking default and follow the [Showcase](https://github.com/apache/skywalking-showcase).
If you customized the service name in any layer, you should customize the related matching rules according your service name rules.
### Layer Levels
- Define the hierarchy level of the service layer in the `layer-levels` section.

View File

@ -7,16 +7,97 @@ There 2 ways to detect the connections:
1. Automatically matching through OAP internal mechanism, no extra work is required.
2. Build the connections through specific agents.
**Note:** All the relationships should be defined in the `config/hierarchy-definition.yml` file.
**Note:** All the relationships and auto-matching rules should be defined in the `config/hierarchy-definition.yml` file.
If you want to customize it according to your own needs, please refer to [Service Hierarchy Configuration](service-hierarchy-configuration.md).
### Automatically Matching
### Automatically Matching
| Upper layer | Lower layer | Matching rule |
|-------------------|--------------|-------------------------------------------------------------------|
| MESH | MESH_DP | [MESH On MESH_DP](#mesh-on-mesh_dp) |
| MESH | K8S_SERVICE | [MESH On K8S_SERVICE](#mesh-on-k8s_service) |
| MESH_DP | K8S_SERVICE | [MESH_DP On K8S_SERVICE](#mesh_dp-on-k8s_service) |
| GENERAL | K8S_SERVICE | [GENERAL On K8S_SERVICE](#general-on-k8s_service) |
| MYSQL | K8S_SERVICE | [MYSQL On K8S_SERVICE](#mysql-on-k8s_service) |
| POSTGRESQL | K8S_SERVICE | [POSTGRESQL On K8S_SERVICE](#postgresql-on-k8s_service) |
| SO11Y_OAP | K8S_SERVICE | [SO11Y_OAP On K8S_SERVICE](#so11y_oap-on-k8s_service) |
| VIRTUAL_DATABASE | MYSQL | [VIRTUAL_DATABASE On MYSQL](#virtual_database-on-mysql) |
| VIRTUAL_DATABASE | POSTGRESQL | [VIRTUAL_DATABASE On POSTGRESQL](#virtual_database-on-postgresql) |
| Upper layer | Lower layer | Matching rule |
|-------------|--------------|-----------------------------------------------------------------------|
| MESH | MESH_DP | upper service name equals lower service name |
| MESH | K8S_SERVICE | upper service short name equals lower service short name |
| MESH_DP | K8S_SERVICE | upper service short name equals lower service short name |
| GENERAL | K8S_SERVICE | upper service short name equals lower service name without namespace |
- The following sections will describe the **default matching rules** in detail and use the `upper-layer On lower-layer` format.
- The example service name are based on SkyWalking [Showcase](https://github.com/apache/skywalking-showcase) default deployment.
- In SkyWalking the service name could be composed of `group` and `short name` with `::` separator.
#### MESH On MESH_DP
- Rule name: `name`
- Groovy script: `{ (u, l) -> u.name == l.name }`
- Description: MESH.service.name == MESH_DP.service.name
- Matched Example:
- MESH.service.name: `mesh-svr::songs.sample-services`
- MESH_DP.service.name: `mesh-svr::songs.sample-services`
#### MESH On K8S_SERVICE
- Rule name: `short-name`
- Groovy script: `{ (u, l) -> u.shortName == l.shortName }`
- Description: MESH.service.shortName == K8S_SERVICE.service.shortName
- Matched Example:
- MESH.service.name: `mesh-svr::songs.sample-services`
- K8S_SERVICE.service.name: `skywalking-showcase::songs.sample-services`
#### MESH_DP On K8S_SERVICE
- Rule name: `short-name`
- Groovy script: `{ (u, l) -> u.shortName == l.shortName }`
- Description: MESH_DP.service.shortName == K8S_SERVICE.service.shortName
- Matched Example:
- MESH_DP.service.name: `mesh-svr::songs.sample-services`
- K8S_SERVICE.service.name: `skywalking-showcase::songs.sample-services`
#### GENERAL On K8S_SERVICE
- Rule name: `lower-short-name-remove-ns`
- Groovy script: `{ (u, l) -> u.shortName == l.shortName.substring(0, l.shortName.lastIndexOf('.')) }`
- Description: GENERAL.service.shortName == K8S_SERVICE.service.shortName without namespace
- Matched Example:
- GENERAL.service.name: `agent::songs`
- K8S_SERVICE.service.name: `skywalking-showcase::songs.sample-services`
#### MYSQL On K8S_SERVICE
- Rule name: `short-name`
- Groovy script: `{ (u, l) -> u.shortName == l.shortName }`
- Description: MYSQL.service.shortName == K8S_SERVICE.service.shortName
- Matched Example:
- MYSQL.service.name: `mysql::mysql.skywalking-showcase`
- K8S_SERVICE.service.name: `skywalking-showcase::mysql.skywalking-showcase`
#### POSTGRESQL On K8S_SERVICE
- Rule name: `short-name`
- Groovy script: `{ (u, l) -> u.shortName == l.shortName }`
- Description: POSTGRESQL.service.shortName == K8S_SERVICE.service.shortName
- Matched Example:
- POSTGRESQL.service.name: `postgresql::psql.skywalking-showcase`
- K8S_SERVICE.service.name: `skywalking-showcase::psql.skywalking-showcase`
#### SO11Y_OAP On K8S_SERVICE
- Rule name: `short-name`
- Groovy script: `{ (u, l) -> u.shortName == l.shortName }`
- Description: SO11Y_OAP.service.shortName == K8S_SERVICE.service.shortName
- Matched Example:
- SO11Y_OAP.service.name: `demo-oap.skywalking-showcase`
- K8S_SERVICE.service.name: `skywalking-showcase::demo-oap.skywalking-showcase`
#### VIRTUAL_DATABASE On MYSQL
- Rule name: `lower-short-name-with-fqdn`
- Groovy script: `{ (u, l) -> u.shortName.substring(0, u.shortName.lastIndexOf(':')) == l.shortName.concat('.svc.cluster.local') }`
- Description: VIRTUAL_DATABASE.service.shortName remove port == MYSQL.service.shortName with fqdn suffix
- Matched Example:
- VIRTUAL_DATABASE.service.name: `mysql.skywalking-showcase.svc.cluster.local:3306`
- MYSQL.service.name: `mysql::mysql.skywalking-showcase`
#### VIRTUAL_DATABASE On POSTGRESQL
- Rule name: `lower-short-name-with-fqdn`
- Groovy script: `{ (u, l) -> u.shortName.substring(0, u.shortName.lastIndexOf(':')) == l.shortName.concat('.svc.cluster.local') }`
- Description: VIRTUAL_DATABASE.service.shortName remove port == POSTGRESQL.service.shortName with fqdn suffix
- Matched Example:
- VIRTUAL_DATABASE.service.name: `psql.skywalking-showcase.svc.cluster.local:5432`
- POSTGRESQL.service.name: `postgresql::psql.skywalking-showcase`
### Build Through Specific Agents
Use agent tech involved(such as eBPF) and deployment tools(such as operator and agent injector) detect the service hierarchy relations.

View File

@ -189,24 +189,45 @@ public class HierarchyService implements org.apache.skywalking.oap.server.librar
serviceLayer);
Map<String, HierarchyDefinitionService.MatchingRule> comparedLowerLayers = getHierarchyDefinition().get(
comparedServiceLayer);
if (lowerLayers != null
&& lowerLayers.get(comparedServiceLayer) != null
&& lowerLayers.get(comparedServiceLayer)
.getClosure()
.call(service, comparedService)) {
autoMatchingServiceRelation(service.getName(), Layer.nameOf(serviceLayer),
comparedService.getName(),
Layer.nameOf(comparedServiceLayer)
);
} else if (comparedLowerLayers != null
&& comparedLowerLayers.get(serviceLayer) != null
&& comparedLowerLayers.get(serviceLayer)
.getClosure()
.call(comparedService, service)) {
autoMatchingServiceRelation(comparedService.getName(), Layer.nameOf(comparedServiceLayer),
service.getName(),
Layer.nameOf(serviceLayer)
);
if (lowerLayers != null && lowerLayers.get(comparedServiceLayer) != null) {
try {
if (lowerLayers.get(comparedServiceLayer)
.getClosure()
.call(service, comparedService)) {
autoMatchingServiceRelation(service.getName(), Layer.nameOf(serviceLayer),
comparedService.getName(),
Layer.nameOf(comparedServiceLayer)
);
}
} catch (Throwable e) {
log.error(
"Auto matching service hierarchy from service traffic failure. Upper layer {}, lower layer {}, closure{}",
serviceLayer,
comparedServiceLayer,
lowerLayers.get(comparedServiceLayer).getExpression(), e
);
}
} else if (comparedLowerLayers != null && comparedLowerLayers.get(serviceLayer) != null) {
try {
if (comparedLowerLayers.get(serviceLayer)
.getClosure()
.call(comparedService, service)) {
autoMatchingServiceRelation(
comparedService.getName(),
Layer.nameOf(comparedServiceLayer),
service.getName(),
Layer.nameOf(serviceLayer)
);
}
} catch (Throwable e) {
log.error(
"Auto matching service hierarchy from service traffic failure. Upper layer {}, lower layer {}, closure{}",
comparedServiceLayer,
serviceLayer,
comparedLowerLayers.get(serviceLayer).getExpression(), e
);
}
}
}
}

View File

@ -16,6 +16,7 @@
# Define the hierarchy of service layers, the layers under the specific layer are related lower of the layer.
# The relation could have a matching rule for auto matching, which are defined in the `auto-matching-rules` section.
# All the layers are defined in the file `org.apache.skywalking.oap.server.core.analysis.Layers.java`.
# Notice: some hierarchy relations and auto matching rules are only works on k8s env.
hierarchy:
MESH:
@ -29,10 +30,17 @@ hierarchy:
K8S_SERVICE: lower-short-name-remove-ns
MYSQL:
K8S_SERVICE: ~
K8S_SERVICE: short-name
POSTGRESQL:
K8S_SERVICE: short-name
SO11Y_OAP:
K8S_SERVICE: short-name
VIRTUAL_DATABASE:
MYSQL: ~
MYSQL: lower-short-name-with-fqdn
POSTGRESQL: lower-short-name-with-fqdn
# Use Groovy script to define the matching rules, the input parameters are the upper service(u) and the lower service(l) and the return value is a boolean,
# which are used to match the relation between the upper service(u) and the lower service(l) on the different layers.
@ -41,17 +49,23 @@ auto-matching-rules:
name: "{ (u, l) -> u.name == l.name }"
# the short name of the upper service is equal to the short name of the lower service
short-name: "{ (u, l) -> u.shortName == l.shortName }"
# remove the namespace from the lower service short name
# remove the k8s namespace from the lower service short name
# this rule is only works on k8s env.
lower-short-name-remove-ns: "{ (u, l) -> u.shortName == l.shortName.substring(0, l.shortName.lastIndexOf('.')) }"
# the short name of the upper remove port is equal to the short name of the lower service with fqdn suffix
# this rule is only works on k8s env.
lower-short-name-with-fqdn: "{ (u, l) -> u.shortName.substring(0, u.shortName.lastIndexOf(':')) == l.shortName.concat('.svc.cluster.local') }"
# The hierarchy level of the service layer, the level is used to define the order of the service layer for UI presentation.
# The level of the upper service should greater than the level of the lower service in `hierarchy` section.
layer-levels:
MESH: 3
GENERAL: 3
SO11Y_OAP: 3
VIRTUAL_DATABASE: 3
MYSQL: 2
POSTGRESQL: 2
MESH_DP: 1

View File

@ -494,11 +494,11 @@
"showUnit": true
},
"expressions": [
"meter_apisix_instance_etcd_reachable"
"latest(meter_apisix_instance_etcd_reachable)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
],
"associate": [
{

View File

@ -21,7 +21,7 @@
"showUnit": true
},
"expressions": [
"aws_s3_4xx"
"latest(aws_s3_4xx)"
],
"metricMode": "Expression",
"typesOfMQE": [
@ -45,7 +45,7 @@
"showUnit": true
},
"expressions": [
"aws_s3_5xx"
"latest(aws_s3_5xx)"
],
"metricMode": "Expression",
"typesOfMQE": [
@ -69,7 +69,7 @@
"showUnit": true
},
"expressions": [
"aws_s3_all_requests"
"latest(aws_s3_all_requests)"
],
"metricMode": "Expression",
"typesOfMQE": [
@ -93,7 +93,7 @@
"showUnit": true
},
"expressions": [
"aws_s3_request_latency"
"avg(aws_s3_request_latency)"
],
"metricMode": "Expression",
"typesOfMQE": [

View File

@ -57,7 +57,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_nodes"
"latest(meter_elasticsearch_cluster_nodes)"
]
},
{
@ -78,7 +78,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_nodes"
"latest(meter_elasticsearch_cluster_nodes)"
]
},
{
@ -99,7 +99,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_pending_tasks_total"
"avg(meter_elasticsearch_cluster_pending_tasks_total)"
]
},
{
@ -120,7 +120,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_primary_shards_total"
"latest(meter_elasticsearch_cluster_primary_shards_total)"
]
},
{
@ -141,10 +141,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_shards_total"
"latest(meter_elasticsearch_cluster_shards_total)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -165,7 +165,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_initializing_shards_total"
"latest(meter_elasticsearch_cluster_initializing_shards_total)"
]
},
{
@ -186,7 +186,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_delayed_unassigned_shards_total"
"latest(meter_elasticsearch_cluster_delayed_unassigned_shards_total)"
]
},
{
@ -207,7 +207,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_relocating_shards_total"
"latest(meter_elasticsearch_cluster_relocating_shards_total)"
]
},
{
@ -228,7 +228,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_unassigned_shards_total"
"latest(meter_elasticsearch_cluster_unassigned_shards_total)"
]
},
{
@ -249,10 +249,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_breakers_tripped"
"latest(meter_elasticsearch_cluster_breakers_tripped)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -269,14 +269,19 @@
"showUnit":true
},
"widget":{
"title":"CPU Usage Avg. (%)"
"title":"CPU Usage Avg"
},
"metricConfig": [
{
"unit": "%"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_cpu_usage_avg"
"avg(meter_elasticsearch_cluster_cpu_usage_avg)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -293,14 +298,19 @@
"showUnit":true
},
"widget":{
"title":"JVM Memory Used Avg. (%)"
"title":"JVM Memory Used Avg"
},
"metricConfig": [
{
"unit": "%"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_jvm_memory_used_avg"
"avg(meter_elasticsearch_cluster_jvm_memory_used_avg)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -321,7 +331,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_cluster_open_file_count"
"avg(meter_elasticsearch_cluster_open_file_count)"
]
},
{
@ -372,4 +382,4 @@
"isRoot":false
}
}
]
]

View File

@ -534,7 +534,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_index_indices_docs_primary"
"latest(meter_elasticsearch_index_indices_docs_primary)"
]
},
{
@ -551,11 +551,16 @@
"showUnit":true
},
"widget":{
"title":"Data (GB)"
"title":"Data"
},
"metricConfig": [
{
"unit": "GB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_index_indices_store_size_bytes_total/1024/1024/1024"
"latest(meter_elasticsearch_index_indices_store_size_bytes_total)/1024/1024/1024"
]
},
{
@ -572,14 +577,19 @@
"showUnit":true
},
"widget":{
"title":"Data (Primary Shards) (GB)"
"title":"Data (Primary Shards)"
},
"metricConfig": [
{
"unit": "GB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_index_indices_store_size_bytes_primary/1024/1024/1024"
"latest(meter_elasticsearch_index_indices_store_size_bytes_primary)/1024/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -600,7 +610,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_index_indices_segment_count_total"
"latest(meter_elasticsearch_index_indices_segment_count_total)"
]
},
{
@ -621,7 +631,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_index_indices_segment_count_primary"
"latest(meter_elasticsearch_index_indices_segment_count_primary)"
]
},
{
@ -638,14 +648,19 @@
"showUnit":true
},
"widget":{
"title":"Segments Memory (MB)"
"title":"Segments Memory"
},
"metricConfig": [
{
"unit": "MB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_index_indices_segment_memory_bytes_primary/1024/1024"
"latest(meter_elasticsearch_index_indices_segment_memory_bytes_primary)/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -666,7 +681,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_index_indices_docs_primary"
"latest(meter_elasticsearch_index_indices_docs_primary)"
]
},
{
@ -683,11 +698,16 @@
"showUnit":true
},
"widget":{
"title":"Segments Memory (Primary Shards) (MB)"
"title":"Segments Memory (Primary Shards)"
},
"metricConfig": [
{
"unit": "MB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_index_indices_segment_memory_bytes_primary/1024/1024"
"latest(meter_elasticsearch_index_indices_segment_memory_bytes_primary)/1024/1024"
]
},
{
@ -721,4 +741,4 @@
"isRoot":false
}
}
]
]

View File

@ -592,7 +592,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_node_indices_docs"
"latest(meter_elasticsearch_node_indices_docs)"
]
},
{
@ -614,8 +614,13 @@
}
},
"widget":{
"title":"OS CPU Usage Persent (%)"
"title":"OS CPU Usage Percent"
},
"metricConfig": [
{
"unit": "%"
}
],
"metricMode":"Expression",
"metricConfig":[
{
@ -751,7 +756,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_node_segment_count"
"latest(meter_elasticsearch_node_segment_count)"
]
},
{
@ -772,7 +777,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_node_open_file_count"
"avg(meter_elasticsearch_node_open_file_count)"
]
},
{
@ -794,8 +799,13 @@
}
},
"widget":{
"title":"Disk Write (KBs)"
"title":"Disk Write"
},
"metricConfig": [
{
"unit": "KB/s"
}
],
"metricMode":"Expression",
"metricConfig":[
{
@ -825,12 +835,17 @@
"widget":{
"title":"JVM Memory Used (MB)"
},
"metricConfig": [
{
"unit": "MB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_node_jvm_memory_used/1024/1024"
"avg(meter_elasticsearch_node_jvm_memory_used)/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -847,11 +862,16 @@
"showUnit":true
},
"widget":{
"title":"CPU Usage (%)"
"title":"CPU Usage"
},
"metricConfig": [
{
"unit": "%"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_node_process_cpu_percent"
"avg(meter_elasticsearch_node_process_cpu_percent)"
]
},
{
@ -868,14 +888,19 @@
"showUnit":true
},
"widget":{
"title":"Disk Free Space (GB)"
"title":"Disk Free Space"
},
"metricConfig": [
{
"unit": "GB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_elasticsearch_node_all_disk_free_space/1024/1024/1024"
"latest(meter_elasticsearch_node_all_disk_free_space)/1024/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -1081,4 +1106,4 @@
"isRoot":false
}
}
]
]

View File

@ -298,11 +298,11 @@
"showUint": true
},
"expressions": [
"k8s_cluster_container_total"
"latest(k8s_cluster_container_total)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -322,11 +322,11 @@
"showUint": true
},
"expressions": [
"k8s_cluster_pod_total"
"latest(k8s_cluster_pod_total)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -346,11 +346,11 @@
"showUint": true
},
"expressions": [
"k8s_cluster_service_total"
"latest(k8s_cluster_service_total)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -370,11 +370,11 @@
"showUint": true
},
"expressions": [
"k8s_cluster_node_total"
"latest(k8s_cluster_node_total)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -394,11 +394,11 @@
"showUint": true
},
"expressions": [
"k8s_cluster_namespace_total"
"latest(k8s_cluster_namespace_total)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -418,11 +418,11 @@
"showUint": true
},
"expressions": [
"k8s_cluster_deployment_total"
"latest(k8s_cluster_deployment_total)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -442,11 +442,11 @@
"showUint": true
},
"expressions": [
"k8s_cluster_statefulset_total"
"latest(k8s_cluster_statefulset_total)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -466,11 +466,11 @@
"showUint": true
},
"expressions": [
"k8s_cluster_daemonset_total"
"latest(k8s_cluster_daemonset_total)"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
}
]

View File

@ -24,7 +24,7 @@
"type":"Widget",
"metricMode":"Expression",
"expressions":[
"aggregate_labels(meter_mongodb_cluster_uptime,max)/3600/24"
"latest(aggregate_labels(meter_mongodb_cluster_uptime,max))/3600/24"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -53,7 +53,7 @@
"type":"Widget",
"metricMode":"Expression",
"expressions":[
"aggregate_labels(meter_mongodb_cluster_data_size,sum)/1024/1024/1024"
"latest(aggregate_labels(meter_mongodb_cluster_data_size,sum))/1024/1024/1024"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -82,7 +82,7 @@
"type":"Widget",
"metricMode":"Expression",
"expressions":[
"aggregate_labels(meter_mongodb_cluster_collection_count,sum)"
"latest(aggregate_labels(meter_mongodb_cluster_collection_count,sum))"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -106,7 +106,7 @@
"type":"Widget",
"metricMode":"Expression",
"expressions":[
"aggregate_labels(meter_mongodb_cluster_object_count,sum)"
"latest(aggregate_labels(meter_mongodb_cluster_object_count,sum))"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -396,4 +396,4 @@
"isRoot":false
}
}
]
]

View File

@ -27,7 +27,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_mongodb_node_uptime/3600/24"
"latest(meter_mongodb_node_uptime)/3600/24"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -50,7 +50,7 @@
"title":"QPS"
},
"expressions":[
"meter_mongodb_node_qps"
"avg(meter_mongodb_node_qps)"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -74,7 +74,7 @@
"title":"Latency"
},
"expressions":[
"meter_mongodb_node_latency"
"avg(meter_mongodb_node_latency)"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -109,7 +109,7 @@
"title":"Memory Usage"
},
"expressions":[
"meter_mongodb_node_memory_usage"
"avg(meter_mongodb_node_memory_usage)"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -763,4 +763,4 @@
"isRoot":false
}
}
]
]

View File

@ -1,7 +1,7 @@
[
{
"id":"mysql-instance ",
"id":"MySQL-Instance",
"configuration":{
"children":[
{
@ -18,14 +18,19 @@
"showUnit":true
},
"widget":{
"title":"MySQL Uptime (day)"
"title":"MySQL Uptime"
},
"metricConfig": [
{
"unit": "day"
}
],
"metricMode":"Expression",
"expressions":[
"meter_mysql_instance_uptime/3600/24"
"latest(meter_mysql_instance_uptime)/3600/24"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -53,7 +58,7 @@
}
],
"expressions":[
"meter_mysql_instance_qps"
"avg(meter_mysql_instance_qps)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
@ -73,14 +78,19 @@
"showUnit":true
},
"widget":{
"title":"Innodb Buffer Pool Size (MB)"
"title":"Innodb Buffer Pool Size"
},
"metricConfig": [
{
"unit": "MB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_mysql_instance_innodb_buffer_pool_size/1024/1024"
"latest(meter_mysql_instance_innodb_buffer_pool_size)/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -101,10 +111,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_mysql_instance_max_connections"
"latest(meter_mysql_instance_max_connections)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -125,10 +135,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_mysql_instance_thread_cache_size"
"latest(meter_mysql_instance_thread_cache_size)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -357,8 +367,33 @@
"layer":"MYSQL",
"entity":"ServiceInstance",
"name":"MySQL-Instance",
"id":"mysql-instance ",
"isRoot":false
"id":"mysql-instance",
"isRoot":false,
"isDefault": true,
"expressions": [
"avg(meter_mysql_instance_commands_select_rate)",
"avg(meter_mysql_instance_commands_insert_rate)",
"avg(meter_mysql_instance_commands_update_rate)",
"avg(meter_mysql_instance_commands_delete_rate)"
],
"expressionsConfig": [
{
"unit": "rows / s",
"label": "Fetch"
},
{
"unit": "rows / s",
"label": "Insert"
},
{
"unit": "rows / s",
"label": "Update"
},
{
"unit": "rows / s",
"label": "Delete"
}
]
}
}
]
]

View File

@ -1,7 +1,7 @@
[
{
"id":"mysql-service",
"id":"MySQL-Service",
"configuration":{
"children":[
{
@ -340,8 +340,32 @@
"layer":"MYSQL",
"entity":"Service",
"name":"MySQL-Service",
"id":"mysql-service",
"isRoot":false
"isRoot":false,
"isDefault": true,
"expressions": [
"avg(meter_mysql_commands_select_rate)",
"avg(meter_mysql_commands_insert_rate)",
"avg(meter_mysql_commands_update_rate)",
"avg(meter_mysql_commands_delete_rate)"
],
"expressionsConfig": [
{
"unit": "rows / s",
"label": "Fetch"
},
{
"unit": "rows / s",
"label": "Insert"
},
{
"unit": "rows / s",
"label": "Update"
},
{
"unit": "rows / s",
"label": "Delete"
}
]
}
}
]
]

View File

@ -339,11 +339,11 @@
"showUnit": true
},
"expressions": [
"meter_vm_memory_swap_percentage/100"
"avg(meter_vm_memory_swap_percentage)/100"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
],
"metricConfig": [
{
@ -368,11 +368,11 @@
"showUnit": true
},
"expressions": [
"meter_vm_memory_used/1024/1024"
"avg(meter_vm_memory_used)/1024/1024"
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
],
"metricConfig": [
{
@ -401,7 +401,7 @@
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
],
"metricConfig": [
{

View File

@ -182,7 +182,7 @@
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
],
"metricConfig": [{
"unit": "%"
@ -209,7 +209,7 @@
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
],
"metricConfig": [{
"unit": "MB"
@ -236,7 +236,7 @@
],
"metricMode": "Expression",
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
],
"metricConfig": [{
"unit": "%"

View File

@ -1,7 +1,7 @@
[
{
"id":"postgresql-instance",
"id":"PostgreSQL-Instance",
"configuration":{
"children":[
{
@ -18,14 +18,19 @@
"showUnit":true
},
"widget":{
"title":"Shared Buffers (MB)"
"title":"Shared Buffers"
},
"metricConfig": [
{
"unit": "MB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_shared_buffers/1024/1024"
"latest(meter_pg_instance_shared_buffers)/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -42,14 +47,19 @@
"showUnit":true
},
"widget":{
"title":"Effective Cache (GB)"
"title":"Effective Cache"
},
"metricConfig": [
{
"unit": "GB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_effective_cache/1024/1024/1024"
"latest(meter_pg_instance_effective_cache)/1024/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -66,14 +76,19 @@
"showUnit":true
},
"widget":{
"title":"Maintenance Work Mem (MB)"
"title":"Maintenance Work Mem"
},
"metricConfig": [
{
"unit": "MB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_maintenance_work_mem/1024/1024"
"latest(meter_pg_instance_maintenance_work_mem)/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -90,11 +105,16 @@
"showUnit":true
},
"widget":{
"title":"Work Mem (MB)"
"title":"Work Mem"
},
"metricConfig": [
{
"unit": "MB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_work_mem/1024/1024"
"latest(meter_pg_instance_work_mem)/1024/1024"
]
},
{
@ -115,7 +135,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_seq_page_cost"
"latest(meter_pg_instance_seq_page_cost)"
],
"typesOfMQE":[
"UNKNOWN"
@ -139,10 +159,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_random_page_cost"
"latest(meter_pg_instance_random_page_cost)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -159,14 +179,19 @@
"showUnit":true
},
"widget":{
"title":"Max WAL Size (GB)"
"title":"Max WAL Size"
},
"metricConfig": [
{
"unit": "GB"
}
],
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_max_wal_size/1024/1024/1024"
"latest(meter_pg_instance_max_wal_size)/1024/1024/1024"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -187,10 +212,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_max_parallel_workers"
"latest(meter_pg_instance_max_parallel_workers)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -211,7 +236,7 @@
},
"metricMode":"Expression",
"expressions":[
"meter_pg_instance_max_worker_processes"
"latest(meter_pg_instance_max_worker_processes)"
]
},
{
@ -644,7 +669,32 @@
"layer":"POSTGRESQL",
"entity":"ServiceInstance",
"name":"PostgreSQL-Instance",
"id":"postgresql-instance"
"isRoot": false,
"isDefault": true,
"expressions": [
"avg(aggregate_labels(meter_pg_instance_fetched_rows_rate,sum))",
"avg(aggregate_labels(meter_pg_instance_inserted_rows_rate,sum))",
"avg(aggregate_labels(meter_pg_instance_updated_rows_rate,sum))",
"avg(aggregate_labels(meter_pg_instance_deleted_rows_rate,sum))"
],
"expressionsConfig": [
{
"unit": "rows / s",
"label": "Fetch"
},
{
"unit": "rows / s",
"label": "Insert"
},
{
"unit": "rows / s",
"label": "Update"
},
{
"unit": "rows / s",
"label": "Delete"
}
]
}
}
]
]

View File

@ -1,7 +1,7 @@
[
{
"id":"postgresql-root",
"id":"PostgreSQL-Root",
"configuration":{
"children":[
{
@ -41,8 +41,7 @@
"layer":"POSTGRESQL",
"entity":"All",
"name":"PostgreSQL-Root",
"id":"postgresql-root",
"isRoot":true
}
}
]
]

View File

@ -1,7 +1,7 @@
[
{
"id":"postgresql-service",
"id":"PostgreSQL-Service",
"configuration":{
"children":[
{
@ -498,7 +498,31 @@
"layer":"POSTGRESQL",
"entity":"Service",
"name":"PostgreSQL-Service",
"id":"postgresql-service"
"isDefault": true,
"expressions": [
"avg(meter_pg_fetched_rows_rate)",
"avg(meter_pg_inserted_rows_rate)",
"avg(meter_pg_updated_rows_rate)",
"avg(meter_pg_deleted_rows_rate)"
],
"expressionsConfig": [
{
"unit": "rows / s",
"label": "Fetch"
},
{
"unit": "rows / s",
"label": "Insert"
},
{
"unit": "rows / s",
"label": "Update"
},
{
"unit": "rows / s",
"label": "Delete"
}
]
}
}
]
]

View File

@ -26,10 +26,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_queue_messages_ready"
"latest(meter_rabbitmq_node_queue_messages_ready)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -55,10 +55,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_incoming_messages"
"latest(meter_rabbitmq_node_incoming_messages)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -84,10 +84,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_unacknowledged_messages"
"latest(meter_rabbitmq_node_unacknowledged_messages)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -113,10 +113,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_outgoing_messages_total"
"latest(meter_rabbitmq_node_outgoing_messages_total)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -142,10 +142,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_connections_total"
"latest(meter_rabbitmq_node_connections_total)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -171,10 +171,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_publisher_total"
"latest(meter_rabbitmq_node_publisher_total)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -200,10 +200,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_consumer_total"
"latest(meter_rabbitmq_node_consumer_total)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -229,10 +229,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_channel_total"
"latest(meter_rabbitmq_node_channel_total)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -258,10 +258,10 @@
"metricMode": "Expression",
"metricConfig": [],
"expressions": [
"meter_rabbitmq_node_queue_total"
"latest(meter_rabbitmq_node_queue_total)"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -291,10 +291,10 @@
],
"metricMode": "Expression",
"expressions": [
"meter_rabbitmq_node_allocated_used_percent/100"
"latest(meter_rabbitmq_node_allocated_used_percent)/100"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -324,10 +324,10 @@
],
"metricMode": "Expression",
"expressions": [
"meter_rabbitmq_node_allocated_used_bytes/1024/1204"
"latest(meter_rabbitmq_node_allocated_used_bytes)/1024/1204"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -357,10 +357,10 @@
],
"metricMode": "Expression",
"expressions": [
"meter_rabbitmq_node_allocated_unused_bytes/1024/1024"
"latest(meter_rabbitmq_node_allocated_unused_bytes)/1024/1024"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -390,10 +390,10 @@
],
"metricMode": "Expression",
"expressions": [
"meter_rabbitmq_node_process_resident_memory_bytes/1024/1024"
"latest(meter_rabbitmq_node_process_resident_memory_bytes)/1024/1024"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -423,10 +423,10 @@
],
"metricMode": "Expression",
"expressions": [
"meter_rabbitmq_node_allocated_unused_percent/100"
"latest(meter_rabbitmq_node_allocated_unused_percent)/100"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -456,10 +456,10 @@
],
"metricMode": "Expression",
"expressions": [
"meter_rabbitmq_node_allocated_total_bytes/1024/1024"
"latest(meter_rabbitmq_node_allocated_total_bytes)/1024/1024"
],
"typesOfMQE": [
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{

View File

@ -22,10 +22,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_redis_instance_uptime/3600/24"
"latest(meter_redis_instance_uptime)/3600/24"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -46,10 +46,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_redis_instance_connected_clients"
"latest(meter_redis_instance_connected_clients)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -156,10 +156,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_redis_instance_memory_max_bytes/1000/1000"
"latest(meter_redis_instance_memory_max_bytes)/1000/1000"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -257,10 +257,10 @@
},
"metricMode":"Expression",
"expressions":[
"meter_redis_instance_redis_blocked_clients"
"latest(meter_redis_instance_redis_blocked_clients)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
"SINGLE_VALUE"
]
},
{
@ -323,4 +323,4 @@
"isRoot":false
}
}
]
]

View File

@ -33,7 +33,7 @@
},
"metricMode":"Expression",
"expressions":[
"max(meter_redis_uptime)/3600/24"
"latest(meter_redis_uptime)/3600/24"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -57,7 +57,7 @@
},
"metricMode":"Expression",
"expressions":[
"avg(meter_redis_connected_clients)"
"latest(meter_redis_connected_clients)"
],
"typesOfMQE":[
"TIME_SERIES_VALUES"
@ -244,7 +244,7 @@
},
"metricMode":"Expression",
"expressions":[
"avg(meter_redis_blocked_clients)"
"latest(meter_redis_blocked_clients)"
],
"typesOfMQE":[
"SINGLE_VALUE"
@ -360,4 +360,4 @@
"isRoot":false
}
}
]
]

View File

@ -561,7 +561,22 @@
"entity": "ServiceInstance",
"name": "Self-Observability-OAP-Instance",
"id": "Self-Observability-OAP-Instance",
"isRoot": false
"isRoot": false,
"isDefault": true,
"expressions": [
"avg(meter_oap_instance_cpu_percentage)",
"avg(meter_oap_instance_persistence_execute_count)"
],
"expressionsConfig": [
{
"unit": "%",
"label": "CPU Avg Usage"
},
{
"unit": "count / 5min",
"label": "Persistence Count"
}
]
}
}
]

View File

@ -63,7 +63,8 @@
"layer": "SO11Y_OAP",
"entity": "Service",
"name": "Self-Observability-OAP-Service",
"isRoot": true
"isRoot": true,
"isDefault": true
}
}
]

View File

@ -195,8 +195,27 @@
"layer": "VIRTUAL_DATABASE",
"entity": "Service",
"name": "Virtual-Database-Service",
"id": "Virtual-Database-Service",
"isRoot": false
"isRoot": false,
"isDefault": true,
"expressions": [
"avg(database_access_resp_time)",
"avg(database_access_sla)/100",
"avg(database_access_cpm)"
],
"expressionsConfig": [
{
"unit": "ms",
"label": "Latency"
},
{
"unit": "%",
"label": "Successful Rate"
},
{
"unit": "calls / min",
"label": "Traffic"
}
]
}
}
]

View File

@ -14,7 +14,7 @@
# limitations under the License.
# Use the Bitnami Kafka image as the base image
FROM bitnami/kafka:latest
FROM bitnami/kafka:2.4.1
# Download the JMX Prometheus Java Agent and config file
ADD https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.18.0/jmx_prometheus_javaagent-0.18.0.jar /etc/jmx_prometheus_javaagent-0.18.0.jar

View File

@ -26,7 +26,7 @@ services:
- e2e
zookeeper:
image: zookeeper:latest
image: zookeeper:3.4
expose:
- 2181
networks:
@ -94,7 +94,7 @@ services:
retries: 120
kafka-producer-perf-test:
image: bitnami/kafka:latest
image: bitnami/kafka:2.4.1
networks:
- e2e
depends_on:
@ -107,7 +107,7 @@ services:
kafka-producer-perf-test.sh --topic perftest --num-records 100000 --record-size 100 --throughput 500 --producer-props bootstrap.servers=broker1:9092,broker2:9093
kafka-consumer-perf-test:
image: bitnami/kafka:latest
image: bitnami/kafka:2.4.1
networks:
- e2e
depends_on: