bin/pvl.dhcp-syslog
author Tero Marttila <terom@paivola.fi>
Sun, 07 Sep 2014 14:21:56 +0300
changeset 424 e77e967d59b0
parent 228 3b1437d4b0a1
permissions -rwxr-xr-x
hgignore: use glob; ignore snmp mibs
15
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
#!/usr/bin/env python
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
"""
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
    Monitor DHCP use.
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
"""
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
174
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
     7
__version__ = '0.1'
15
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     8
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
import pvl.args
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
import pvl.syslog.args
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
import pvl.verkko.db as db
169
a81ca751664d move pvl.verkko.dhcp and pvl.syslog.dhcp to pvl.dhcp.leases/syslog
Tero Marttila <terom@paivola.fi>
parents: 150
diff changeset
    13
import pvl.dhcp.syslog
174
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    14
import pvl.dhcp.hosts
15
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
import logging, optparse
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
log = logging.getLogger('main')
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
# name of process in syslog
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
DHCP_SYSLOG_PROG = 'dhcpd'
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    22
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    23
def parse_options (argv) :
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    24
    """
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    25
        Parse command-line arguments.
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    26
    """
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    27
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
    prog = argv[0]
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
    parser = optparse.OptionParser(
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
            prog        = prog,
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    32
            usage       = '%prog: [options]',
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    33
            version     = __version__,
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    34
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    35
            # module docstring
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    36
            description = __doc__,
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    37
    )
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    38
    
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    39
    # options
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    40
    parser.add_option_group(pvl.args.parser(parser))
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    41
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    42
    ## syslog
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    43
    parser.add_option_group(pvl.syslog.args.parser(parser, prog=DHCP_SYSLOG_PROG))
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    44
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    45
    ## XXX: networks
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    46
    parser.add_option('--network',              metavar='NET', action='append',
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    47
            help="Filter leases by network prefix as plugin instance")
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    48
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    49
    parser.add_option('--gateway',              metavar='GW/IFACE', action='append',
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    50
            help="Filter messages by gateway/interface as plugin instance")
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    51
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    52
    ## hosts
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    53
    parser.add_option('--database',             metavar='URI',
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    54
            help="Track hosts in given database")
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    55
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    56
    parser.add_option('--create',               action='store_true',
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    57
            help="Initialize database")
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    58
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    59
    # defaults
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    60
    parser.set_defaults(
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    61
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    62
    )
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    63
    
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    64
    # parse
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    65
    options, args = parser.parse_args(argv[1:])
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    66
    
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    67
    # apply
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    68
    pvl.args.apply(options, prog)
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    69
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    70
    if not options.database :
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    71
        parser.error("Missing required option: --database")
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    72
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    73
    return options, args
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    74
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    75
def main (argv) :
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    76
    options, args = parse_options(argv)
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    77
16
51509b5ce1c0 request per session, move to postgres, rename columns, fixup state/name/error handling in updates
Tero Marttila <terom@paivola.fi>
parents: 15
diff changeset
    78
    # db
51509b5ce1c0 request per session, move to postgres, rename columns, fixup state/name/error handling in updates
Tero Marttila <terom@paivola.fi>
parents: 15
diff changeset
    79
    if not options.database :
51509b5ce1c0 request per session, move to postgres, rename columns, fixup state/name/error handling in updates
Tero Marttila <terom@paivola.fi>
parents: 15
diff changeset
    80
        log.error("No database given")
51509b5ce1c0 request per session, move to postgres, rename columns, fixup state/name/error handling in updates
Tero Marttila <terom@paivola.fi>
parents: 15
diff changeset
    81
        return 1
51509b5ce1c0 request per session, move to postgres, rename columns, fixup state/name/error handling in updates
Tero Marttila <terom@paivola.fi>
parents: 15
diff changeset
    82
51509b5ce1c0 request per session, move to postgres, rename columns, fixup state/name/error handling in updates
Tero Marttila <terom@paivola.fi>
parents: 15
diff changeset
    83
    log.info("Open up database: %s", options.database)
174
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    84
    db = pvl.verkko.db.Database(options.database)
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    85
    hosts_db = pvl.dhcp.hosts.DHCPHostsDatabase(db)
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    86
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    87
    if options.create :
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    88
        hosts_db.create()
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    89
  
15
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    90
    # syslog
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    91
    log.info("Open up syslog...")
174
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    92
    syslog = pvl.syslog.args.apply(options)
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    93
    parser = pvl.dhcp.syslog.DHCPSyslogParser()
17
29f0cf9220e0 track dhcp leases, using pvl.verkko.dhcp.leases from pvl-collectd..
Tero Marttila <terom@paivola.fi>
parents: 16
diff changeset
    94
174
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    95
    log.info("Enter mainloop...")
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    96
    for source in syslog.main() :
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    97
        # parse dhcp messages from syslog
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    98
        for host in parser(source) :
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
    99
            log.debug("%s: %s", source, host)
15
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   100
174
6f339a8a87dc split pvl.dhcp-leases from pvl.syslog-dhcp using pvl.dhcp.hosts/syslog/leases
Tero Marttila <terom@paivola.fi>
parents: 169
diff changeset
   101
            hosts_db(host)
15
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   102
    
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   103
    # done
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   104
    return 0
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   105
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   106
if __name__ == '__main__':
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   107
    import sys
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   108
66f81f4b6aa7 bin/pvl.verkko-dhcp: re-implement syslog -> database based on pvl.collectd-dhcp; uses pvl.syslog from pvl-collectd
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   109
    sys.exit(main(sys.argv))