summaryrefslogtreecommitdiffstats
path: root/src/collectors/python.d.plugin/traefik
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/collectors/python.d.plugin/traefik/README.md98
-rw-r--r--src/collectors/python.d.plugin/traefik/metadata.yaml125
-rw-r--r--src/collectors/python.d.plugin/traefik/traefik.chart.py (renamed from collectors/python.d.plugin/traefik/traefik.chart.py)0
-rw-r--r--src/collectors/python.d.plugin/traefik/traefik.conf (renamed from collectors/python.d.plugin/traefik/traefik.conf)0
4 files changed, 223 insertions, 0 deletions
diff --git a/src/collectors/python.d.plugin/traefik/README.md b/src/collectors/python.d.plugin/traefik/README.md
new file mode 100644
index 000000000..ac025c760
--- /dev/null
+++ b/src/collectors/python.d.plugin/traefik/README.md
@@ -0,0 +1,98 @@
+<!--
+title: "Traefik monitoring with Netdata"
+custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/traefik/README.md"
+sidebar_label: "traefik-python.d.plugin"
+learn_status: "Published"
+learn_topic_type: "References"
+learn_rel_path: "Integrations/Monitor/Webapps"
+-->
+
+# Traefik collector
+
+Uses the `health` API to provide statistics.
+
+It produces:
+
+1. **Responses** by statuses
+
+ - success (1xx, 2xx, 304)
+ - error (5xx)
+ - redirect (3xx except 304)
+ - bad (4xx)
+ - other (all other responses)
+
+2. **Responses** by codes
+
+ - 2xx (successful)
+ - 5xx (internal server errors)
+ - 3xx (redirect)
+ - 4xx (bad)
+ - 1xx (informational)
+ - other (non-standart responses)
+
+3. **Detailed Response Codes** requests/s (number of responses for each response code family individually)
+
+4. **Requests**/s
+
+ - request statistics
+
+5. **Total response time**
+
+ - sum of all response time
+
+6. **Average response time**
+
+7. **Average response time per iteration**
+
+8. **Uptime**
+
+ - Traefik server uptime
+
+## Configuration
+
+Edit the `python.d/traefik.conf` configuration file using `edit-config` from the
+Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically
+at `/etc/netdata`.
+
+```bash
+cd /etc/netdata # Replace this path with your Netdata config directory, if different
+sudo ./edit-config python.d/traefik.conf
+```
+
+Needs only `url` to server's `health`
+
+Here is an example for local server:
+
+```yaml
+update_every: 1
+priority: 60000
+
+local:
+ url: 'http://localhost:8080/health'
+```
+
+Without configuration, module attempts to connect to `http://localhost:8080/health`.
+
+
+
+
+### Troubleshooting
+
+To troubleshoot issues with the `traefik` module, run the `python.d.plugin` with the debug option enabled. The
+output will give you the output of the data collection job or error messages on why the collector isn't working.
+
+First, navigate to your plugins directory, usually they are located under `/usr/libexec/netdata/plugins.d/`. If that's
+not the case on your system, open `netdata.conf` and look for the setting `plugins directory`. Once you're in the
+plugin's directory, switch to the `netdata` user.
+
+```bash
+cd /usr/libexec/netdata/plugins.d/
+sudo su -s /bin/bash netdata
+```
+
+Now you can manually run the `traefik` module in debug mode:
+
+```bash
+./python.d.plugin traefik debug trace
+```
+
diff --git a/src/collectors/python.d.plugin/traefik/metadata.yaml b/src/collectors/python.d.plugin/traefik/metadata.yaml
new file mode 100644
index 000000000..0594f8fb2
--- /dev/null
+++ b/src/collectors/python.d.plugin/traefik/metadata.yaml
@@ -0,0 +1,125 @@
+# This collector will not appear in documentation, as the go version is preferred,
+# https://github.com/netdata/netdata/blob/master/src/go/collectors/go.d.plugin/modules/traefik/README.md
+#
+# meta:
+# plugin_name: python.d.plugin
+# module_name: traefik
+# monitored_instance:
+# name: python.d traefik
+# link: ''
+# categories: []
+# icon_filename: ''
+# related_resources:
+# integrations:
+# list: []
+# info_provided_to_referring_integrations:
+# description: ''
+# keywords: []
+# most_popular: false
+# overview:
+# data_collection:
+# metrics_description: ''
+# method_description: ''
+# 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: ''
+# description: ''
+# options:
+# description: ''
+# folding:
+# title: ''
+# enabled: true
+# list: []
+# examples:
+# folding:
+# enabled: true
+# title: ''
+# list: []
+# troubleshooting:
+# problems:
+# list: []
+# alerts: []
+# metrics:
+# folding:
+# title: Metrics
+# enabled: false
+# description: ""
+# availability: []
+# scopes:
+# - name: global
+# description: ""
+# labels: []
+# metrics:
+# - name: traefik.response_statuses
+# description: Response statuses
+# unit: "requests/s"
+# chart_type: stacked
+# dimensions:
+# - name: success
+# - name: error
+# - name: redirect
+# - name: bad
+# - name: other
+# - name: traefik.response_codes
+# description: Responses by codes
+# unit: "requests/s"
+# chart_type: stacked
+# dimensions:
+# - name: 2xx
+# - name: 5xx
+# - name: 3xx
+# - name: 4xx
+# - name: 1xx
+# - name: other
+# - name: traefik.detailed_response_codes
+# description: Detailed response codes
+# unit: "requests/s"
+# chart_type: stacked
+# dimensions:
+# - name: a dimension for each response code family
+# - name: traefik.requests
+# description: Requests
+# unit: "requests/s"
+# chart_type: line
+# dimensions:
+# - name: requests
+# - name: traefik.total_response_time
+# description: Total response time
+# unit: "seconds"
+# chart_type: line
+# dimensions:
+# - name: response
+# - name: traefik.average_response_time
+# description: Average response time
+# unit: "milliseconds"
+# chart_type: line
+# dimensions:
+# - name: response
+# - name: traefik.average_response_time_per_iteration
+# description: Average response time per iteration
+# unit: "milliseconds"
+# chart_type: line
+# dimensions:
+# - name: response
+# - name: traefik.uptime
+# description: Uptime
+# unit: "seconds"
+# chart_type: line
+# dimensions:
+# - name: uptime
diff --git a/collectors/python.d.plugin/traefik/traefik.chart.py b/src/collectors/python.d.plugin/traefik/traefik.chart.py
index 5a498467f..5a498467f 100644
--- a/collectors/python.d.plugin/traefik/traefik.chart.py
+++ b/src/collectors/python.d.plugin/traefik/traefik.chart.py
diff --git a/collectors/python.d.plugin/traefik/traefik.conf b/src/collectors/python.d.plugin/traefik/traefik.conf
index e3f182d32..e3f182d32 100644
--- a/collectors/python.d.plugin/traefik/traefik.conf
+++ b/src/collectors/python.d.plugin/traefik/traefik.conf