Esempio n. 1
0
    def __init__(self, filename=False, name='default', start=0):

        self.logging = getLogger('stateFile')

        self.logging.debug( "stateFile.init()" )

        self.filename = filename
        self.name = name
        self.id = start
        self.time = 0
        self.strtime = 'n/a'
        self.latency = 'n/a'
        self.pid = 'PID %s' % os.getpid()

        if not filename: return

        self.directory, self.filename = os.path.split(filename)

        if self.directory and not os.path.isdir( self.directory ):
            os.makedirs( self.directory )

        self.file = os.path.join( self.directory, "%s_%s" % ( self.name,self.filename ) )


        self.logging.debug( 'Open file for STATE tracking [%s]' % self.file )
        if os.path.isfile( self.file ):
            self.open_file('r+')
            self.read_file()
        else:
            self.open_file('w+')

        if not os.path.isfile( self.file ):
            raise sohException( 'Cannot create STATE file %s' % self.file )
Esempio n. 2
0
    def __init__(self, opt=False):

        self.logging = getLogger('Dlmon')

        self.logging.info( 'New Dlmon object' )

        self._clean()

        #self.export_format = export_format

        self.parse_opt = opt

        self.rules = stock.pfread('dlmon_rules.pf')
Esempio n. 3
0
    def __init__(self, collection, orb, orb_select=None, orb_reject=None,
                    default_orb_read=0, statefile=False, reap_wait=3,
                    timeout_exit=True, reap_timeout=5, parse_opt=False,
                    indexing=[] ):
        """
        Class to read an ORB for pf/st and pf/im packets and update a MongoDatabase
        with the values. We can run with the clean option and clean the
        archive before we start putting data in it.
        There is a position flag to force the reader to jump to a particular part
        of the ORB and the usual statefile to look for a previous value
        for the last packet id read.

        """
        self.logging = getLogger('soh_mongo')

        self.logging.debug( "Packet.init()" )

        self.dlmon = Dlmon(  stock.yesno(parse_opt) )
        self.packet = Packet()
        self.cache = {}
        self.orb = False
        self.errors = 0
        self.orbname = orb
        self.lastread  = 0
        self.timezone = 'UTC'
        self.position = False
        self.error_cache = {}
        self.indexing = indexing
        self.statefile  = statefile
        self.collection = collection
        self.orb_select = orb_select
        self.orb_reject  = orb_reject
        self.reap_wait = int(reap_wait)
        self.timeout_exit = timeout_exit
        self.reap_timeout = int(reap_timeout)
        self.timeformat = '%D (%j) %H:%M:%S %z'
        self.default_orb_read  = default_orb_read

        # StateFile
        self.state = stateFile( self.statefile, self.default_orb_read )
        self.position = self.state.last_packet()
        #self.last_time = self.state.last_time()

        self.logging.debug( 'Need ORB position: %s' % self.position )


        if not self.orb_select: self.orb_select = None
        if not self.orb_reject: self.orb_reject = None
Esempio n. 4
0
 def __init__(self):
     self._clean()
     self.logging = getLogger('Packet')