master
yaml 301 lines 10.4 KB
Raw
1 plugin_name: go.d.plugin
2 modules:
3 - meta:
4 id: collector-go.d.plugin-nginxvts
5 plugin_name: go.d.plugin
6 module_name: nginxvts
7 monitored_instance:
8 name: NGINX VTS
9 link: https://www.nginx.com/
10 icon_filename: nginx.svg
11 categories:
12 - data-collection.web-servers-and-proxies
13 keywords:
14 - webserver
15 related_resources:
16 integrations:
17 list:
18 - plugin_name: go.d.plugin
19 module_name: web_log
20 - plugin_name: go.d.plugin
21 module_name: httpcheck
22 - plugin_name: apps.plugin
23 module_name: apps
24 info_provided_to_referring_integrations:
25 description: ""
26 overview:
27 data_collection:
28 metrics_description: |
29 This collector monitors NGINX servers with [virtual host traffic status module](https://github.com/vozlt/nginx-module-vts).
30 method_description: |
31 It sends HTTP requests to the NGINX VTS location [status](https://github.com/vozlt/nginx-module-vts#synopsis),
32 which is a built-in location that provides metrics about the NGINX VTS server.
33 supported_platforms:
34 include: []
35 exclude: []
36 multi_instance: true
37 additional_permissions:
38 description: ""
39 default_behavior:
40 auto_detection:
41 description: |
42 By default, it detects NGINX instances running on localhost.
43 limits:
44 description: ""
45 performance_impact:
46 description: ""
47 setup:
48 prerequisites:
49 list:
50 - title: Configure nginx-vts module
51 description: |
52 To configure nginx-vts, see the [https://github.com/vozlt/nginx-module-vts#installation).
53 configuration:
54 file:
55 name: go.d/nginxvts.conf
56 options:
57 description: |
58 The following options can be defined globally: update_every, autodetection_retry.
59 folding:
60 title: Config options
61 enabled: true
62 list:
63 - name: update_every
64 description: Data collection interval (seconds).
65 default_value: 1
66 required: false
67 group: Collection
68 - name: autodetection_retry
69 description: Autodetection retry interval (seconds). Set 0 to disable.
70 default_value: 0
71 required: false
72 group: Collection
73
74 - name: url
75 description: Target endpoint URL.
76 default_value: http://localhost/status/format/json
77 required: true
78 group: Target
79 - name: timeout
80 description: HTTP request timeout (seconds).
81 default_value: 1
82 required: false
83 group: Target
84
85 - name: username
86 description: Username for Basic HTTP authentication.
87 default_value: ""
88 required: false
89 group: HTTP Auth
90 - name: password
91 description: Password for Basic HTTP authentication.
92 default_value: ""
93 required: false
94 group: HTTP Auth
95 - name: bearer_token_file
96 description: "Path to a file containing a bearer token (used for `Authorization: Bearer`)."
97 default_value: ""
98 required: false
99 group: HTTP Auth
100
101 - name: tls_skip_verify
102 description: Skip TLS certificate and hostname verification (insecure).
103 default_value: no
104 required: false
105 group: TLS
106 - name: tls_ca
107 description: Path to CA bundle used to validate the server certificate.
108 default_value: ""
109 required: false
110 group: TLS
111 - name: tls_cert
112 description: Path to client TLS certificate (for mTLS).
113 default_value: ""
114 required: false
115 group: TLS
116 - name: tls_key
117 description: Path to client TLS private key (for mTLS).
118 default_value: ""
119 required: false
120 group: TLS
121
122 - name: proxy_url
123 description: HTTP proxy URL.
124 default_value: ""
125 required: false
126 group: Proxy
127 - name: proxy_username
128 description: Username for proxy Basic HTTP authentication.
129 default_value: ""
130 required: false
131 group: Proxy
132 - name: proxy_password
133 description: Password for proxy Basic HTTP authentication.
134 default_value: ""
135 required: false
136 group: Proxy
137
138 - name: method
139 description: HTTP method to use.
140 default_value: "GET"
141 required: false
142 group: Request
143 - name: body
144 description: Request body (e.g., for POST/PUT).
145 default_value: ""
146 required: false
147 group: Request
148 - name: headers
149 description: "Additional HTTP headers (one per line as key: value)."
150 default_value: ""
151 required: false
152 group: Request
153 - name: not_follow_redirects
154 description: Do not follow HTTP redirects.
155 default_value: no
156 required: false
157 group: Request
158 - name: force_http2
159 description: Force HTTP/2 (including h2c over TCP).
160 default_value: no
161 required: false
162 group: Request
163
164 - name: vnode
165 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).
166 default_value: ""
167 required: false
168 group: Virtual Node
169 examples:
170 folding:
171 title: Config
172 enabled: true
173 list:
174 - name: Basic
175 folding:
176 enabled: false
177 description: A basic example configuration.
178 config: |
179 jobs:
180 - name: local
181 url: http://127.0.0.1/status/format/json
182 - name: HTTP authentication
183 description: Basic HTTP authentication.
184 config: |
185 jobs:
186 - name: local
187 url: http://127.0.0.1/server-status?auto
188 username: username
189 password: password
190 - name: HTTPS with self-signed certificate
191 description: |
192 Do not validate server certificate chain and hostname.
193 config: |
194 jobs:
195 - name: local
196 url: https://127.0.0.1/status/format/json
197 tls_skip_verify: yes
198 - name: Multi-instance
199 description: |
200 > **Note**: When you define multiple jobs, their names must be unique.
201
202 Collecting metrics from local and remote instances.
203 config: |
204 jobs:
205 - name: local
206 url: http://127.0.0.1/status/format/json
207
208 - name: remote
209 url: http://192.0.2.1/status/format/json
210 troubleshooting:
211 problems:
212 list: []
213 alerts: []
214 metrics:
215 folding:
216 title: Metrics
217 enabled: false
218 description: ""
219 availability: []
220 scopes:
221 - name: global
222 description: These metrics refer to the entire monitored application.
223 labels: []
224 metrics:
225 - name: nginxvts.requests_total
226 description: Total requests
227 unit: requests/s
228 chart_type: line
229 dimensions:
230 - name: requests
231 - name: nginxvts.active_connections
232 description: Active connections
233 unit: connections
234 chart_type: line
235 dimensions:
236 - name: active
237 - name: nginxvts.connections_total
238 description: Total connections
239 unit: connections/s
240 chart_type: line
241 dimensions:
242 - name: reading
243 - name: writing
244 - name: waiting
245 - name: accepted
246 - name: handled
247 - name: nginxvts.uptime
248 description: Uptime
249 unit: seconds
250 chart_type: line
251 dimensions:
252 - name: uptime
253 - name: nginxvts.shm_usage
254 description: Shared memory size
255 unit: bytes
256 chart_type: line
257 dimensions:
258 - name: max
259 - name: used
260 - name: nginxvts.shm_used_node
261 description: Number of node using shared memory
262 unit: nodes
263 chart_type: line
264 dimensions:
265 - name: used
266 - name: nginxvts.server_requests_total
267 description: Total number of client requests
268 unit: requests/s
269 chart_type: line
270 dimensions:
271 - name: requests
272 - name: nginxvts.server_responses_total
273 description: Total number of responses by code class
274 unit: responses/s
275 chart_type: line
276 dimensions:
277 - name: 1xx
278 - name: 2xx
279 - name: 3xx
280 - name: 4xx
281 - name: 5xx
282 - name: nginxvts.server_traffic_total
283 description: Total amount of data transferred to and from the server
284 unit: bytes/s
285 chart_type: line
286 dimensions:
287 - name: in
288 - name: out
289 - name: nginxvts.server_cache_total
290 description: Total server cache
291 unit: events/s
292 chart_type: line
293 dimensions:
294 - name: miss
295 - name: bypass
296 - name: expired
297 - name: stale
298 - name: updating
299 - name: revalidated
300 - name: hit
301 - name: scarce