| 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 |