-
Notifications
You must be signed in to change notification settings - Fork 2
/
jmx_exporter.yaml
210 lines (198 loc) · 10 KB
/
jmx_exporter.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
---
lowercaseOutputName: true
lowercaseOutputLabelNames: true
blacklistObjectNames:
- puppetserver:name=puppetlabs.puppet5.compiler.evaluate_resource.*
- puppetserver:name=puppetlabs.puppet5.compiler.compile.*
- puppetserver:name=puppetlabs.puppet5.puppetdb.catalog.*
- puppetserver:name=puppetlabs.puppet5.puppetdb.facts.*
whitelistObjectNames:
- puppetserver:name=puppetlabs.puppet5.compiler
- puppetserver:name=puppetlabs.puppet5.compiler.*
- puppetserver:name=puppetlabs.puppet5.functions
# - puppetserver:name=puppetlabs.puppet5.puppetdb.*
- puppetserver:name=puppetlabs.puppet5.memory.*
- puppetserver:name=puppetlabs.puppet5.jruby.*
- puppetserver:name=puppetlabs.puppet5.http.*
- puppetserver:name=puppetlabs.puppet5.http-client.experimental.with-metric-id.puppetdb.*
- puppetserver:name=puppetlabs.puppet5.uptime
rules:
# Metrics from https://puppet.com/docs/puppetserver/latest/puppet_server_metrics.html#enabling-puppet-servers-graphite-support
## Compiler metrics
# Disabled, since it reports too low values
# - pattern: 'puppetserver<name=puppetlabs.puppet5.compiler><>(Max|Min|Mean$|StdDev|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
# name: puppetserver_compiler_seconds_sum
# type: GAUGE
# help: "Total time spent compiling catalogs. This metric represents the sum of the compiler.compile, static_compile, find_facts, and find_node fields."
# valueFactor: 0.001
# labels:
# measurement: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.compiler.([\w-]+)><>(Max|Min|Mean$|StdDev|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_compiler_seconds
type: GAUGE
help: "Time spent parsing/retrieving/compiling catalogs."
valueFactor: 0.001
labels:
function: "$1"
measurement: "$2"
## Function metrics
- pattern: 'puppetserver<name=puppetlabs.puppet5.functions><>(Max|Min|Mean$|StdDev|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_functions_seconds
type: GAUGE
help: "The amount of time during catalog compilation spent in function calls."
valueFactor: 0.001
labels:
measurement: "$1"
## HTTP metrics
# ## Not working, doesn't export metrics with * in them
# # - pattern: 'puppetserver<name="puppetlabs.puppet5.http.(puppet.+requests)"><>(Max|Min|Mean$|StdDev|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
# # name: puppetserver_http_requests_duration_seconds_a
# # type: GAUGE
# # help: "The time spent handling requests."
# # valueFactor: 0.001
# # labels:
# # endpoint: "$1"
# # measurement: "$2"
# - pattern: 'puppetserver<name=puppetlabs.puppet5.http.(puppet.+requests)><>(Max|Min|Mean$|StdDev|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
# name: puppetserver_http_requests_duration_seconds
# type: GAUGE
# help: "The time spent handling requests."
# valueFactor: 0.001
# labels:
# endpoint: "$1"
# measurement: "$2"
- pattern: 'puppetserver<name=puppetlabs.puppet5.http.total-requests><>(Max|Min|Mean$|StdDev|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_http_requests_duration_seconds
type: GAUGE
help: "The time spent handling requests."
valueFactor: 0.001
labels:
endpoint: "total"
measurement: "$1"
## JRuby metrics
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.borrow-timer><>(Max|Min|Mean$|StdDev|Count|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_jruby_borrow_timer
type: GAUGE
help: "The time spent with a borrowed JRuby."
valueFactor: 0.001
labels:
measurement: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.free-jrubies-histo><>(Max|Min|Mean$|StdDev|Count|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_jruby_free_jrubies_histo
type: GAUGE
help: "A histogram of free JRubies over time. This metric’s average value should greater than 1; if it isn’t, more JRubies or another compile master might be needed to keep up with requests."
valueFactor: 0.001
labels:
measurement: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.lock-held-timer><>(Max|Min|Mean$|StdDev|Count|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_jruby_lock_held_timer
type: GAUGE
help: "The time spent holding the JRuby lock."
valueFactor: 0.001
labels:
measurement: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.lock-wait-timer><>(Max|Min|Mean$|StdDev|Count|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_jruby_lock_wait_timer
type: GAUGE
help: "The time spent waiting to acquire the JRuby lock."
valueFactor: 0.001
labels:
measurement: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.requested-jrubies-histo><>(Max|Min|Mean$|StdDev|Count|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_jruby_requested_jrubies_histo
type: GAUGE
help: "A histogram of requested JRubies over time. This increases as the number of free JRubies, or the free-jrubies-histo metric, decreases, which can suggest that the server’s capacity is being depleted."
valueFactor: 0.001
labels:
measurement: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.wait-timer><>(Max|Min|Mean$|StdDev|Count|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_jruby_wait_timer
type: GAUGE
help: "The time spent waiting to borrow a JRuby."
valueFactor: 0.001
labels:
measurement: "$1"
# PuppetDB metrics
# puppetserver_puppetdb_duration_seconds{function="facts",measurement="Mean",} 0.08795445645602212
- pattern: 'puppetserver<name=puppetlabs.puppet5.http-client.experimental.with-metric-id.puppetdb.(.+).full-response><>(Max|Min|Mean$|StdDev|Count|50thPercentile|75thPercentile|95thPercentile|99thPercentile)'
name: puppetserver_puppetdb_duration_seconds
type: GAUGE
help: "Time that Puppet Server spends sending or receiving data from PuppetDB."
valueFactor: 0.001
labels:
function: "$1"
measurement: "$2"
# Counters only
## HTTP metrics
- pattern: 'puppetserver<name=puppetlabs.puppet5.http.active-requests><>Count'
name: puppetserver_http_requests_active
type: GAUGE
help: "The number of active HTTP requests."
- pattern: 'puppetserver<name=puppetlabs.puppet5.http.total-requests><>Count'
name: puppetserver_http_requests_total
type: COUNTER
help: "The number of active HTTP requests."
- pattern: 'puppetserver<name=puppetlabs.puppet5.http.(puppet.+percentage)><>Value'
name: puppetserver_http_requests_percentage
type: GAUGE
help: "Percentage of each HTTP API endpoint’s share of total handled HTTP requests."
labels:
endpoint: "$1"
## JRuby metrics
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.borrow-count><>Count'
name: puppetserver_jruby_borrow_count
type: COUNTER
help: "The number of successfully borrowed JRubies."
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.borrow-retry-count><>Count'
name: puppetserver_jruby_borrow_retry_count
type: COUNTER
help: "The number of attempts to borrow a JRuby that must be retried."
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.borrow-timeout-count><>Count'
name: puppetserver_jruby_borrow_timeout_count
type: COUNTER
help: "The number of attempts to borrow a JRuby that resulted in a timeout."
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.request-count><>Count'
name: puppetserver_jruby_request_count
type: COUNTER
help: "The number of requested JRubies."
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.return-count><>Count'
name: puppetserver_jruby_return_count
type: COUNTER
help: "The number of JRubies successfully returned to the pool."
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.num-free-jrubies><>Value'
name: puppetserver_jruby_num_free_jrubies
type: COUNTER
help: "The number of free JRuby instances. If this number is often 0, more requests are coming in than the server has available JRuby instances. To alleviate this, increase the number of JRuby instances on the Server or add additional compile masters."
- pattern: 'puppetserver<name=puppetlabs.puppet5.jruby.num-jrubies><>Value'
name: puppetserver_jruby_num_jrubies
type: COUNTER
help: "The total number of JRuby instances on the server, governed by the max-active-instances setting. See Tuning JRuby on Puppet Server for details."
## Other metrics
- pattern: 'puppetserver<name=puppetlabs.puppet5.uptime><>Value'
name: puppetserver_uptime
type: COUNTER
help: "Puppet Server process’s uptime."
- pattern: 'puppetserver<name=puppetlabs.puppet5.memory.([\w-]+).used><>Value'
name: puppetserver_memory_bytes_used
type: GAUGE
help: "Used bytes of a given JVM memory area."
labels:
area: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.memory.([\w-]+).committed><>Value'
name: puppetserver_memory_bytes_committed
type: GAUGE
help: "Committed bytes of memory."
labels:
area: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.memory.([\w-]+).init><>Value'
name: puppetserver_memory_bytes_init
type: GAUGE
help: "Initialized bytes of memory."
labels:
area: "$1"
- pattern: 'puppetserver<name=puppetlabs.puppet5.memory.([\w-]+).max><>Value'
name: puppetserver_memory_bytes_max
type: GAUGE
help: "Maximum amount of memory that can be used."
labels:
area: "$1"