master
yaml 278 lines 9.81 KB
Raw
1 plugin_name: go.d.plugin
2 modules:
3 - meta:
4 plugin_name: go.d.plugin
5 module_name: tomcat
6 monitored_instance:
7 name: Tomcat
8 link: "https://tomcat.apache.org/"
9 categories:
10 - data-collection.web-servers-and-proxies
11 icon_filename: "tomcat.svg"
12 related_resources:
13 integrations:
14 list: []
15 info_provided_to_referring_integrations:
16 description: ""
17 keywords:
18 - apache
19 - tomcat
20 - webserver
21 - websocket
22 - jakarta
23 - javaEE
24 overview:
25 data_collection:
26 metrics_description: |
27 This collector monitors Tomcat metrics about bandwidth, processing time, threads and more.
28 method_description: |
29 It parses the information provided by the [Server Status](https://tomcat.apache.org/tomcat-10.0-doc/manager-howto.html#Server_Status) HTTP endpoint.
30 supported_platforms:
31 include: []
32 exclude: []
33 multi_instance: true
34 additional_permissions:
35 description: >
36 By default, this Tomcat collector cannot access the server's status page.
37 To enable data collection, you will need to configure access credentials with appropriate permissions.
38 default_behavior:
39 auto_detection:
40 description: >
41 If the Netdata Agent and Tomcat are on the same host, the collector will attempt to connect to the Tomcat server's status page at `http://localhost:8080/manager/status?XML=true`.
42 limits:
43 description: ""
44 performance_impact:
45 description: ""
46 setup:
47 prerequisites:
48 list:
49 - title: Access to Tomcat Status Endpoint
50 description: |
51 The Netdata Agent needs read-only access to its status endpoint to collect data from the Tomcat server.
52
53 You can achieve this by creating a dedicated user named `netdata` with read-only permissions specifically for accessing the [Server Status](https://tomcat.apache.org/tomcat-10.0-doc/manager-howto.html#Server_Status) endpoint.
54
55 Once you've created the `netdata` user, you'll need to configure the username and password in the collector configuration file.
56 configuration:
57 file:
58 name: "go.d/tomcat.conf"
59 options:
60 description: |
61 The following options can be defined globally: update_every, autodetection_retry.
62 folding:
63 title: "Config options"
64 enabled: true
65 list:
66 - name: update_every
67 description: Data collection interval (seconds).
68 default_value: 1
69 required: false
70 group: Collection
71 - name: autodetection_retry
72 description: Autodetection retry interval (seconds). Set 0 to disable.
73 default_value: 0
74 required: false
75 group: Collection
76
77 - name: url
78 description: Target endpoint URL.
79 default_value: http://127.0.0.1:8080
80 required: true
81 group: Target
82 - name: timeout
83 description: HTTP request timeout (seconds).
84 default_value: 1
85 required: false
86 group: Target
87
88 - name: username
89 description: Username for Basic HTTP authentication.
90 default_value: ""
91 required: false
92 group: HTTP Auth
93 - name: password
94 description: Password for Basic HTTP authentication.
95 default_value: ""
96 required: false
97 group: HTTP Auth
98 - name: bearer_token_file
99 description: "Path to a file containing a bearer token (used for `Authorization: Bearer`)."
100 default_value: ""
101 required: false
102 group: HTTP Auth
103
104 - name: tls_skip_verify
105 description: Skip TLS certificate and hostname verification (insecure).
106 default_value: no
107 required: false
108 group: TLS
109 - name: tls_ca
110 description: Path to CA bundle used to validate the server certificate.
111 default_value: ""
112 required: false
113 group: TLS
114 - name: tls_cert
115 description: Path to client TLS certificate (for mTLS).
116 default_value: ""
117 required: false
118 group: TLS
119 - name: tls_key
120 description: Path to client TLS private key (for mTLS).
121 default_value: ""
122 required: false
123 group: TLS
124
125 - name: proxy_url
126 description: HTTP proxy URL.
127 default_value: ""
128 required: false
129 group: Proxy
130 - name: proxy_username
131 description: Username for proxy Basic HTTP authentication.
132 default_value: ""
133 required: false
134 group: Proxy
135 - name: proxy_password
136 description: Password for proxy Basic HTTP authentication.
137 default_value: ""
138 required: false
139 group: Proxy
140
141 - name: method
142 description: HTTP method to use.
143 default_value: "GET"
144 required: false
145 group: Request
146 - name: body
147 description: Request body (e.g., for POST/PUT).
148 default_value: ""
149 required: false
150 group: Request
151 - name: headers
152 description: "Additional HTTP headers (one per line as key: value)."
153 default_value: ""
154 required: false
155 group: Request
156 - name: not_follow_redirects
157 description: Do not follow HTTP redirects.
158 default_value: no
159 required: false
160 group: Request
161 - name: force_http2
162 description: Force HTTP/2 (including h2c over TCP).
163 default_value: no
164 required: false
165 group: Request
166
167 - name: vnode
168 description: Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).
169 default_value: ""
170 required: false
171 group: Virtual Node
172 examples:
173 folding:
174 enabled: true
175 title: "Config"
176 list:
177 - name: Basic
178 description: A basic example configuration.
179 folding:
180 enabled: false
181 config: |
182 jobs:
183 - name: local
184 url: http://127.0.0.1:8080
185 username: John
186 password: Doe
187 - name: Multi-instance
188 description: |
189 > **Note**: When you define multiple jobs, their names must be unique.
190
191 Collecting metrics from local and remote instances.
192 config: |
193 jobs:
194 - name: local
195 url: http://127.0.0.1:8080
196 username: admin1
197 password: hackme1
198
199 - name: remote
200 url: http://192.0.2.1:8080
201 username: admin2
202 password: hackme2
203 troubleshooting:
204 problems:
205 list: []
206 alerts: []
207 metrics:
208 folding:
209 title: Metrics
210 enabled: false
211 description: ""
212 availability: []
213 scopes:
214 - name: global
215 description: "These metrics refer to the entire monitored application."
216 labels: []
217 metrics:
218 - name: tomcat.jvm_memory_usage
219 description: Requests
220 unit: bytes
221 chart_type: stacked
222 dimensions:
223 - name: free
224 - name: used
225 - name: jvm memory pool
226 description: "These metrics refer to the JVM memory pool."
227 labels:
228 - name: mempool_name
229 description: Memory Pool name.
230 - name: mempool_type
231 description: Memory Pool type.
232 metrics:
233 - name: tomcat.jvm_mem_pool_memory_usage
234 description: JVM Mem Pool Memory Usage
235 unit: bytes
236 chart_type: area
237 dimensions:
238 - name: commited
239 - name: used
240 - name: max
241 - name: connector
242 description: "These metrics refer to the connector."
243 labels:
244 - name: connector_name
245 description: Connector name.
246 metrics:
247 - name: tomcat.connector_requests
248 description: Connector Requests
249 unit: requests/s
250 chart_type: line
251 dimensions:
252 - name: requests
253 - name: tomcat.connector_bandwidth
254 description: Connector Bandwidth
255 unit: bytes/s
256 chart_type: area
257 dimensions:
258 - name: received
259 - name: sent
260 - name: tomcat.connector_requests_processing_time
261 description: Connector Requests Processing Time
262 unit: milliseconds
263 chart_type: line
264 dimensions:
265 - name: processing_time
266 - name: tomcat.connector_errors
267 description: Connector Errors
268 unit: errors/s
269 chart_type: line
270 dimensions:
271 - name: errors
272 - name: tomcat.connector_request_threads
273 description: Connector Request Threads
274 unit: threads
275 chart_type: stacked
276 dimensions:
277 - name: idle
278 - name: busy