# Description: hddtemp netdata python.d module
# Author: Pawel Krupa (paulfantom)
+import os
from base import SocketService
# default module values (can be overridden per job in `config`)
self.port = 7634
self.order = ORDER
self.definitions = CHARTS
+ self.disk_count = 1
+ self.exclude = []
+
+ def _get_disk_count(self):
+ all_disks = [f for f in os.listdir("/dev") if len(f) == 3 and f.startswith("sd")]
+ for disk in self.exclude:
+ try:
+ all_disks.remove(disk)
+ except:
+ self.debug("Disk not found")
+ return len(all_disks)
def _check_raw_data(self, data):
if not data.endswith('|'):
return False
- if data.count('|') % 5 == 0:
+ if data.count('|') % (5 * self.disk_count) == 0:
return True
return False
Get data from TCP/IP socket
:return: dict
"""
+ self.disk_count = self._get_disk_count()
try:
raw = self._get_raw_data().split("|")[:-1]
except AttributeError:
:return: boolean
"""
self._parse_config()
+ try:
+ self.exclude = list(self.configuration['exlude'])
+ except (KeyError, TypeError) as e:
+ self.info("No excluded disks")
+ self.debug(str(e))
data = self._get_data()
if data is None:
return False