samba logs - files matching /var/log/samba/*.log

class insights.parsers.samba_logs.SAMBALog(context)[source]

Bases: insights.core.LogFileOutput

Parser class for reading samba log files. The main work is done by the LogFileOutput super-class.

Sample input:

[2018/12/07 07:09:44.812154, 5, pid=6434, effective(0, 0), real(0, 0)] ../source3/param/loadparm.c:1344(free_param_opts)

Freeing parametrics:

[2018/12/07 07:09:44.812281, 3, pid=6434, effective(0, 0), real(0, 0)] ../source3/param/loadparm.c:547(init_globals)

Initialising global parameters

[2018/12/07 07:09:44.812356, 2, pid=6434, effective(0, 0), real(0, 0)] ../source3/param/loadparm.c:319(max_open_files)

rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

[2019/45/899 11:11:04.911891, 3, pid=15822, effective(0, 0), real(0, 0)] ../source3/printing/queue_process.c:236

(bq_sig_hup_handler) Reloading pcap cache after SIGHUP.

Each line is parsed into a dictionary with the following keys:

  • timestamp - the date of the log line (as a string)

  • datetime - the date as a datetime object (if conversion is possible)

  • pid - process id of samba process being run

  • function - the function within the module

  • message - the body of the message

  • raw_message - the raw message before being split.

Examples

>>> 'Fake' in samba_logs
True
>>> 'pid=15822, effective(0, 0), real(0, 0)]' in samba_logs
True
>>> len(samba_logs.get('Fake line')) == 1
True