예제 #1
0
    def ajax(self):
        client = CassandraClient(config['ident'], config['cassandra_host'], config['cassandra_port'], config['cassandra_timeout'])
        keyword = request.GET['keyword']
        end_date = ''
        if 'next' in request.GET and request.GET['next']:
            end_date = long(request.GET['next'])

        return {'result': client.get_date_count(keyword, end_date=end_date, count=250)}
예제 #2
0
파일: log.py 프로젝트: nwut/logsandra
    def view(self):
        date_from = request.GET['date_from']
        date_to = request.GET['date_to']
        status = request.GET['status']
        search_keyword = request.GET['search_keyword']

        if search_keyword:
            keyword = search_keyword
        else:
            keyword = status

        current_prev = current_next = None
        if 'next' in request.GET:
            n = request.GET['next']
            if n is not None:
                current_next = long(n)

        if 'prev' in request.GET:
            p = request.GET['prev']
            if p is not None:
                current_prev = long(p)

        date_from = self.parse_datestr(date_from)
        date_to = self.parse_datestr(date_to)

        client = CassandraClient(config['ident'], config['cassandra_host'],
                                 config['cassandra_port'],
                                 config['cassandra_timeout'])
        kwargs = {}
        if current_next:
            kwargs = {'action_next': current_next}
        elif current_prev:
            kwargs = {'action_prev': current_prev}

        entries, prev, next = client.get_by_keyword(keyword, date_from,
                                                    date_to, **kwargs)

        c.entries = entries

        if prev:
            c.prev_url = url(controller='log',
                             action='view',
                             search_keyword=request.GET['search_keyword'],
                             status=request.GET['status'],
                             date_from=request.GET['date_from'],
                             date_to=request.GET['date_to'],
                             prev=prev)

        if next:
            c.next_url = url(controller='log',
                             action='view',
                             search_keyword=request.GET['search_keyword'],
                             status=request.GET['status'],
                             date_from=request.GET['date_from'],
                             date_to=request.GET['date_to'],
                             next=next)

        return render('/log_view.html')
예제 #3
0
    def ajax(self):
        client = CassandraClient(config['ident'], config['cassandra_host'],
                                 config['cassandra_port'],
                                 config['cassandra_timeout'])
        keyword = request.GET['keyword']
        end_date = ''
        if 'next' in request.GET and request.GET['next']:
            end_date = long(request.GET['next'])

        return {
            'result': client.get_date_count(keyword,
                                            end_date=end_date,
                                            count=250)
        }
예제 #4
0
파일: monitor.py 프로젝트: nwut/logsandra
    def __init__(self, settings, tail=False):
        self.logger = logging.getLogger('logsandra.monitord')
        self.settings = settings
        self.client = CassandraClient(settings['ident'],
                                      settings['cassandra_host'],
                                      settings['cassandra_port'],
                                      settings['cassandra_timeout'])

        self.tail = tail
        self.seek_position = {}

        self.parsers = {}
        parsers_path = os.path.join(
            os.path.dirname(imp.find_module('logsandra/monitor/')[1]),
            'parsers/')
        parsers_files = []
        for filename in os.listdir(parsers_path):
            if filename.endswith('.py') and not filename.startswith('__'):
                parsers_files.append(filename[:-3])
        parsers_temp = __import__('logsandra.monitor.parsers', globals(),
                                  locals(), parsers_files, -1)
        for filename in parsers_files:
            module = getattr(parsers_temp, filename)
            classname = '%sParser' % (filename.capitalize())
            self.parsers[filename] = getattr(module, classname)(self.client)
예제 #5
0
#!/usr/bin/env python
import sys
import os

sys.path.append(os.path.join(os.path.dirname('__file__'), '..', 'src'))

from random import randint
from datetime import datetime, timedelta

from logsandra.model.client import CassandraClient

client = CassandraClient('test', 'localhost', 9160, 3)

keywords = ['foo', 'bar', 'baz']
print "Loading sample data for the following keywords:", ', '.join(keywords)

today = datetime.now()
for i in range(1000):
    d = today + timedelta(randint(-7, -1), randint(-3600*24, 3600*24))
    client.add_log(d, 'test entry', 'here', [keywords[i % len(keywords)]])
예제 #6
0
#!/usr/bin/env python
import sys
import os

sys.path.append(os.path.join(os.path.dirname('__file__'), '..', 'src'))

from random import randint
from datetime import datetime, timedelta

from logsandra.model.client import CassandraClient

client = CassandraClient('test', 'localhost', 9160, 3)

keywords = ['foo', 'bar', 'baz']
print "Loading sample data for the following keywords:", ', '.join(keywords)

today = datetime.now()
for i in range(1000):
    d = today + timedelta(randint(-7, -1), randint(-3600 * 24, 3600 * 24))
    client.add_log(d, 'test entry', 'here', [keywords[i % len(keywords)]])