add systemctl and ufw parsers, support for varying degrees of severity
[logparse.git] / logparse / config.py
index 53f332d798524d9e786ad74eb4b333303cc059ab..e2aa830a327458e7afde8e03d3b9f00bf1b479f2 100644 (file)
@@ -1,14 +1,15 @@
-#
-#   config.py
-#
-#   Default config values and basic wrapper for ConfigParser. New config options
-#   should be added to the dictionary below, along with appropriate defaults.
-#
-#   Runtime configuration is done through /etc/logparse/logparse.conf (default)
-#   or the path specified in the "--config" argument. The file uses the INI
-#   syntax, with general options being declared in the [logparse] section and
-#   parser-specific options declared in their own sections.
-#
+"""
+This modules contains default config values and basic wrapper for ConfigParser.
+New config options should be added to the dictionary below, along with 
+appropriate defaults. Runtime configuration is done through the config file at
+/etc/logparse/logparse.conf (default) or the path specified in the "--config"
+argument. The file uses the INI syntax, with general options being declared in
+the [logparse] section and parser-specific options declared in their own
+sections.
+
+This module provides the following methods:
+    - `loadconf()`: set up ConfigParser and process config file
+"""
 
 from configparser import ConfigParser
 from pkg_resources import Requirement, resource_filename
@@ -33,7 +34,8 @@ defaults = {
             'quiet': False,
             'hostname-path': '/etc/hostname',
             'parsers': '',
-            'ignore-parsers': ''
+            'ignore-parsers': '',
+            'period': '1 day'
         },
         'html': {
             'header':  '/etc/logparse/header.html',
@@ -50,6 +52,7 @@ defaults = {
             'cron': '/var/log/cron.log',
             'cpuinfo': '/proc/cpuinfo',
             'meminfo': '/proc/meminfo',
+            'uptime': '/proc/uptime',
             'sys': '/var/log/syslog',
             'smbd': '/var/log/samba',
             'zfs': '/var/log/zpool.log',
@@ -58,6 +61,9 @@ defaults = {
             'httpd-access': '/var/log/apache2/access.log',
             'httpd-error': '/var/log/apache2/error.log'
         },
+        'cron': {
+            'period': ''
+        },
         'mail': {
             'to': '',
             'from': '',
@@ -71,31 +77,39 @@ defaults = {
             'timeout': 10,
             'port': 7634,
             'show-model': False, 
+            'period': ''
         },
         'sshd': {
-            'resolve-domains': ''
+            'sshd-resolve-domains': '',
+            'period': ''
         },
         'smbd': {
-            'resolve-domains': ''
+            'shares': '^((?!IPC\$).)*$',
+            'users': '.*',
+            'smbd-resolve-domains': '',
+            'period': ''
         },
         'httpd': {
-            'resolve-domains': ''
+            'httpd-resolve-domains': '',
+            'period': ''
         },
         'du': {
             'paths': ['/', '/etc', '/home'],
             'force-write': False
+        },
+        'ufw': {
+            'ufw-resolve-domains': '',
+            'period': ''
+        },
+        'sudo': {
+            'period': ''
+        },
+        'systemctl': {
+            'period': '',
+            'show-all': True
         }
 }
 
-def locate(filename):
-    """
-    DEPRECATED: draft method for what is now parsers/load_parsers.py. Kept here
-    for historical purposes.
-    """
-    logger.debug("Searching for {0}".format(filename))
-    loc = resource_filename(Requirement.parse(__package__), filename)
-    logger.debug("Found {0}".format(loc))
-    return loc
 
 def loadconf(configpaths):
     """