diff options
Diffstat (limited to 'collectors/python.d.plugin/nsd')
-rw-r--r-- | collectors/python.d.plugin/nsd/README.md | 2 | ||||
-rw-r--r-- | collectors/python.d.plugin/nsd/nsd.chart.py | 30 | ||||
-rw-r--r-- | collectors/python.d.plugin/nsd/nsd.conf | 10 |
3 files changed, 24 insertions, 18 deletions
diff --git a/collectors/python.d.plugin/nsd/README.md b/collectors/python.d.plugin/nsd/README.md index 02c302f41..b118657d2 100644 --- a/collectors/python.d.plugin/nsd/README.md +++ b/collectors/python.d.plugin/nsd/README.md @@ -52,3 +52,5 @@ It produces: Configuration is not needed. --- + +[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fpython.d.plugin%2Fnsd%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)]() diff --git a/collectors/python.d.plugin/nsd/nsd.chart.py b/collectors/python.d.plugin/nsd/nsd.chart.py index d713f46bd..77b0d7bbf 100644 --- a/collectors/python.d.plugin/nsd/nsd.chart.py +++ b/collectors/python.d.plugin/nsd/nsd.chart.py @@ -7,13 +7,20 @@ import re from bases.FrameworkServices.ExecutableService import ExecutableService -# default module values (can be overridden per job in `config`) -priority = 60000 -retries = 5 + update_every = 30 -# charts order (can be overridden if you want less charts, or different order) -ORDER = ['queries', 'zones', 'protocol', 'type', 'transfer', 'rcode'] +NSD_CONTROL_COMMAND = 'nsd-control stats_noreset' +REGEX = re.compile(r'([A-Za-z0-9.]+)=(\d+)') + +ORDER = [ + 'queries', + 'zones', + 'protocol', + 'type', + 'transfer', + 'rcode', +] CHARTS = { 'queries': { @@ -79,22 +86,21 @@ CHARTS = { class Service(ExecutableService): def __init__(self, configuration=None, name=None): - ExecutableService.__init__( - self, configuration=configuration, name=name) - self.command = 'nsd-control stats_noreset' + ExecutableService.__init__(self, configuration=configuration, name=name) self.order = ORDER self.definitions = CHARTS - self.regex = re.compile(r'([A-Za-z0-9.]+)=(\d+)') + self.command = NSD_CONTROL_COMMAND def _get_data(self): lines = self._get_raw_data() if not lines: return None - r = self.regex - stats = dict((k.replace('.', '_'), int(v)) - for k, v in r.findall(''.join(lines))) + stats = dict( + (k.replace('.', '_'), int(v)) for k, v in REGEX.findall(''.join(lines)) + ) stats.setdefault('num_opcode_NOTIFY', 0) stats.setdefault('num_type_TYPE252', 0) stats.setdefault('num_type_TYPE255', 0) + return stats diff --git a/collectors/python.d.plugin/nsd/nsd.conf b/collectors/python.d.plugin/nsd/nsd.conf index 078e97216..77a8a3177 100644 --- a/collectors/python.d.plugin/nsd/nsd.conf +++ b/collectors/python.d.plugin/nsd/nsd.conf @@ -28,11 +28,9 @@ # If unset, the default for python.d.plugin is used. # priority: 60000 -# retries sets the number of retries to be made in case of failures. -# If unset, the default for python.d.plugin is used. -# Attempts to restore the service are made once every update_every -# and only if the module has collected values in the past. -# retries: 60 +# 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. @@ -59,7 +57,7 @@ # # 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 -# retries: 60 # the JOB's number of restoration attempts +# penalty: yes # the JOB's penalty # autodetection_retry: 0 # the JOB's re-check interval in seconds # # Additionally to the above, nsd also supports the following: |