From e45c5b2d7f8b5d15e6138c95f2feb50802710c5b Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Thu, 13 Sep 2018 16:47:51 +0300 Subject: [PATCH 1/9] Add Apache Ingnite basic JMX metrics configuration Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 example_configs/ignite_2.6.0.yml diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml new file mode 100644 index 00000000..e69de29b From 7f63d600e1877bdabeceb2d3ff9565387b168086 Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Thu, 13 Sep 2018 16:52:42 +0300 Subject: [PATCH 2/9] Add Apache Ingnite basic JMX metrics configuration Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 95 ++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml index e69de29b..aa49c84c 100644 --- a/example_configs/ignite_2.6.0.yml +++ b/example_configs/ignite_2.6.0.yml @@ -0,0 +1,95 @@ +# 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. + +# +# +# +lowercaseOutputLabelNames: true +lowercaseOutputName: true +rules: +# Apache Ignite provide runtime information on a cluster. Keep in mind that there will be a certain +# network delay (usually equal to metrics update delay). +# +# see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/cluster/ClusterMetrics.html +- pattern: "^org.apache<>(HeapMemory.*):" + name: ignite_cluster_heap_$1 + help: Ignite cluster amount of heap memory in bytes + labels: + attr: $3 + type: GAUGE +- pattern: "^org.apache<>(NonHeapMemory.*):" + name: ignite_cluster_nonheap_$1 + help: Ignite cluster amount of non-heap memory in bytes + labels: + attr: $3 + type: GAUGE +- pattern: "^org.apache<>(.*Jobs):" + name: ignite_cluster_job_$1 + help: Ignite cluster job detalization + labels: + attr: $3 + type: COUNTER +# Apache Ignite durable memory can be monitored via data region metrics which will help track overall +# memory utilization and measure its cluster performance. +# +# see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/DataRegionMetricsMXBean.html +- pattern: "^org.apache<>(.*Pages|AllocationRate):" + name: ignite_dataregion_pages_$2_$1 + help: Ignite durable memory pages currently loaded in RAM + labels: + attr: $3 +- pattern: "^org.apache<>(Off[Hh]eap.*|MaxSize|PhysicalMemorySize|TotalAllocatedSize):" + name: ignite_dataregion_memory_$2_$1 + help: Ignite durable memory size metrics + labels: + attr: $3 + type: GAUGE +# Apache Ignite provides a set of metrics for persistence when it's enabled for a specific data region. +# +# see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/DataStorageMetricsMXBean.html +- pattern: "^org.apache<>(Wal.*):" + name: ignite_persistence_wal_$1 + help: Ignite WAL metrics + labels: + attr: $2 +- pattern: "^org.apache<>(LastCheckpoint.*):" + name: ignite_persistence_checkpoint_$1 + help: Ignite persistence last checkpoint metrics + labels: + attr: $2 + type: COUNTER +# Apache Ignite allows to keep an eye on the distributed cache specific statistics available. +# +# see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/CacheMetricsMXBean.html +- pattern: "^org.apache<>(Rebalancing.*Rate):" + name: ignite_$1_rebalance_$2 + help: Ignite cache $2 rebalancing rate + labels: + cache: $2 + attr: $4 +- pattern: "^org.apache<>(RebalanceClearingPartitionsLeft|KeysToRebalanceLeft):" + name: ignite_$1_rebalance_left_$2 + help: Ignite cache $2 rebalancing data left + labels: + cache: $2 + attr: $4 + type: COUNTER +- pattern: "^org.apache<>(Cache.*):" + name: ignite_$1_cache_operations_$2 + help: Ignite cache $2 operations metrics + labels: + cache: $2 + attr: $4 + type: COUNTER \ No newline at end of file From 743003da6922b3a7097090fd2bfaef2fadeb9d16 Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Thu, 13 Sep 2018 19:39:58 +0300 Subject: [PATCH 3/9] Update metrics after review Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 57 +++++++++++--------------------- 1 file changed, 20 insertions(+), 37 deletions(-) diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml index aa49c84c..6a253b0a 100644 --- a/example_configs/ignite_2.6.0.yml +++ b/example_configs/ignite_2.6.0.yml @@ -1,21 +1,3 @@ -# 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. - -# -# -# lowercaseOutputLabelNames: true lowercaseOutputName: true rules: @@ -23,20 +5,20 @@ rules: # network delay (usually equal to metrics update delay). # # see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/cluster/ClusterMetrics.html -- pattern: "^org.apache<>(HeapMemory.*):" - name: ignite_cluster_heap_$1 +- pattern: "^org.apache<>(HeapMemory.*):" + name: ignite_$1_$2_heap_bytes help: Ignite cluster amount of heap memory in bytes labels: attr: $3 type: GAUGE -- pattern: "^org.apache<>(NonHeapMemory.*):" - name: ignite_cluster_nonheap_$1 +- pattern: "^org.apache<>(NonHeapMemory.*):" + name: ignite_$1_$2_nonheap_bytes help: Ignite cluster amount of non-heap memory in bytes labels: attr: $3 type: GAUGE -- pattern: "^org.apache<>(.*Jobs):" - name: ignite_cluster_job_$1 +- pattern: "^org.apache<>(.*Jobs):" + name: ignite_$1_$2_job_total help: Ignite cluster job detalization labels: attr: $3 @@ -46,26 +28,27 @@ rules: # # see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/DataRegionMetricsMXBean.html - pattern: "^org.apache<>(.*Pages|AllocationRate):" - name: ignite_dataregion_pages_$2_$1 + name: ignite_$1_$2_pages_total help: Ignite durable memory pages currently loaded in RAM labels: attr: $3 + type: GAUGE - pattern: "^org.apache<>(Off[Hh]eap.*|MaxSize|PhysicalMemorySize|TotalAllocatedSize):" - name: ignite_dataregion_memory_$2_$1 - help: Ignite durable memory size metrics + name: ignite_$1_$2_pages_bytes + help: Ignite durable memory pages size metrics in bytes labels: attr: $3 type: GAUGE # Apache Ignite provides a set of metrics for persistence when it's enabled for a specific data region. # # see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/DataStorageMetricsMXBean.html -- pattern: "^org.apache<>(Wal.*):" - name: ignite_persistence_wal_$1 +- pattern: "^org.apache<>(Wal.*):" + name: ignite_$1_$2_pds_wal help: Ignite WAL metrics labels: attr: $2 -- pattern: "^org.apache<>(LastCheckpoint.*):" - name: ignite_persistence_checkpoint_$1 +- pattern: "^org.apache<>(LastCheckpoint.*):" + name: ignite_$1_$2_pds_checkpoint help: Ignite persistence last checkpoint metrics labels: attr: $2 @@ -73,21 +56,21 @@ rules: # Apache Ignite allows to keep an eye on the distributed cache specific statistics available. # # see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/CacheMetricsMXBean.html -- pattern: "^org.apache<>(Rebalancing.*Rate):" - name: ignite_$1_rebalance_$2 +- pattern: "^org.apache<>(Rebalancing.*Rate):" + name: ignite_$1_$3_$2_rebalance_rate help: Ignite cache $2 rebalancing rate labels: cache: $2 attr: $4 -- pattern: "^org.apache<>(RebalanceClearingPartitionsLeft|KeysToRebalanceLeft):" - name: ignite_$1_rebalance_left_$2 +- pattern: "^org.apache<>(RebalanceClearingPartitionsLeft|KeysToRebalanceLeft):" + name: ignite_$1_$3_$2_rebalance_left help: Ignite cache $2 rebalancing data left labels: cache: $2 attr: $4 type: COUNTER -- pattern: "^org.apache<>(Cache.*):" - name: ignite_$1_cache_operations_$2 +- pattern: "^org.apache<>(Cache.*):" + name: ignite_$1_$3_$2_operations help: Ignite cache $2 operations metrics labels: cache: $2 From 2d57c6724fcaf5d6e4a6877c5422bd0c77d03ad8 Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Thu, 13 Sep 2018 19:50:13 +0300 Subject: [PATCH 4/9] Update metrics after review 2 Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml index 6a253b0a..4eb69c40 100644 --- a/example_configs/ignite_2.6.0.yml +++ b/example_configs/ignite_2.6.0.yml @@ -46,12 +46,12 @@ rules: name: ignite_$1_$2_pds_wal help: Ignite WAL metrics labels: - attr: $2 + attr: $3 - pattern: "^org.apache<>(LastCheckpoint.*):" name: ignite_$1_$2_pds_checkpoint help: Ignite persistence last checkpoint metrics labels: - attr: $2 + attr: $3 type: COUNTER # Apache Ignite allows to keep an eye on the distributed cache specific statistics available. # From 3b94b8f3df8e26a8559c431c55d9b0afad03241d Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Mon, 17 Sep 2018 17:30:26 +0300 Subject: [PATCH 5/9] Update metrics after review 3 Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml index 4eb69c40..9a01c280 100644 --- a/example_configs/ignite_2.6.0.yml +++ b/example_configs/ignite_2.6.0.yml @@ -40,6 +40,7 @@ rules: attr: $3 type: GAUGE # Apache Ignite provides a set of metrics for persistence when it's enabled for a specific data region. +# Note, PDS metrics is disabled by default. Use .enableMetrics() to enable persistence metrics collection on node. # # see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/DataStorageMetricsMXBean.html - pattern: "^org.apache<>(Wal.*):" @@ -54,6 +55,7 @@ rules: attr: $3 type: COUNTER # Apache Ignite allows to keep an eye on the distributed cache specific statistics available. +# Note, cache metrics is disbaled by default. Use .enableStatistics() to enable statistic collection for the cache. # # see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/CacheMetricsMXBean.html - pattern: "^org.apache<>(Rebalancing.*Rate):" From 665e0cf9714f5e6162560bcac4c6480db1f58ec2 Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Mon, 17 Sep 2018 17:46:29 +0300 Subject: [PATCH 6/9] Update metrics after review 4 Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml index 9a01c280..84e5324e 100644 --- a/example_configs/ignite_2.6.0.yml +++ b/example_configs/ignite_2.6.0.yml @@ -22,7 +22,7 @@ rules: help: Ignite cluster job detalization labels: attr: $3 - type: COUNTER + type: GAUGE # Apache Ignite durable memory can be monitored via data region metrics which will help track overall # memory utilization and measure its cluster performance. # @@ -53,7 +53,7 @@ rules: help: Ignite persistence last checkpoint metrics labels: attr: $3 - type: COUNTER + type: GAUGE # Apache Ignite allows to keep an eye on the distributed cache specific statistics available. # Note, cache metrics is disbaled by default. Use .enableStatistics() to enable statistic collection for the cache. # @@ -70,11 +70,11 @@ rules: labels: cache: $2 attr: $4 - type: COUNTER + type: GAUGE - pattern: "^org.apache<>(Cache.*):" name: ignite_$1_$3_$2_operations help: Ignite cache $2 operations metrics labels: cache: $2 attr: $4 - type: COUNTER \ No newline at end of file + type: GAUGE \ No newline at end of file From 464634bd26a4bb27e6307d2c025884617b5ea424 Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Mon, 17 Sep 2018 17:50:44 +0300 Subject: [PATCH 7/9] Update metrics after review 5 Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml index 84e5324e..1b588eab 100644 --- a/example_configs/ignite_2.6.0.yml +++ b/example_configs/ignite_2.6.0.yml @@ -18,7 +18,7 @@ rules: attr: $3 type: GAUGE - pattern: "^org.apache<>(.*Jobs):" - name: ignite_$1_$2_job_total + name: ignite_$1_$2_job help: Ignite cluster job detalization labels: attr: $3 @@ -28,7 +28,7 @@ rules: # # see https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/mxbean/DataRegionMetricsMXBean.html - pattern: "^org.apache<>(.*Pages|AllocationRate):" - name: ignite_$1_$2_pages_total + name: ignite_$1_$2_pages help: Ignite durable memory pages currently loaded in RAM labels: attr: $3 From 3f5789ec2eb97b0ce28252fd54a88dfba18139b7 Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Mon, 17 Sep 2018 17:53:36 +0300 Subject: [PATCH 8/9] Update metrics after review 6 Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml index 1b588eab..43e39ac2 100644 --- a/example_configs/ignite_2.6.0.yml +++ b/example_configs/ignite_2.6.0.yml @@ -77,4 +77,4 @@ rules: labels: cache: $2 attr: $4 - type: GAUGE \ No newline at end of file + type: COUNTER \ No newline at end of file From 6cc565e098071fcb0dc3f866819041d3ad28db9b Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Mon, 17 Sep 2018 18:36:07 +0300 Subject: [PATCH 9/9] Update metrics after review 7 Signed-off-by: Maxim Muzafarov --- example_configs/ignite_2.6.0.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/example_configs/ignite_2.6.0.yml b/example_configs/ignite_2.6.0.yml index 43e39ac2..1e2f811f 100644 --- a/example_configs/ignite_2.6.0.yml +++ b/example_configs/ignite_2.6.0.yml @@ -22,7 +22,6 @@ rules: help: Ignite cluster job detalization labels: attr: $3 - type: GAUGE # Apache Ignite durable memory can be monitored via data region metrics which will help track overall # memory utilization and measure its cluster performance. # @@ -64,6 +63,7 @@ rules: labels: cache: $2 attr: $4 + type: GAUGE - pattern: "^org.apache<>(RebalanceClearingPartitionsLeft|KeysToRebalanceLeft):" name: ignite_$1_$3_$2_rebalance_left help: Ignite cache $2 rebalancing data left @@ -72,7 +72,7 @@ rules: attr: $4 type: GAUGE - pattern: "^org.apache<>(Cache.*):" - name: ignite_$1_$3_$2_operations + name: ignite_$1_$3_$2_operations_total help: Ignite cache $2 operations metrics labels: cache: $2