remove python.d/dovecot (#18322)
Ilya Mashchenko committed
Aug 12, 2024 at 23:41 UTC
68255b5aa8f64821ad42812cb55992badf3c32b4
6 files changed
-681
CMakeLists.txt
-2
@@ -2780,7 +2780,6 @@ install(FILES
2780
src/collectors/python.d.plugin/boinc/boinc.conf
2781
src/collectors/python.d.plugin/ceph/ceph.conf
2782
src/collectors/python.d.plugin/changefinder/changefinder.conf
2783
- src/collectors/python.d.plugin/dovecot/dovecot.conf
2783
src/collectors/python.d.plugin/example/example.conf
2784
src/collectors/python.d.plugin/go_expvar/go_expvar.conf
2785
src/collectors/python.d.plugin/haproxy/haproxy.conf
@@ -2807,7 +2806,6 @@ install(FILES
2806
src/collectors/python.d.plugin/boinc/boinc.chart.py
2807
src/collectors/python.d.plugin/ceph/ceph.chart.py
2808
src/collectors/python.d.plugin/changefinder/changefinder.chart.py
2810
- src/collectors/python.d.plugin/dovecot/dovecot.chart.py
2809
src/collectors/python.d.plugin/example/example.chart.py
2810
src/collectors/python.d.plugin/go_expvar/go_expvar.chart.py
2811
src/collectors/python.d.plugin/haproxy/haproxy.chart.py
src/collectors/python.d.plugin/dovecot/README.md
deleted
-1
@@ -1 +0,0 @@
1
-integrations/dovecot.md
\ No newline at end of file
src/collectors/python.d.plugin/dovecot/dovecot.chart.py
deleted
-143
@@ -1,143 +0,0 @@
1
-# -*- coding: utf-8 -*-
2
-# Description: dovecot netdata python.d module
3
-# Author: Pawel Krupa (paulfantom)
4
-# SPDX-License-Identifier: GPL-3.0-or-later
5
-
6
-from bases.FrameworkServices.SocketService import SocketService
7
-
8
-UNIX_SOCKET = '/var/run/dovecot/stats'
9
-
10
-ORDER = [
11
- 'sessions',
12
- 'logins',
13
- 'commands',
14
- 'faults',
15
- 'context_switches',
16
- 'io',
17
- 'net',
18
- 'syscalls',
19
- 'lookup',
20
- 'cache',
21
- 'auth',
22
- 'auth_cache'
23
-]
24
-
25
-CHARTS = {
26
- 'sessions': {
27
- 'options': [None, 'Dovecot Active Sessions', 'number', 'sessions', 'dovecot.sessions', 'line'],
28
- 'lines': [
29
- ['num_connected_sessions', 'active sessions', 'absolute']
30
- ]
31
- },
32
- 'logins': {
33
- 'options': [None, 'Dovecot Logins', 'number', 'logins', 'dovecot.logins', 'line'],
34
- 'lines': [
35
- ['num_logins', 'logins', 'absolute']
36
- ]
37
- },
38
- 'commands': {
39
- 'options': [None, 'Dovecot Commands', 'commands', 'commands', 'dovecot.commands', 'line'],
40
- 'lines': [
41
- ['num_cmds', 'commands', 'absolute']
42
- ]
43
- },
44
- 'faults': {
45
- 'options': [None, 'Dovecot Page Faults', 'faults', 'page faults', 'dovecot.faults', 'line'],
46
- 'lines': [
47
- ['min_faults', 'minor', 'absolute'],
48
- ['maj_faults', 'major', 'absolute']
49
- ]
50
- },
51
- 'context_switches': {
52
- 'options': [None, 'Dovecot Context Switches', 'switches', 'context switches', 'dovecot.context_switches',
53
- 'line'],
54
- 'lines': [
55
- ['vol_cs', 'voluntary', 'absolute'],
56
- ['invol_cs', 'involuntary', 'absolute']
57
- ]
58
- },
59
- 'io': {
60
- 'options': [None, 'Dovecot Disk I/O', 'KiB/s', 'disk', 'dovecot.io', 'area'],
61
- 'lines': [
62
- ['disk_input', 'read', 'incremental', 1, 1024],
63
- ['disk_output', 'write', 'incremental', -1, 1024]
64
- ]
65
- },
66
- 'net': {
67
- 'options': [None, 'Dovecot Network Bandwidth', 'kilobits/s', 'network', 'dovecot.net', 'area'],
68
- 'lines': [
69
- ['read_bytes', 'read', 'incremental', 8, 1000],
70
- ['write_bytes', 'write', 'incremental', -8, 1000]
71
- ]
72
- },
73
- 'syscalls': {
74
- 'options': [None, 'Dovecot Number of SysCalls', 'syscalls/s', 'system', 'dovecot.syscalls', 'line'],
75
- 'lines': [
76
- ['read_count', 'read', 'incremental'],
77
- ['write_count', 'write', 'incremental']
78
- ]
79
- },
80
- 'lookup': {
81
- 'options': [None, 'Dovecot Lookups', 'number/s', 'lookups', 'dovecot.lookup', 'stacked'],
82
- 'lines': [
83
- ['mail_lookup_path', 'path', 'incremental'],
84
- ['mail_lookup_attr', 'attr', 'incremental']
85
- ]
86
- },
87
- 'cache': {
88
- 'options': [None, 'Dovecot Cache Hits', 'hits/s', 'cache', 'dovecot.cache', 'line'],
89
- 'lines': [
90
- ['mail_cache_hits', 'hits', 'incremental']
91
- ]
92
- },
93
- 'auth': {
94
- 'options': [None, 'Dovecot Authentications', 'attempts', 'logins', 'dovecot.auth', 'stacked'],
95
- 'lines': [
96
- ['auth_successes', 'ok', 'absolute'],
97
- ['auth_failures', 'failed', 'absolute']
98
- ]
99
- },
100
- 'auth_cache': {
101
- 'options': [None, 'Dovecot Authentication Cache', 'number', 'cache', 'dovecot.auth_cache', 'stacked'],
102
- 'lines': [
103
- ['auth_cache_hits', 'hit', 'absolute'],
104
- ['auth_cache_misses', 'miss', 'absolute']
105
- ]
106
- }
107
-}
108
-
109
-
110
-class Service(SocketService):
111
- def __init__(self, configuration=None, name=None):
112
- SocketService.__init__(self, configuration=configuration, name=name)
113
- self.order = ORDER
114
- self.definitions = CHARTS
115
- self.host = None # localhost
116
- self.port = None # 24242
117
- self.unix_socket = UNIX_SOCKET
118
- self.request = 'EXPORT\tglobal\r\n'
119
-
120
- def _get_data(self):
121
- """
122
- Format data received from socket
123
- :return: dict
124
- """
125
- try:
126
- raw = self._get_raw_data()
127
- except (ValueError, AttributeError):
128
- return None
129
-
130
- if raw is None:
131
- self.debug('dovecot returned no data')
132
- return None
133
-
134
- data = raw.split('\n')[:2]
135
- desc = data[0].split('\t')
136
- vals = data[1].split('\t')
137
- ret = dict()
138
- for i, _ in enumerate(desc):
139
- try:
140
- ret[str(desc[i])] = int(vals[i])
141
- except ValueError:
142
- continue
143
- return ret or None
src/collectors/python.d.plugin/dovecot/dovecot.conf
deleted
-98
@@ -1,98 +0,0 @@
1
-# netdata python.d.plugin configuration for dovecot
2
-#
3
-# This file is in YaML format. Generally the format is:
4
-#
5
-# name: value
6
-#
7
-# There are 2 sections:
8
-# - global variables
9
-# - one or more JOBS
10
-#
11
-# JOBS allow you to collect values from multiple sources.
12
-# Each source will have its own set of charts.
13
-#
14
-# JOB parameters have to be indented (using spaces only, example below).
15
-
16
-# ----------------------------------------------------------------------
17
-# Global Variables
18
-# These variables set the defaults for all JOBs, however each JOB
19
-# may define its own, overriding the defaults.
20
-
21
-# update_every sets the default data collection frequency.
22
-# If unset, the python.d.plugin default is used.
23
-# update_every: 1
24
-
25
-# priority controls the order of charts at the netdata dashboard.
26
-# Lower numbers move the charts towards the top of the page.
27
-# If unset, the default for python.d.plugin is used.
28
-# priority: 60000
29
-
30
-# penalty indicates whether to apply penalty to update_every in case of failures.
31
-# Penalty will increase every 5 failed updates in a row. Maximum penalty is 10 minutes.
32
-# penalty: yes
33
-
34
-# autodetection_retry sets the job re-check interval in seconds.
35
-# The job is not deleted if check fails.
36
-# Attempts to start the job are made once every autodetection_retry.
37
-# This feature is disabled by default.
38
-# autodetection_retry: 0
39
-
40
-# ----------------------------------------------------------------------
41
-# JOBS (data collection sources)
42
-#
43
-# The default JOBS share the same *name*. JOBS with the same name
44
-# are mutually exclusive. Only one of them will be allowed running at
45
-# any time. This allows autodetection to try several alternatives and
46
-# pick the one that works.
47
-#
48
-# Any number of jobs is supported.
49
-#
50
-# All python.d.plugin JOBS (for all its modules) support a set of
51
-# predefined parameters. These are:
52
-#
53
-# job_name:
54
-# name: myname # the JOB's name as it will appear at the
55
-# # dashboard (by default is the job_name)
56
-# # JOBs sharing a name are mutually exclusive
57
-# update_every: 1 # the JOB's data collection frequency
58
-# priority: 60000 # the JOB's order on the dashboard
59
-# penalty: yes # the JOB's penalty
60
-# autodetection_retry: 0 # the JOB's re-check interval in seconds
61
-#
62
-# Additionally to the above, dovecot also supports the following:
63
-#
64
-# socket: 'path/to/dovecot/stats'
65
-#
66
-# or
67
-# host: 'IP or HOSTNAME' # the host to connect to
68
-# port: PORT # the port to connect to
69
-#
70
-#
71
-
72
-# ----------------------------------------------------------------------
73
-# AUTO-DETECTION JOBS
74
-# only one of them will run (they have the same name)
75
-
76
-localhost:
77
- name : 'local'
78
- host : 'localhost'
79
- port : 24242
80
-
81
-localipv4:
82
- name : 'local'
83
- host : '127.0.0.1'
84
- port : 24242
85
-
86
-localipv6:
87
- name : 'local'
88
- host : '::1'
89
- port : 24242
90
-
91
-localsocket:
92
- name : 'local'
93
- socket : '/var/run/dovecot/stats'
94
-
95
-localsocket_old:
96
- name : 'local'
97
- socket : '/var/run/dovecot/old-stats'
98
-
src/collectors/python.d.plugin/dovecot/integrations/dovecot.md
deleted
-230
@@ -1,230 +0,0 @@
1
-<!--startmeta
2
-custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/dovecot/README.md"
3
-meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/dovecot/metadata.yaml"
4
-sidebar_label: "Dovecot"
5
-learn_status: "Published"
6
-learn_rel_path: "Collecting Metrics/Mail Servers"
7
-most_popular: False
8
-message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
9
-endmeta-->
10
-
11
-# Dovecot
12
-
13
-
14
-<img src="https://netdata.cloud/img/dovecot.svg" width="150"/>
15
-
16
-
17
-Plugin: python.d.plugin
18
-Module: dovecot
19
-
20
-<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
21
-
22
-## Overview
23
-
24
-This collector monitors Dovecot metrics about sessions, logins, commands, page faults and more.
25
-
26
-It uses the dovecot socket and executes the `EXPORT global` command to get the statistics.
27
-
28
-This collector is supported on all platforms.
29
-
30
-This collector supports collecting metrics from multiple instances of this integration, including remote instances.
31
-
32
-
33
-### Default Behavior
34
-
35
-#### Auto-Detection
36
-
37
-If no configuration is given, the collector will attempt to connect to dovecot using unix socket localized in `/var/run/dovecot/stats`
38
-
39
-#### Limits
40
-
41
-The default configuration for this integration does not impose any limits on data collection.
42
-
43
-#### Performance Impact
44
-
45
-The default configuration for this integration is not expected to impose a significant performance impact on the system.
46
-
47
-
48
-## Metrics
49
-
50
-Metrics grouped by *scope*.
51
-
52
-The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
53
-
54
-
55
-
56
-### Per Dovecot instance
57
-
58
-These metrics refer to the entire monitored application.
59
-
60
-This scope has no labels.
61
-
62
-Metrics:
63
-
64
-| Metric | Dimensions | Unit |
65
-|:------|:----------|:----|
66
-| dovecot.sessions | active sessions | number |
67
-| dovecot.logins | logins | number |
68
-| dovecot.commands | commands | commands |
69
-| dovecot.faults | minor, major | faults |
70
-| dovecot.context_switches | voluntary, involuntary | switches |
71
-| dovecot.io | read, write | KiB/s |
72
-| dovecot.net | read, write | kilobits/s |
73
-| dovecot.syscalls | read, write | syscalls/s |
74
-| dovecot.lookup | path, attr | number/s |
75
-| dovecot.cache | hits | hits/s |
76
-| dovecot.auth | ok, failed | attempts |
77
-| dovecot.auth_cache | hit, miss | number |
78
-
79
-
80
-
81
-## Alerts
82
-
83
-There are no alerts configured by default for this integration.
84
-
85
-
86
-## Setup
87
-
88
-### Prerequisites
89
-
90
-#### Dovecot configuration
91
-
92
-The Dovecot UNIX socket should have R/W permissions for user netdata, or Dovecot should be configured with a TCP/IP socket.
93
-
94
-
95
-### Configuration
96
-
97
-#### File
98
-
99
-The configuration file name for this integration is `python.d/dovecot.conf`.
100
-
101
-
102
-You can edit the configuration file using the `edit-config` script from the
103
-Netdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).
104
-
105
-```bash
106
-cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
107
-sudo ./edit-config python.d/dovecot.conf
108
-```
109
-#### Options
110
-
111
-There are 2 sections:
112
-
113
-* Global variables
114
-* One or more JOBS that can define multiple different instances to monitor.
115
-
116
-The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.
117
-
118
-Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
119
-
120
-Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
121
-
122
-
123
-<details open><summary>Config options</summary>
124
-
125
-| Name | Description | Default | Required |
126
-|:----|:-----------|:-------|:--------:|
127
-| update_every | Sets the default data collection frequency. | 5 | no |
128
-| priority | Controls the order of charts at the netdata dashboard. | 60000 | no |
129
-| autodetection_retry | Sets the job re-check interval in seconds. | 0 | no |
130
-| penalty | Indicates whether to apply penalty to update_every in case of failures. | yes | no |
131
-| name | Job name. This value will overwrite the `job_name` value. JOBS with the same name are mutually exclusive. Only one of them will be allowed running at any time. This allows autodetection to try several alternatives and pick the one that works. | | no |
132
-| socket | Use this socket to communicate with Devcot | /var/run/dovecot/stats | no |
133
-| host | Instead of using a socket, you can point the collector to an ip for devcot statistics. | | no |
134
-| port | Used in combination with host, configures the port devcot listens to. | | no |
135
-
136
-</details>
137
-
138
-#### Examples
139
-
140
-##### Local TCP
141
-
142
-A basic TCP configuration.
143
-
144
-<details open><summary>Config</summary>
145
-
146
-```yaml
147
-localtcpip:
148
- name: 'local'
149
- host: '127.0.0.1'
150
- port: 24242
151
-
152
-```
153
-</details>
154
-
155
-##### Local socket
156
-
157
-A basic local socket configuration
158
-
159
-<details open><summary>Config</summary>
160
-
161
-```yaml
162
-localsocket:
163
- name: 'local'
164
- socket: '/var/run/dovecot/stats'
165
-
166
-```
167
-</details>
168
-
169
-
170
-
171
-## Troubleshooting
172
-
173
-### Debug Mode
174
-
175
-To troubleshoot issues with the `dovecot` collector, run the `python.d.plugin` with the debug option enabled. The output
176
-should give you clues as to why the collector isn't working.
177
-
178
-- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
179
- your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
180
-
181
- ```bash
182
- cd /usr/libexec/netdata/plugins.d/
183
- ```
184
-
185
-- Switch to the `netdata` user.
186
-
187
- ```bash
188
- sudo -u netdata -s
189
- ```
190
-
191
-- Run the `python.d.plugin` to debug the collector:
192
-
193
- ```bash
194
- ./python.d.plugin dovecot debug trace
195
- ```
196
-
197
-### Getting Logs
198
-
199
-If you're encountering problems with the `dovecot` collector, follow these steps to retrieve logs and identify potential issues:
200
-
201
-- **Run the command** specific to your system (systemd, non-systemd, or Docker container).
202
-- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.
203
-
204
-#### System with systemd
205
-
206
-Use the following command to view logs generated since the last Netdata service restart:
207
-
208
-```bash
209
-journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep dovecot
210
-```
211
-
212
-#### System without systemd
213
-
214
-Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:
215
-
216
-```bash
217
-grep dovecot /var/log/netdata/collector.log
218
-```
219
-
220
-**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.
221
-
222
-#### Docker Container
223
-
224
-If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:
225
-
226
-```bash
227
-docker logs netdata 2>&1 | grep dovecot
228
-```
229
-
230
-
src/collectors/python.d.plugin/dovecot/metadata.yaml
deleted
-207
@@ -1,207 +0,0 @@
1
-plugin_name: python.d.plugin
2
-modules:
3
- - meta:
4
- plugin_name: python.d.plugin
5
- module_name: dovecot
6
- monitored_instance:
7
- name: Dovecot
8
- link: 'https://www.dovecot.org/'
9
- categories:
10
- - data-collection.mail-servers
11
- icon_filename: 'dovecot.svg'
12
- related_resources:
13
- integrations:
14
- list: []
15
- info_provided_to_referring_integrations:
16
- description: ''
17
- keywords:
18
- - dovecot
19
- - imap
20
- - mail
21
- most_popular: false
22
- overview:
23
- data_collection:
24
- metrics_description: 'This collector monitors Dovecot metrics about sessions, logins, commands, page faults and more.'
25
- method_description: 'It uses the dovecot socket and executes the `EXPORT global` command to get the statistics.'
26
- supported_platforms:
27
- include: []
28
- exclude: []
29
- multi_instance: true
30
- additional_permissions:
31
- description: ''
32
- default_behavior:
33
- auto_detection:
34
- description: 'If no configuration is given, the collector will attempt to connect to dovecot using unix socket localized in `/var/run/dovecot/stats`'
35
- limits:
36
- description: ''
37
- performance_impact:
38
- description: ''
39
- setup:
40
- prerequisites:
41
- list:
42
- - title: 'Dovecot configuration'
43
- description: The Dovecot UNIX socket should have R/W permissions for user netdata, or Dovecot should be configured with a TCP/IP socket.
44
- configuration:
45
- file:
46
- name: python.d/dovecot.conf
47
- options:
48
- description: |
49
- There are 2 sections:
50
-
51
- * Global variables
52
- * One or more JOBS that can define multiple different instances to monitor.
53
-
54
- The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.
55
-
56
- Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
57
-
58
- Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
59
- folding:
60
- title: "Config options"
61
- enabled: true
62
- list:
63
- - name: update_every
64
- description: Sets the default data collection frequency.
65
- default_value: 5
66
- required: false
67
- - name: priority
68
- description: Controls the order of charts at the netdata dashboard.
69
- default_value: 60000
70
- required: false
71
- - name: autodetection_retry
72
- description: Sets the job re-check interval in seconds.
73
- default_value: 0
74
- required: false
75
- - name: penalty
76
- description: Indicates whether to apply penalty to update_every in case of failures.
77
- default_value: yes
78
- required: false
79
- - name: name
80
- description: Job name. This value will overwrite the `job_name` value. JOBS with the same name are mutually exclusive. Only one of them will be allowed running at any time. This allows autodetection to try several alternatives and pick the one that works.
81
- default_value: ''
82
- required: false
83
- - name: socket
84
- description: Use this socket to communicate with Devcot
85
- default_value: /var/run/dovecot/stats
86
- required: false
87
- - name: host
88
- description: Instead of using a socket, you can point the collector to an ip for devcot statistics.
89
- default_value: ''
90
- required: false
91
- - name: port
92
- description: Used in combination with host, configures the port devcot listens to.
93
- default_value: ''
94
- required: false
95
- examples:
96
- folding:
97
- enabled: true
98
- title: "Config"
99
- list:
100
- - name: Local TCP
101
- description: A basic TCP configuration.
102
- config: |
103
- localtcpip:
104
- name: 'local'
105
- host: '127.0.0.1'
106
- port: 24242
107
- - name: Local socket
108
- description: A basic local socket configuration
109
- config: |
110
- localsocket:
111
- name: 'local'
112
- socket: '/var/run/dovecot/stats'
113
- troubleshooting:
114
- problems:
115
- list: []
116
- alerts: []
117
- metrics:
118
- folding:
119
- title: Metrics
120
- enabled: false
121
- description: ""
122
- availability: []
123
- scopes:
124
- - name: global
125
- description: "These metrics refer to the entire monitored application."
126
- labels: []
127
- metrics:
128
- - name: dovecot.sessions
129
- description: Dovecot Active Sessions
130
- unit: "number"
131
- chart_type: line
132
- dimensions:
133
- - name: active sessions
134
- - name: dovecot.logins
135
- description: Dovecot Logins
136
- unit: "number"
137
- chart_type: line
138
- dimensions:
139
- - name: logins
140
- - name: dovecot.commands
141
- description: Dovecot Commands
142
- unit: "commands"
143
- chart_type: line
144
- dimensions:
145
- - name: commands
146
- - name: dovecot.faults
147
- description: Dovecot Page Faults
148
- unit: "faults"
149
- chart_type: line
150
- dimensions:
151
- - name: minor
152
- - name: major
153
- - name: dovecot.context_switches
154
- description: Dovecot Context Switches
155
- unit: "switches"
156
- chart_type: line
157
- dimensions:
158
- - name: voluntary
159
- - name: involuntary
160
- - name: dovecot.io
161
- description: Dovecot Disk I/O
162
- unit: "KiB/s"
163
- chart_type: area
164
- dimensions:
165
- - name: read
166
- - name: write
167
- - name: dovecot.net
168
- description: Dovecot Network Bandwidth
169
- unit: "kilobits/s"
170
- chart_type: area
171
- dimensions:
172
- - name: read
173
- - name: write
174
- - name: dovecot.syscalls
175
- description: Dovecot Number of SysCalls
176
- unit: "syscalls/s"
177
- chart_type: line
178
- dimensions:
179
- - name: read
180
- - name: write
181
- - name: dovecot.lookup
182
- description: Dovecot Lookups
183
- unit: "number/s"
184
- chart_type: stacked
185
- dimensions:
186
- - name: path
187
- - name: attr
188
- - name: dovecot.cache
189
- description: Dovecot Cache Hits
190
- unit: "hits/s"
191
- chart_type: line
192
- dimensions:
193
- - name: hits
194
- - name: dovecot.auth
195
- description: Dovecot Authentications
196
- unit: "attempts"
197
- chart_type: stacked
198
- dimensions:
199
- - name: ok
200
- - name: failed
201
- - name: dovecot.auth_cache
202
- description: Dovecot Authentication Cache
203
- unit: "number"
204
- chart_type: stacked
205
- dimensions:
206
- - name: hit
207
- - name: miss