remove python.d/uwsgi (#18325)
Ilya Mashchenko committed
Aug 13, 2024 at 19:53 UTC
5d0ce4c21b3e241968072b3371f6f439bc999617
6 files changed
-725
CMakeLists.txt
-2
@@ -2793,7 +2793,6 @@ install(FILES
2793
src/collectors/python.d.plugin/spigotmc/spigotmc.conf
2794
src/collectors/python.d.plugin/tor/tor.conf
2795
src/collectors/python.d.plugin/traefik/traefik.conf
2796
- src/collectors/python.d.plugin/uwsgi/uwsgi.conf
2796
src/collectors/python.d.plugin/varnish/varnish.conf
2797
src/collectors/python.d.plugin/w1sensor/w1sensor.conf
2798
src/collectors/python.d.plugin/zscores/zscores.conf
@@ -2819,7 +2818,6 @@ install(FILES
2818
src/collectors/python.d.plugin/spigotmc/spigotmc.chart.py
2819
src/collectors/python.d.plugin/tor/tor.chart.py
2820
src/collectors/python.d.plugin/traefik/traefik.chart.py
2822
- src/collectors/python.d.plugin/uwsgi/uwsgi.chart.py
2821
src/collectors/python.d.plugin/varnish/varnish.chart.py
2822
src/collectors/python.d.plugin/w1sensor/w1sensor.chart.py
2823
src/collectors/python.d.plugin/zscores/zscores.chart.py
src/collectors/python.d.plugin/uwsgi/README.md
deleted
-1
@@ -1 +0,0 @@
1
-integrations/uwsgi.md
\ No newline at end of file
src/collectors/python.d.plugin/uwsgi/integrations/uwsgi.md
deleted
-252
@@ -1,252 +0,0 @@
1
-<!--startmeta
2
-custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/uwsgi/README.md"
3
-meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/uwsgi/metadata.yaml"
4
-sidebar_label: "uWSGI"
5
-learn_status: "Published"
6
-learn_rel_path: "Collecting Metrics/Web Servers and Web Proxies"
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
-# uWSGI
12
-
13
-
14
-<img src="https://netdata.cloud/img/uwsgi.svg" width="150"/>
15
-
16
-
17
-Plugin: python.d.plugin
18
-Module: uwsgi
19
-
20
-<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
21
-
22
-## Overview
23
-
24
-This collector monitors uWSGI metrics about requests, workers, memory and more.
25
-
26
-It collects every metric exposed from the stats server of uWSGI, either from the `stats.socket` or from the web server's TCP/IP socket.
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
-This collector will auto-detect uWSGI instances deployed on the local host, running on port 1717, or exposing stats on socket `tmp/stats.socket`.
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 uWSGI 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
-| uwsgi.requests | a dimension per worker | requests/s |
67
-| uwsgi.tx | a dimension per worker | KiB/s |
68
-| uwsgi.avg_rt | a dimension per worker | milliseconds |
69
-| uwsgi.memory_rss | a dimension per worker | MiB |
70
-| uwsgi.memory_vsz | a dimension per worker | MiB |
71
-| uwsgi.exceptions | exceptions | exceptions |
72
-| uwsgi.harakiris | harakiris | harakiris |
73
-| uwsgi.respawns | respawns | respawns |
74
-
75
-
76
-
77
-## Alerts
78
-
79
-There are no alerts configured by default for this integration.
80
-
81
-
82
-## Setup
83
-
84
-### Prerequisites
85
-
86
-#### Enable the uWSGI Stats server
87
-
88
-Make sure that you uWSGI exposes it's metrics via a Stats server.
89
-
90
-Source: https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html
91
-
92
-
93
-
94
-### Configuration
95
-
96
-#### File
97
-
98
-The configuration file name for this integration is `python.d/uwsgi.conf`.
99
-
100
-
101
-You can edit the configuration file using the `edit-config` script from the
102
-Netdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).
103
-
104
-```bash
105
-cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
106
-sudo ./edit-config python.d/uwsgi.conf
107
-```
108
-#### Options
109
-
110
-There are 2 sections:
111
-
112
-* Global variables
113
-* One or more JOBS that can define multiple different instances to monitor.
114
-
115
-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.
116
-
117
-Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
118
-
119
-Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
120
-
121
-
122
-<details open><summary>Config options</summary>
123
-
124
-| Name | Description | Default | Required |
125
-|:----|:-----------|:-------|:--------:|
126
-| update_every | Sets the default data collection frequency. | 5 | no |
127
-| priority | Controls the order of charts at the netdata dashboard. | 60000 | no |
128
-| autodetection_retry | Sets the job re-check interval in seconds. | 0 | no |
129
-| penalty | Indicates whether to apply penalty to update_every in case of failures. | yes | no |
130
-| name | The JOB's name as it will appear at the dashboard (by default is the job_name) | job_name | no |
131
-| socket | The 'path/to/uwsgistats.sock' | no | no |
132
-| host | The host to connect to | no | no |
133
-| port | The port to connect to | no | no |
134
-
135
-</details>
136
-
137
-#### Examples
138
-
139
-##### Basic (default out-of-the-box)
140
-
141
-A basic example configuration, one job will run at a time. Autodetect mechanism uses it by default. As all JOBs have the same name, only one can run at a time.
142
-
143
-<details open><summary>Config</summary>
144
-
145
-```yaml
146
-socket:
147
- name : 'local'
148
- socket : '/tmp/stats.socket'
149
-
150
-localhost:
151
- name : 'local'
152
- host : 'localhost'
153
- port : 1717
154
-
155
-localipv4:
156
- name : 'local'
157
- host : '127.0.0.1'
158
- port : 1717
159
-
160
-localipv6:
161
- name : 'local'
162
- host : '::1'
163
- port : 1717
164
-
165
-```
166
-</details>
167
-
168
-##### Multi-instance
169
-
170
-> **Note**: When you define multiple jobs, their names must be unique.
171
-
172
-Collecting metrics from local and remote instances.
173
-
174
-
175
-<details open><summary>Config</summary>
176
-
177
-```yaml
178
-local:
179
- name : 'local'
180
- host : 'localhost'
181
- port : 1717
182
-
183
-remote:
184
- name : 'remote'
185
- host : '192.0.2.1'
186
- port : 1717
187
-
188
-```
189
-</details>
190
-
191
-
192
-
193
-## Troubleshooting
194
-
195
-### Debug Mode
196
-
197
-To troubleshoot issues with the `uwsgi` collector, run the `python.d.plugin` with the debug option enabled. The output
198
-should give you clues as to why the collector isn't working.
199
-
200
-- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
201
- your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
202
-
203
- ```bash
204
- cd /usr/libexec/netdata/plugins.d/
205
- ```
206
-
207
-- Switch to the `netdata` user.
208
-
209
- ```bash
210
- sudo -u netdata -s
211
- ```
212
-
213
-- Run the `python.d.plugin` to debug the collector:
214
-
215
- ```bash
216
- ./python.d.plugin uwsgi debug trace
217
- ```
218
-
219
-### Getting Logs
220
-
221
-If you're encountering problems with the `uwsgi` collector, follow these steps to retrieve logs and identify potential issues:
222
-
223
-- **Run the command** specific to your system (systemd, non-systemd, or Docker container).
224
-- **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.
225
-
226
-#### System with systemd
227
-
228
-Use the following command to view logs generated since the last Netdata service restart:
229
-
230
-```bash
231
-journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep uwsgi
232
-```
233
-
234
-#### System without systemd
235
-
236
-Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:
237
-
238
-```bash
239
-grep uwsgi /var/log/netdata/collector.log
240
-```
241
-
242
-**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.
243
-
244
-#### Docker Container
245
-
246
-If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:
247
-
248
-```bash
249
-docker logs netdata 2>&1 | grep uwsgi
250
-```
251
-
252
-
src/collectors/python.d.plugin/uwsgi/metadata.yaml
deleted
-201
@@ -1,201 +0,0 @@
1
-plugin_name: python.d.plugin
2
-modules:
3
- - meta:
4
- plugin_name: python.d.plugin
5
- module_name: uwsgi
6
- monitored_instance:
7
- name: uWSGI
8
- link: "https://github.com/unbit/uwsgi/tree/2.0.21"
9
- categories:
10
- - data-collection.web-servers-and-web-proxies
11
- icon_filename: "uwsgi.svg"
12
- related_resources:
13
- integrations:
14
- list: []
15
- info_provided_to_referring_integrations:
16
- description: ""
17
- keywords:
18
- - application server
19
- - python
20
- - web applications
21
- most_popular: false
22
- overview:
23
- data_collection:
24
- metrics_description: "This collector monitors uWSGI metrics about requests, workers, memory and more."
25
- method_description: "It collects every metric exposed from the stats server of uWSGI, either from the `stats.socket` or from the web server's TCP/IP socket."
26
- supported_platforms:
27
- include: []
28
- exclude: []
29
- multi_instance: true
30
- additional_permissions:
31
- description: ""
32
- default_behavior:
33
- auto_detection:
34
- description: "This collector will auto-detect uWSGI instances deployed on the local host, running on port 1717, or exposing stats on socket `tmp/stats.socket`."
35
- limits:
36
- description: ""
37
- performance_impact:
38
- description: ""
39
- setup:
40
- prerequisites:
41
- list:
42
- - title: Enable the uWSGI Stats server
43
- description: |
44
- Make sure that you uWSGI exposes it's metrics via a Stats server.
45
-
46
- Source: https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html
47
- configuration:
48
- file:
49
- name: "python.d/uwsgi.conf"
50
- options:
51
- description: |
52
- There are 2 sections:
53
-
54
- * Global variables
55
- * One or more JOBS that can define multiple different instances to monitor.
56
-
57
- 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.
58
-
59
- Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
60
-
61
- Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
62
- folding:
63
- title: "Config options"
64
- enabled: true
65
- list:
66
- - name: update_every
67
- description: Sets the default data collection frequency.
68
- default_value: 5
69
- required: false
70
- - name: priority
71
- description: Controls the order of charts at the netdata dashboard.
72
- default_value: 60000
73
- required: false
74
- - name: autodetection_retry
75
- description: Sets the job re-check interval in seconds.
76
- default_value: 0
77
- required: false
78
- - name: penalty
79
- description: Indicates whether to apply penalty to update_every in case of failures.
80
- default_value: yes
81
- required: false
82
- - name: name
83
- description: The JOB's name as it will appear at the dashboard (by default is the job_name)
84
- default_value: job_name
85
- required: false
86
- - name: socket
87
- description: The 'path/to/uwsgistats.sock'
88
- default_value: no
89
- required: false
90
- - name: host
91
- description: The host to connect to
92
- default_value: no
93
- required: false
94
- - name: port
95
- description: The port to connect to
96
- default_value: no
97
- required: false
98
- examples:
99
- folding:
100
- enabled: true
101
- title: "Config"
102
- list:
103
- - name: Basic (default out-of-the-box)
104
- description: A basic example configuration, one job will run at a time. Autodetect mechanism uses it by default. As all JOBs have the same name, only one can run at a time.
105
- config: |
106
- socket:
107
- name : 'local'
108
- socket : '/tmp/stats.socket'
109
-
110
- localhost:
111
- name : 'local'
112
- host : 'localhost'
113
- port : 1717
114
-
115
- localipv4:
116
- name : 'local'
117
- host : '127.0.0.1'
118
- port : 1717
119
-
120
- localipv6:
121
- name : 'local'
122
- host : '::1'
123
- port : 1717
124
- - name: Multi-instance
125
- description: |
126
- > **Note**: When you define multiple jobs, their names must be unique.
127
-
128
- Collecting metrics from local and remote instances.
129
- config: |
130
- local:
131
- name : 'local'
132
- host : 'localhost'
133
- port : 1717
134
-
135
- remote:
136
- name : 'remote'
137
- host : '192.0.2.1'
138
- port : 1717
139
- troubleshooting:
140
- problems:
141
- list: []
142
- alerts: []
143
- metrics:
144
- folding:
145
- title: Metrics
146
- enabled: false
147
- description: ""
148
- availability: []
149
- scopes:
150
- - name: global
151
- description: "These metrics refer to the entire monitored application."
152
- labels: []
153
- metrics:
154
- - name: uwsgi.requests
155
- description: Requests
156
- unit: "requests/s"
157
- chart_type: stacked
158
- dimensions:
159
- - name: a dimension per worker
160
- - name: uwsgi.tx
161
- description: Transmitted data
162
- unit: "KiB/s"
163
- chart_type: stacked
164
- dimensions:
165
- - name: a dimension per worker
166
- - name: uwsgi.avg_rt
167
- description: Average request time
168
- unit: "milliseconds"
169
- chart_type: line
170
- dimensions:
171
- - name: a dimension per worker
172
- - name: uwsgi.memory_rss
173
- description: RSS (Resident Set Size)
174
- unit: "MiB"
175
- chart_type: stacked
176
- dimensions:
177
- - name: a dimension per worker
178
- - name: uwsgi.memory_vsz
179
- description: VSZ (Virtual Memory Size)
180
- unit: "MiB"
181
- chart_type: stacked
182
- dimensions:
183
- - name: a dimension per worker
184
- - name: uwsgi.exceptions
185
- description: Exceptions
186
- unit: "exceptions"
187
- chart_type: line
188
- dimensions:
189
- - name: exceptions
190
- - name: uwsgi.harakiris
191
- description: Harakiris
192
- unit: "harakiris"
193
- chart_type: line
194
- dimensions:
195
- - name: harakiris
196
- - name: uwsgi.respawns
197
- description: Respawns
198
- unit: "respawns"
199
- chart_type: line
200
- dimensions:
201
- - name: respawns
src/collectors/python.d.plugin/uwsgi/uwsgi.chart.py
deleted
-177
@@ -1,177 +0,0 @@
1
-# -*- coding: utf-8 -*-
2
-# Description: uwsgi netdata python.d module
3
-# Author: Robbert Segeren (robbert-ef)
4
-# SPDX-License-Identifier: GPL-3.0-or-later
5
-
6
-import json
7
-from copy import deepcopy
8
-
9
-from bases.FrameworkServices.SocketService import SocketService
10
-
11
-ORDER = [
12
- 'requests',
13
- 'tx',
14
- 'avg_rt',
15
- 'memory_rss',
16
- 'memory_vsz',
17
- 'exceptions',
18
- 'harakiri',
19
- 'respawn',
20
-]
21
-
22
-DYNAMIC_CHARTS = [
23
- 'requests',
24
- 'tx',
25
- 'avg_rt',
26
- 'memory_rss',
27
- 'memory_vsz',
28
-]
29
-
30
-# NOTE: lines are created dynamically in `check()` method
31
-CHARTS = {
32
- 'requests': {
33
- 'options': [None, 'Requests', 'requests/s', 'requests', 'uwsgi.requests', 'stacked'],
34
- 'lines': [
35
- ['requests', 'requests', 'incremental']
36
- ]
37
- },
38
- 'tx': {
39
- 'options': [None, 'Transmitted data', 'KiB/s', 'requests', 'uwsgi.tx', 'stacked'],
40
- 'lines': [
41
- ['tx', 'tx', 'incremental']
42
- ]
43
- },
44
- 'avg_rt': {
45
- 'options': [None, 'Average request time', 'milliseconds', 'requests', 'uwsgi.avg_rt', 'line'],
46
- 'lines': [
47
- ['avg_rt', 'avg_rt', 'absolute']
48
- ]
49
- },
50
- 'memory_rss': {
51
- 'options': [None, 'RSS (Resident Set Size)', 'MiB', 'memory', 'uwsgi.memory_rss', 'stacked'],
52
- 'lines': [
53
- ['memory_rss', 'memory_rss', 'absolute', 1, 1 << 20]
54
- ]
55
- },
56
- 'memory_vsz': {
57
- 'options': [None, 'VSZ (Virtual Memory Size)', 'MiB', 'memory', 'uwsgi.memory_vsz', 'stacked'],
58
- 'lines': [
59
- ['memory_vsz', 'memory_vsz', 'absolute', 1, 1 << 20]
60
- ]
61
- },
62
- 'exceptions': {
63
- 'options': [None, 'Exceptions', 'exceptions', 'exceptions', 'uwsgi.exceptions', 'line'],
64
- 'lines': [
65
- ['exceptions', 'exceptions', 'incremental']
66
- ]
67
- },
68
- 'harakiri': {
69
- 'options': [None, 'Harakiris', 'harakiris', 'harakiris', 'uwsgi.harakiris', 'line'],
70
- 'lines': [
71
- ['harakiri_count', 'harakiris', 'incremental']
72
- ]
73
- },
74
- 'respawn': {
75
- 'options': [None, 'Respawns', 'respawns', 'respawns', 'uwsgi.respawns', 'line'],
76
- 'lines': [
77
- ['respawn_count', 'respawns', 'incremental']
78
- ]
79
- },
80
-}
81
-
82
-
83
-class Service(SocketService):
84
- def __init__(self, configuration=None, name=None):
85
- super(Service, self).__init__(configuration=configuration, name=name)
86
- self.order = ORDER
87
- self.definitions = deepcopy(CHARTS)
88
- self.url = self.configuration.get('host', 'localhost')
89
- self.port = self.configuration.get('port', 1717)
90
- # Clear dynamic dimensions, these are added during `_get_data()` to allow adding workers at run-time
91
- for chart in DYNAMIC_CHARTS:
92
- self.definitions[chart]['lines'] = []
93
- self.last_result = {}
94
- self.workers = []
95
-
96
- def read_data(self):
97
- """
98
- Read data from socket and parse as JSON.
99
- :return: (dict) stats
100
- """
101
- raw_data = self._get_raw_data()
102
- if not raw_data:
103
- return None
104
- try:
105
- return json.loads(raw_data)
106
- except ValueError as err:
107
- self.error(err)
108
- return None
109
-
110
- def check(self):
111
- """
112
- Parse configuration and check if we can read data.
113
- :return: boolean
114
- """
115
- self._parse_config()
116
- return bool(self.read_data())
117
-
118
- def add_worker_dimensions(self, key):
119
- """
120
- Helper to add dimensions for a worker.
121
- :param key: (int or str) worker identifier
122
- :return:
123
- """
124
- for chart in DYNAMIC_CHARTS:
125
- for line in CHARTS[chart]['lines']:
126
- dimension_id = '{}_{}'.format(line[0], key)
127
- dimension_name = str(key)
128
-
129
- dimension = [dimension_id, dimension_name] + line[2:]
130
- self.charts[chart].add_dimension(dimension)
131
-
132
- @staticmethod
133
- def _check_raw_data(data):
134
- # The server will close the connection when it's done sending
135
- # data, so just keep looping until that happens.
136
- return False
137
-
138
- def _get_data(self):
139
- """
140
- Read data from socket
141
- :return: dict
142
- """
143
- stats = self.read_data()
144
- if not stats:
145
- return None
146
-
147
- result = {
148
- 'exceptions': 0,
149
- 'harakiri_count': 0,
150
- 'respawn_count': 0,
151
- }
152
-
153
- for worker in stats['workers']:
154
- key = worker['pid']
155
-
156
- # Add dimensions for new workers
157
- if key not in self.workers:
158
- self.add_worker_dimensions(key)
159
- self.workers.append(key)
160
-
161
- result['requests_{}'.format(key)] = worker['requests']
162
- result['tx_{}'.format(key)] = worker['tx']
163
- result['avg_rt_{}'.format(key)] = worker['avg_rt']
164
-
165
- # avg_rt is not reset by uwsgi, so reset here
166
- if self.last_result.get('requests_{}'.format(key)) == worker['requests']:
167
- result['avg_rt_{}'.format(key)] = 0
168
-
169
- result['memory_rss_{}'.format(key)] = worker['rss']
170
- result['memory_vsz_{}'.format(key)] = worker['vsz']
171
-
172
- result['exceptions'] += worker['exceptions']
173
- result['harakiri_count'] += worker['harakiri_count']
174
- result['respawn_count'] += worker['respawn_count']
175
-
176
- self.last_result = result
177
- return result
src/collectors/python.d.plugin/uwsgi/uwsgi.conf
deleted
-92
@@ -1,92 +0,0 @@
1
-# netdata python.d.plugin configuration for uwsgi
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, uwsgi also supports the following:
63
-#
64
-# socket: 'path/to/uwsgistats.sock'
65
-#
66
-# or
67
-# host: 'IP or HOSTNAME' # the host to connect to
68
-# port: PORT # the port to connect to
69
-#
70
-# ----------------------------------------------------------------------
71
-# AUTO-DETECTION JOBS
72
-# only one of them will run (they have the same name)
73
-#
74
-
75
-socket:
76
- name : 'local'
77
- socket : '/tmp/stats.socket'
78
-
79
-localhost:
80
- name : 'local'
81
- host : 'localhost'
82
- port : 1717
83
-
84
-localipv4:
85
- name : 'local'
86
- host : '127.0.0.1'
87
- port : 1717
88
-
89
-localipv6:
90
- name : 'local'
91
- host : '::1'
92
- port : 1717