summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/squidlog/metadata.yaml
blob: 82712f9e56a5470d27b41d74cbcb12289fea1f45 (plain)
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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
plugin_name: go.d.plugin
modules:
  - meta:
      id: collector-go.d.plugin-squidlog
      plugin_name: go.d.plugin
      module_name: squidlog
      monitored_instance:
        name: Squid log files
        link: https://www.lighttpd.net/
        icon_filename: squid.png
        categories:
          - data-collection.web-servers-and-web-proxies
      keywords:
        - squid
        - logs
      related_resources:
        integrations:
          list: []
      info_provided_to_referring_integrations:
        description: ""
      most_popular: true
    overview:
      data_collection:
        metrics_description: |
          his collector monitors Squid servers by parsing their access log files.
        method_description: |
          It automatically detects log files of Squid severs running on localhost.
      supported_platforms:
        include: []
        exclude: []
      multi_instance: true
      additional_permissions:
        description: ""
      default_behavior:
        auto_detection:
          description: ""
        limits:
          description: ""
        performance_impact:
          description: ""
    setup:
      prerequisites:
        list: []
      configuration:
        file:
          name: go.d/squidlog.conf
        options:
          description: |
            Squid [log format codes](http://www.squid-cache.org/Doc/config/logformat/).

            Squidlog is aware how to parse and interpret the following codes:

            | field          | squid format code | description                                                   |
            |----------------|-------------------|---------------------------------------------------------------|
            | resp_time      | %tr               | Response time (milliseconds).                                 |
            | client_address | %>a               | Client source IP address.                                     |
            | client_address | %>A               | Client FQDN.                                                  |
            | cache_code     | %Ss               | Squid request status (TCP_MISS etc).                          |
            | http_code      | %>Hs              | The HTTP response status code from Content Gateway to client. |
            | resp_size      | %<st              | Total size of reply sent to client (after adaptation).        |
            | req_method     | %rm               | Request method (GET/POST etc).                                |
            | hier_code      | %Sh               | Squid hierarchy status (DEFAULT_PARENT etc).                  |
            | server_address | %<a               | Server IP address of the last server or peer connection.      |
            | server_address | %<A               | Server FQDN or peer name.                                     |
            | mime_type      | %mt               | MIME content type.                                            |

            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:

            | field       | squid format code | description                        |
            |-------------|-------------------|------------------------------------|
            | result_code | %Ss/%>Hs          | Cache code and http code.          |
            | hierarchy   | %Sh/%<a           | Hierarchy code and server address. |
          folding:
            title: Config options
            enabled: true
          list:
            - name: update_every
              description: Data collection frequency.
              default_value: 1
              required: false
            - name: autodetection_retry
              description: Recheck interval in seconds. Zero means no recheck will be scheduled.
              default_value: 0
              required: false
            - name: path
              description: Path to the Squid access log file.
              default_value: /var/log/squid/access.log
              required: true
            - name: exclude_path
              description: Path to exclude.
              default_value: "*.gz"
              required: false
            - name: parser
              description: Log parser configuration.
              default_value: ""
              required: false
            - name: parser.log_type
              description: Log parser type.
              default_value: auto
              required: false
              detailed_description: |
                Weblog supports 3 different log parsers:

                | Parser type | Description                               |
                |-------------|-------------------------------------------|
                | csv         | A comma-separated values                  |
                | ltsv        | [LTSV](http://ltsv.org/)                  |
                | regexp      | Regular expression with named groups      |
                
                Syntax:

                ```yaml
                parser:
                  log_type: csv
                ```
            - name: parser.csv_config
              description: CSV log parser config.
              default_value: ""
              required: false
            - name: parser.csv_config.delimiter
              description: CSV field delimiter.
              default_value: space
              required: false
            - name: parser.csv_config.format
              description: CSV log format.
              default_value: "- $resp_time $client_address $result_code $resp_size $req_method - - $hierarchy $mime_type"
              required: true
              detailed_description: ""
            - name: parser.ltsv_config
              description: LTSV log parser config.
              default_value: ""
              required: false
            - name: parser.ltsv_config.field_delimiter
              description: LTSV field delimiter.
              default_value: "\\t"
              required: false
            - name: parser.ltsv_config.value_delimiter
              description: LTSV value delimiter.
              default_value: ":"
              required: false
            - name: parser.ltsv_config.mapping
              description: LTSV fields mapping to **known fields**.
              default_value: ""
              required: true
              detailed_description: |
                The mapping is a dictionary where the key is a field, as in logs, and the value is the corresponding **known field**.

                > **Note**: don't use `$` and `%` prefixes for mapped field names.

                ```yaml
                parser:
                  log_type: ltsv
                  ltsv_config:
                    mapping:
                      label1: field1
                      label2: field2
                ```
            - name: parser.regexp_config
              description: RegExp log parser config.
              default_value: ""
              required: false
            - name: parser.regexp_config.pattern
              description: RegExp pattern with named groups.
              default_value: ""
              required: true
              detailed_description: |
                Use pattern with subexpressions names. These names should be **known fields**.
                
                > **Note**: don't use `$` and `%` prefixes for mapped field names.

                Syntax:

                ```yaml
                parser:
                  log_type: regexp
                  regexp_config:
                    pattern: PATTERN
                ```
        examples:
          folding:
            title: Config
            enabled: true
          list: []
    troubleshooting:
      problems:
        list: []
    alerts: []
    metrics:
      folding:
        title: Metrics
        enabled: false
      description: ""
      availability: []
      scopes:
        - name: global
          description: These metrics refer to the entire monitored application.
          labels: []
          metrics:
            - name: squidlog.requests
              description: Total Requests
              unit: requests/s
              chart_type: line
              dimensions:
                - name: requests
            - name: squidlog.excluded_requests
              description: Excluded Requests
              unit: requests/s
              chart_type: line
              dimensions:
                - name: unmatched
            - name: squidlog.type_requests
              description: Requests By Type
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: success
                - name: bad
                - name: redirect
                - name: error
            - name: squidlog.http_status_code_class_responses
              description: Responses By HTTP Status Code Class
              unit: responses/s
              chart_type: stacked
              dimensions:
                - name: 1xx
                - name: 2xx
                - name: 3xx
                - name: 4xx
                - name: 5xx
            - name: squidlog.http_status_code_responses
              description: Responses By HTTP Status Code
              unit: responses/s
              chart_type: stacked
              dimensions:
                - name: a dimension per HTTP response code
            - name: squidlog.bandwidth
              description: Bandwidth
              unit: kilobits/s
              chart_type: line
              dimensions:
                - name: sent
            - name: squidlog.response_time
              description: Response Time
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: min
                - name: max
                - name: avg
            - name: squidlog.uniq_clients
              description: Unique Clients
              unit: clients
              chart_type: line
              dimensions:
                - name: clients
            - name: squidlog.cache_result_code_requests
              description: Requests By Cache Result Code
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per cache result code
            - name: squidlog.cache_result_code_transport_tag_requests
              description: Requests By Cache Result Delivery Transport Tag
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per cache result delivery transport tag
            - name: squidlog.cache_result_code_handling_tag_requests
              description: Requests By Cache Result Handling Tag
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per cache result handling tag
            - name: squidlog.cache_code_object_tag_requests
              description: Requests By Cache Result Produced Object Tag
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per cache result produced object tag
            - name: squidlog.cache_code_load_source_tag_requests
              description: Requests By Cache Result Load Source Tag
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per cache result load source tag
            - name: squidlog.cache_code_error_tag_requests
              description: Requests By Cache Result Errors Tag
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per cache result error tag
            - name: squidlog.http_method_requests
              description: Requests By HTTP Method
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per HTTP method
            - name: squidlog.mime_type_requests
              description: Requests By MIME Type
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per MIME type
            - name: squidlog.hier_code_requests
              description: Requests By Hierarchy Code
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per hierarchy code
            - name: squidlog.server_address_forwarded_requests
              description: Forwarded Requests By Server Address
              unit: requests/s
              chart_type: stacked
              dimensions:
                - name: a dimension per server address