diff options
Diffstat (limited to 'collectors/python.d.plugin/dockerd')
-rw-r--r-- | collectors/python.d.plugin/dockerd/Makefile.inc | 13 | ||||
-rw-r--r-- | collectors/python.d.plugin/dockerd/README.md | 46 | ||||
-rw-r--r-- | collectors/python.d.plugin/dockerd/dockerd.chart.py | 86 | ||||
-rw-r--r-- | collectors/python.d.plugin/dockerd/dockerd.conf | 77 |
4 files changed, 0 insertions, 222 deletions
diff --git a/collectors/python.d.plugin/dockerd/Makefile.inc b/collectors/python.d.plugin/dockerd/Makefile.inc deleted file mode 100644 index b100bc6a..00000000 --- a/collectors/python.d.plugin/dockerd/Makefile.inc +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later - -# THIS IS NOT A COMPLETE Makefile -# IT IS INCLUDED BY ITS PARENT'S Makefile.am -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT - -# install these files -dist_python_DATA += dockerd/dockerd.chart.py -dist_pythonconfig_DATA += dockerd/dockerd.conf - -# do not install these files, but include them in the distribution -dist_noinst_DATA += dockerd/README.md dockerd/Makefile.inc - diff --git a/collectors/python.d.plugin/dockerd/README.md b/collectors/python.d.plugin/dockerd/README.md deleted file mode 100644 index 6470a7c0..00000000 --- a/collectors/python.d.plugin/dockerd/README.md +++ /dev/null @@ -1,46 +0,0 @@ -<!-- -title: "Docker Engine monitoring with Netdata" -custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/python.d.plugin/dockerd/README.md -sidebar_label: "Docker Engine" ---> - -# Docker Engine monitoring with Netdata - -Collects docker container health metrics. - -**Requirement:** - -- `docker` package, required version 3.2.0+ - -Following charts are drawn: - -1. **running containers** - - - count - -2. **healthy containers** - - - count - -3. **unhealthy containers** - - - count - -## Configuration - -Edit the `python.d/dockerd.conf` configuration file using `edit-config` from the Netdata [config -directory](/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/dockerd.conf -``` - -```yaml - update_every : 1 - priority : 60000 -``` - ---- - - diff --git a/collectors/python.d.plugin/dockerd/dockerd.chart.py b/collectors/python.d.plugin/dockerd/dockerd.chart.py deleted file mode 100644 index bd9640bb..00000000 --- a/collectors/python.d.plugin/dockerd/dockerd.chart.py +++ /dev/null @@ -1,86 +0,0 @@ -# -*- coding: utf-8 -*- -# Description: docker netdata python.d module -# Author: Kévin Darcel (@tuxity) - -try: - import docker - - HAS_DOCKER = True -except ImportError: - HAS_DOCKER = False - -from distutils.version import StrictVersion - -from bases.FrameworkServices.SimpleService import SimpleService - -# charts order (can be overridden if you want less charts, or different order) -ORDER = [ - 'running_containers', - 'healthy_containers', - 'unhealthy_containers' -] - -CHARTS = { - 'running_containers': { - 'options': [None, 'Number of running containers', 'containers', 'running containers', - 'docker.running_containers', 'line'], - 'lines': [ - ['running_containers', 'running'] - ] - }, - 'healthy_containers': { - 'options': [None, 'Number of healthy containers', 'containers', 'healthy containers', - 'docker.healthy_containers', 'line'], - 'lines': [ - ['healthy_containers', 'healthy'] - ] - }, - 'unhealthy_containers': { - 'options': [None, 'Number of unhealthy containers', 'containers', 'unhealthy containers', - 'docker.unhealthy_containers', 'line'], - 'lines': [ - ['unhealthy_containers', 'unhealthy'] - ] - } -} - -MIN_REQUIRED_VERSION = '3.2.0' - - -class Service(SimpleService): - def __init__(self, configuration=None, name=None): - SimpleService.__init__(self, configuration=configuration, name=name) - self.order = ORDER - self.definitions = CHARTS - self.client = None - - def check(self): - if not HAS_DOCKER: - self.error("'docker' package is needed to use dockerd module") - return False - - if StrictVersion(docker.__version__) < StrictVersion(MIN_REQUIRED_VERSION): - self.error("installed 'docker' package version {0}, minimum required version {1}, please upgrade".format( - docker.__version__, - MIN_REQUIRED_VERSION, - )) - return False - - self.client = docker.DockerClient(base_url=self.configuration.get('url', 'unix://var/run/docker.sock')) - - try: - self.client.ping() - except docker.errors.APIError as error: - self.error(error) - return False - - return True - - def get_data(self): - data = dict() - - data['running_containers'] = len(self.client.containers.list(sparse=True)) - data['healthy_containers'] = len(self.client.containers.list(filters={'health': 'healthy'}, sparse=True)) - data['unhealthy_containers'] = len(self.client.containers.list(filters={'health': 'unhealthy'}, sparse=True)) - - return data or None diff --git a/collectors/python.d.plugin/dockerd/dockerd.conf b/collectors/python.d.plugin/dockerd/dockerd.conf deleted file mode 100644 index 96c8ee0d..00000000 --- a/collectors/python.d.plugin/dockerd/dockerd.conf +++ /dev/null @@ -1,77 +0,0 @@ -# netdata python.d.plugin configuration for dockerd health data API -# -# This file is in YaML format. Generally the format is: -# -# name: value -# -# There are 2 sections: -# - global variables -# - one or more JOBS -# -# JOBS allow you to collect values from multiple sources. -# Each source will have its own set of charts. -# -# JOB parameters have to be indented (using spaces only, example below). - -# ---------------------------------------------------------------------- -# Global Variables -# These variables set the defaults for all JOBs, however each JOB -# may define its own, overriding the defaults. - -# update_every sets the default data collection frequency. -# If unset, the python.d.plugin default is used. -# update_every: 1 - -# priority controls the order of charts at the netdata dashboard. -# Lower numbers move the charts towards the top of the page. -# If unset, the default for python.d.plugin is used. -# priority: 60000 - -# penalty indicates whether to apply penalty to update_every in case of failures. -# Penalty will increase every 5 failed updates in a row. Maximum penalty is 10 minutes. -# penalty: yes - -# autodetection_retry sets the job re-check interval in seconds. -# The job is not deleted if check fails. -# Attempts to start the job are made once every autodetection_retry. -# This feature is disabled by default. -# autodetection_retry: 0 - -# ---------------------------------------------------------------------- -# JOBS (data collection sources) -# -# The default JOBS share the same *name*. 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. -# -# Any number of jobs is supported. -# -# All python.d.plugin JOBS (for all its modules) support a set of -# predefined parameters. These are: -# -# job_name: -# name: myname # the JOB's name as it will appear at the -# # dashboard (by default is the job_name) -# # JOBs sharing a name are mutually exclusive -# update_every: 1 # the JOB's data collection frequency -# priority: 60000 # the JOB's order on the dashboard -# penalty: yes # the JOB's penalty -# autodetection_retry: 0 # the JOB's re-check interval in seconds -# -# Additionally to the above, dockerd plugin also supports the following: -# -# url: '<scheme>://<host>:<port>/<health_page_api>' -# # http://localhost:8080/health -# -# if the URL is password protected, the following are supported: -# -# user: 'username' -# pass: 'password' -# -# ---------------------------------------------------------------------- -# AUTO-DETECTION JOBS -# only one of them will run (they have the same name) -# -local: - url: 'unix://var/run/docker.sock' |