@@ -34,6 +34,7 @@ public class PrometheusSettings {
34
34
static String PROMETHEUS_CLUSTER_SETTINGS_KEY = "prometheus.cluster.settings" ;
35
35
static String PROMETHEUS_INDICES_KEY = "prometheus.indices" ;
36
36
static String PROMETHEUS_NODES_FILTER_KEY = "prometheus.nodes.filter" ;
37
+ static String PROMETHEUS_INDICES_FILTER_KEY = "prometheus.indices_filter" ;
37
38
38
39
/**
39
40
* This setting is used configure weather to expose cluster settings metrics or not. The default value is true.
@@ -59,9 +60,18 @@ public class PrometheusSettings {
59
60
Setting .simpleString (PROMETHEUS_NODES_FILTER_KEY , "_local" ,
60
61
Setting .Property .Dynamic , Setting .Property .NodeScope );
61
62
63
+ /**
64
+ * This setting is used configure to filter indices statistics with indices starting with prefixes. The default value is "".
65
+ * Can be configured in opensearch.yml file or update dynamically under key {@link #PROMETHEUS_INDICES_FILTER_KEY}.
66
+ */
67
+ public static final Setting <String > PROMETHEUS_INDICES_FILTER =
68
+ Setting .simpleString (PROMETHEUS_INDICES_FILTER_KEY , "" ,
69
+ Setting .Property .Dynamic , Setting .Property .NodeScope );
70
+
62
71
private volatile boolean clusterSettings ;
63
72
private volatile boolean indices ;
64
73
private volatile String nodesFilter ;
74
+ private volatile String indicesFilter ;
65
75
66
76
/**
67
77
* A constructor.
@@ -72,9 +82,11 @@ public PrometheusSettings(Settings settings, ClusterSettings clusterSettings) {
72
82
setPrometheusClusterSettings (PROMETHEUS_CLUSTER_SETTINGS .get (settings ));
73
83
setPrometheusIndices (PROMETHEUS_INDICES .get (settings ));
74
84
setPrometheusNodesFilter (PROMETHEUS_NODES_FILTER .get (settings ));
85
+ setPrometheusIndicesFilter (PROMETHEUS_INDICES_FILTER .get (settings ));
75
86
clusterSettings .addSettingsUpdateConsumer (PROMETHEUS_CLUSTER_SETTINGS , this ::setPrometheusClusterSettings );
76
87
clusterSettings .addSettingsUpdateConsumer (PROMETHEUS_INDICES , this ::setPrometheusIndices );
77
88
clusterSettings .addSettingsUpdateConsumer (PROMETHEUS_NODES_FILTER , this ::setPrometheusNodesFilter );
89
+ clusterSettings .addSettingsUpdateConsumer (PROMETHEUS_INDICES_FILTER , this ::setPrometheusIndicesFilter );
78
90
}
79
91
80
92
private void setPrometheusClusterSettings (boolean flag ) {
@@ -87,6 +99,10 @@ private void setPrometheusIndices(boolean flag) {
87
99
88
100
private void setPrometheusNodesFilter (String filter ) { this .nodesFilter = filter ; }
89
101
102
+ private void setPrometheusIndicesFilter (String indicesFilter ) {
103
+ this .indicesFilter = indicesFilter ;
104
+ }
105
+
90
106
/**
91
107
* Get value of settings key {@link #PROMETHEUS_CLUSTER_SETTINGS_KEY}.
92
108
* @return boolean value of the key
@@ -108,4 +124,12 @@ public boolean getPrometheusIndices() {
108
124
* @return boolean value of the key
109
125
*/
110
126
public String getNodesFilter () { return this .nodesFilter ; }
127
+
128
+ /**
129
+ * Get value of settings key {@link #PROMETHEUS_INDICES_FILTER_KEY}.
130
+ * @return string value of the key
131
+ */
132
+ public String getPrometheusIndicesFilter () {
133
+ return this .indicesFilter ;
134
+ }
111
135
}
0 commit comments