summaryrefslogtreecommitdiffstats
path: root/collectors/python.d.plugin/fail2ban/fail2ban.chart.py
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/python.d.plugin/fail2ban/fail2ban.chart.py')
-rw-r--r--collectors/python.d.plugin/fail2ban/fail2ban.chart.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/collectors/python.d.plugin/fail2ban/fail2ban.chart.py b/collectors/python.d.plugin/fail2ban/fail2ban.chart.py
index 954689008..dfd2feab7 100644
--- a/collectors/python.d.plugin/fail2ban/fail2ban.chart.py
+++ b/collectors/python.d.plugin/fail2ban/fail2ban.chart.py
@@ -35,8 +35,19 @@ def charts(jails):
},
}
for jail in jails:
- ch[ORDER[0]]['lines'].append([jail, jail, 'incremental'])
- ch[ORDER[1]]['lines'].append(['{0}_in_jail'.format(jail), jail, 'absolute'])
+ dim = [
+ jail,
+ jail,
+ 'incremental',
+ ]
+ ch[ORDER[0]]['lines'].append(dim)
+
+ dim = [
+ '{0}_in_jail'.format(jail),
+ jail,
+ 'absolute',
+ ]
+ ch[ORDER[1]]['lines'].append(dim)
return ch
@@ -46,7 +57,8 @@ RE_JAILS = re.compile(r'\[([a-zA-Z0-9_-]+)\][^\[\]]+?enabled\s+= (true|false)')
# Example:
# 2018-09-12 11:45:53,715 fail2ban.actions[25029]: WARNING [ssh] Unban 195.201.88.33
# 2018-09-12 11:45:58,727 fail2ban.actions[25029]: WARNING [ssh] Ban 217.59.246.27
-RE_DATA = re.compile(r'\[(?P<jail>[A-Za-z-_0-9]+)\] (?P<action>Unban|Ban) (?P<ip>[a-f0-9.:]+)')
+# 2018-09-12 11:45:58,727 fail2ban.actions[25029]: WARNING [ssh] Restore Ban 217.59.246.27
+RE_DATA = re.compile(r'\[(?P<jail>[A-Za-z-_0-9]+)\] (?P<action>Unban|Ban|Restore Ban) (?P<ip>[a-f0-9.:]+)')
DEFAULT_JAILS = [
'ssh',
@@ -58,12 +70,10 @@ class Service(LogService):
LogService.__init__(self, configuration=configuration, name=name)
self.order = ORDER
self.definitions = dict()
-
self.log_path = self.configuration.get('log_path', '/var/log/fail2ban.log')
self.conf_path = self.configuration.get('conf_path', '/etc/fail2ban/jail.local')
self.conf_dir = self.configuration.get('conf_dir', '/etc/fail2ban/jail.d/')
self.exclude = self.configuration.get('exclude', str())
-
self.monitoring_jails = list()
self.banned_ips = defaultdict(set)
self.data = dict()
@@ -116,7 +126,7 @@ class Service(LogService):
jail, action, ip = match['jail'], match['action'], match['ip']
- if action == 'Ban':
+ if action == 'Ban' or action == 'Restore Ban':
self.data[jail] += 1
if ip not in self.banned_ips[jail]:
self.banned_ips[jail].add(ip)
@@ -126,7 +136,7 @@ class Service(LogService):
self.banned_ips[jail].remove(ip)
self.data['{0}_in_jail'.format(jail)] -= 1
- return self.data
+ return self.data
def get_files_from_dir(self, dir_path, suffix):
"""