master
yaml 291 lines 11.5 KB
Raw
1 plugin_name: go.d.plugin
2 modules:
3 - meta:
4 id: collector-go.d.plugin-squidlog
5 plugin_name: go.d.plugin
6 module_name: squidlog
7 monitored_instance:
8 name: Squid log files
9 link: http://www.squid-cache.org/
10 icon_filename: squid.png
11 categories:
12 - data-collection.web-servers-and-proxies
13 keywords:
14 - squid
15 - logs
16 related_resources:
17 integrations:
18 list: []
19 info_provided_to_referring_integrations:
20 description: ""
21 overview:
22 data_collection:
23 metrics_description: |
24 his collector monitors Squid servers by parsing their access log files.
25 method_description: |
26 It automatically detects log files of Squid severs running on localhost.
27 supported_platforms:
28 include: []
29 exclude: []
30 multi_instance: true
31 additional_permissions:
32 description: ""
33 default_behavior:
34 auto_detection:
35 description: ""
36 limits:
37 description: ""
38 performance_impact:
39 description: ""
40 setup:
41 prerequisites:
42 list: []
43 configuration:
44 file:
45 name: go.d/squidlog.conf
46 options:
47 description: |
48 Squid [log format codes](https://www.squid-cache.org/Doc/config/logformat/).
49
50 Squidlog is aware how to parse and interpret the following codes:
51
52 | field | squid format code | description |
53 |----------------|-------------------|---------------------------------------------------------------|
54 | resp_time | %tr | Response time (milliseconds). |
55 | client_address | %>a | Client source IP address. |
56 | client_address | %>A | Client FQDN. |
57 | cache_code | %Ss | Squid request status (TCP_MISS etc). |
58 | http_code | %>Hs | The HTTP response status code from Content Gateway to client. |
59 | resp_size | %<st | Total size of reply sent to client (after adaptation). |
60 | req_method | %rm | Request method (GET/POST etc). |
61 | hier_code | %Sh | Squid hierarchy status (DEFAULT_PARENT etc). |
62 | server_address | %<a | Server IP address of the last server or peer connection. |
63 | server_address | %<A | Server FQDN or peer name. |
64 | mime_type | %mt | MIME content type. |
65
66 In addition, to make `Squid` [native log format](https://wiki.squid-cache.org/Features/LogFormat#Squid_native_access.log_format_in_detail) csv parsable, squidlog understands these groups of codes:
67
68 | field | squid format code | description |
69 |-------------|-------------------|------------------------------------|
70 | result_code | %Ss/%>Hs | Cache code and http code. |
71 | hierarchy | %Sh/%<a | Hierarchy code and server address. |
72 folding:
73 title: Config options
74 enabled: true
75 list:
76 - name: update_every
77 description: Data collection frequency (seconds).
78 default_value: 1
79 required: false
80 group: Collection
81 - name: autodetection_retry
82 description: Autodetection retry interval (seconds). Set 0 to disable.
83 default_value: 0
84 required: false
85 group: Collection
86
87 - name: path
88 description: Path to the Squid access log file.
89 default_value: /var/log/squid/access.log
90 required: true
91 group: Target
92 - name: exclude_path
93 description: File path patterns to exclude.
94 default_value: "*.gz"
95 required: false
96 group: Target
97
98 - name: parser
99 description: Log parser configuration block.
100 default_value: ""
101 required: false
102 group: Parser
103 - name: parser.log_type
104 description: Log parser type (`csv`, `ltsv`, `regexp`, or `auto`).
105 default_value: auto
106 required: false
107 group: Parser
108 - name: parser.csv_config
109 description: CSV log parser configuration block.
110 default_value: ""
111 required: false
112 group: Parser
113 - name: parser.csv_config.delimiter
114 description: CSV field delimiter.
115 default_value: space
116 required: false
117 group: Parser
118 - name: parser.csv_config.format
119 description: CSV log format string.
120 default_value: "- $resp_time $client_address $result_code $resp_size $req_method - - $hierarchy $mime_type"
121 required: true
122 group: Parser
123
124 - name: parser.ltsv_config
125 description: LTSV log parser configuration block.
126 default_value: ""
127 required: false
128 group: Parser
129 - name: parser.ltsv_config.field_delimiter
130 description: LTSV field delimiter.
131 default_value: "\\t"
132 required: false
133 group: Parser
134 - name: parser.ltsv_config.value_delimiter
135 description: LTSV value delimiter.
136 default_value: ":"
137 required: false
138 group: Parser
139 - name: parser.ltsv_config.mapping
140 description: LTSV fields mapping to known fields.
141 default_value: ""
142 required: true
143 group: Parser
144
145 - name: parser.regexp_config
146 description: RegExp log parser configuration block.
147 default_value: ""
148 required: false
149 group: Parser
150 - name: parser.regexp_config.pattern
151 description: RegExp pattern with named groups mapped to known fields.
152 default_value: ""
153 required: true
154 group: Parser
155 examples:
156 folding:
157 title: Config
158 enabled: true
159 list: []
160 troubleshooting:
161 problems:
162 list: []
163 alerts: []
164 metrics:
165 folding:
166 title: Metrics
167 enabled: false
168 description: ""
169 availability: []
170 scopes:
171 - name: global
172 description: These metrics refer to the entire monitored application.
173 labels: []
174 metrics:
175 - name: squidlog.requests
176 description: Total Requests
177 unit: requests/s
178 chart_type: line
179 dimensions:
180 - name: requests
181 - name: squidlog.excluded_requests
182 description: Excluded Requests
183 unit: requests/s
184 chart_type: line
185 dimensions:
186 - name: unmatched
187 - name: squidlog.type_requests
188 description: Requests By Type
189 unit: requests/s
190 chart_type: stacked
191 dimensions:
192 - name: success
193 - name: bad
194 - name: redirect
195 - name: error
196 - name: squidlog.http_status_code_class_responses
197 description: Responses By HTTP Status Code Class
198 unit: responses/s
199 chart_type: stacked
200 dimensions:
201 - name: 1xx
202 - name: 2xx
203 - name: 3xx
204 - name: 4xx
205 - name: 5xx
206 - name: squidlog.http_status_code_responses
207 description: Responses By HTTP Status Code
208 unit: responses/s
209 chart_type: stacked
210 dimensions:
211 - name: a dimension per HTTP response code
212 - name: squidlog.bandwidth
213 description: Bandwidth
214 unit: kilobits/s
215 chart_type: line
216 dimensions:
217 - name: sent
218 - name: squidlog.response_time
219 description: Response Time
220 unit: milliseconds
221 chart_type: line
222 dimensions:
223 - name: min
224 - name: max
225 - name: avg
226 - name: squidlog.uniq_clients
227 description: Unique Clients
228 unit: clients
229 chart_type: line
230 dimensions:
231 - name: clients
232 - name: squidlog.cache_result_code_requests
233 description: Requests By Cache Result Code
234 unit: requests/s
235 chart_type: stacked
236 dimensions:
237 - name: a dimension per cache result code
238 - name: squidlog.cache_result_code_transport_tag_requests
239 description: Requests By Cache Result Delivery Transport Tag
240 unit: requests/s
241 chart_type: stacked
242 dimensions:
243 - name: a dimension per cache result delivery transport tag
244 - name: squidlog.cache_result_code_handling_tag_requests
245 description: Requests By Cache Result Handling Tag
246 unit: requests/s
247 chart_type: stacked
248 dimensions:
249 - name: a dimension per cache result handling tag
250 - name: squidlog.cache_code_object_tag_requests
251 description: Requests By Cache Result Produced Object Tag
252 unit: requests/s
253 chart_type: stacked
254 dimensions:
255 - name: a dimension per cache result produced object tag
256 - name: squidlog.cache_code_load_source_tag_requests
257 description: Requests By Cache Result Load Source Tag
258 unit: requests/s
259 chart_type: stacked
260 dimensions:
261 - name: a dimension per cache result load source tag
262 - name: squidlog.cache_code_error_tag_requests
263 description: Requests By Cache Result Errors Tag
264 unit: requests/s
265 chart_type: stacked
266 dimensions:
267 - name: a dimension per cache result error tag
268 - name: squidlog.http_method_requests
269 description: Requests By HTTP Method
270 unit: requests/s
271 chart_type: stacked
272 dimensions:
273 - name: a dimension per HTTP method
274 - name: squidlog.mime_type_requests
275 description: Requests By MIME Type
276 unit: requests/s
277 chart_type: stacked
278 dimensions:
279 - name: a dimension per MIME type
280 - name: squidlog.hier_code_requests
281 description: Requests By Hierarchy Code
282 unit: requests/s
283 chart_type: stacked
284 dimensions:
285 - name: a dimension per hierarchy code
286 - name: squidlog.server_address_forwarded_requests
287 description: Forwarded Requests By Server Address
288 unit: requests/s
289 chart_type: stacked
290 dimensions:
291 - name: a dimension per server address