-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathopensyslog_syslog.py
38 lines (27 loc) · 1.41 KB
/
opensyslog_syslog.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import socket
import time
socket_receive_buffer = 4096
class OpensyslogSyslog:
def __init__(self, opensysloghelper):
self.helper = opensysloghelper
def monitor(self):
self.helper.print(self.helper.log_level_debug, "OpensyslogSyslog:monitor(): enter")
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((self.helper.config["syslog"]["ip"], self.helper.config["syslog"]["port"]))
while True:
data, address = sock.recvfrom(socket_receive_buffer)
self.handle_incoming_data(data.decode('utf-8'))
except Exception as e:
self.helper.print(self.helper.log_level_error, "OpensyslogSyslog:monitor():Exception: " + str(e))
time.sleep(60)
self.helper.print(self.helper.log_level_debug, "OpensyslogSyslog:monitor(): exit")
def handle_incoming_data(self, string_data):
self.helper.print(self.helper.log_level_debug, "OpensyslogSyslog:hid(): enter")
self.helper.log_data(string_data)
self.parse_message_data(string_data)
self.helper.print(self.helper.log_level_debug, "OpensyslogSyslog:hid(): exit")
def parse_message_data(self, string_data):
self.helper.print(self.helper.log_level_debug, "OpensyslogSyslog:pmd(): enter")
# Future implementation
self.helper.print(self.helper.log_level_debug, "OpensyslogSyslog:pmd(): exit")