Exemple #1
0
    def run(self):
        parser = OptionParser(usage='usage: firetower options args')
        parser.add_option(
                '-c', '--conf', action='store', dest='conf_path',
                help='Path to YAML configuration file.')

        (options, args) = parser.parse_args()

        if len(args) > 1:
            parser.error('Please supply some arguments')

        conf = config.Config(options.conf_path)

        alert_time = None
        queue = Redis(host=conf.redis_host, port=conf.redis_port)
        cls = classifier.Levenshtein(queue)
        alert = alerts.Alert(queue)
        while 1:
            now = datetime.datetime.now()
            err = queue.pop(conf.queue_key)
            if not alert_time:
                alert_time = datetime.timedelta(minutes=conf.alert_time) + now
            elif alert_time < now:
                alert.check(conf.error_signatures, conf.timeslices)
                alert_time = datetime.timedelta(minutes=conf.alert_time) + now
            if err:
                parsed = json.loads(err)
                cls.classify(parsed)
            else:
                time.sleep(1)
Exemple #2
0
    def run(self):
        parser = OptionParser(usage="usage: firetower options args")
        parser.add_option("-c", "--conf", action="store", dest="conf_path", help="Path to YAML configuration file.")

        (options, args) = parser.parse_args()

        conf = config.Config(options.conf_path)

        alert_time = None
        queue = Redis(host=conf.redis_host, port=conf.redis_port)
        cls = classifier.Levenshtein(queue)
        alert = alerts.Alert(queue)
        while 1:
            now = datetime.datetime.now()
            err = queue.pop(conf.queue_key)
            if not alert_time:
                alert_time = datetime.timedelta(minutes=conf.alert_time) + now
            elif alert_time < now:
                alert.check(conf.error_signatures, conf.timeslices)
                alert_time = datetime.timedelta(minutes=conf.alert_time) + now
            if err:
                parsed = json.loads(err)
                cls.classify(parsed, conf.class_thresh)
            else:
                time.sleep(1)