1 # -*- coding: utf-8 -*-
2 # Description: hddtemp netdata python.d module
3 # Author: Pawel Krupa (paulfantom)
5 from base import SocketService
7 # default module values (can be overridden per job in `config`)
12 # default job configuration (overridden by python.d.plugin)
13 # config = {'local': {
14 # 'update_every': update_every,
16 # 'priority': priority,
17 # 'host': 'localhost',
21 ORDER = ['temperatures']
25 'options': ['disks_temp', 'temperature', 'Celsius', 'Disks temperature', 'hddtemp.temp', 'line'],
27 # lines are created dynamically in `check()` method
32 class Service(SocketService):
33 def __init__(self, configuration=None, name=None):
34 SocketService.__init__(self, configuration=configuration, name=name)
35 self._keep_alive = False
37 self.host = "127.0.0.1"
40 self.definitions = CHARTS
44 Get data from TCP/IP socket
48 raw = self._get_raw_data().split("|")[:-1]
49 except AttributeError:
50 self.error("no data received")
53 for i in range(len(raw) // 5):
58 data[raw[i*5+1].replace("/dev/", "")] = val
61 self.error("received data doesn't have needed records")
68 Parse configuration, check if hddtemp is available, and dynamically create chart lines data
72 data = self._get_data()
77 self.definitions[ORDER[0]]['lines'].append([name])