Beispiel #1
0
def tail_logs(logkeys, leql, poll_interval, favorites=None, logset=None, saved_query_id=None):
    """
    Tail given logs
    """
    if favorites:
        logkeys = api_utils.get_named_logkey_group(favorites)
    elif logset:
        logkeys = api.get_log_keys_from_logset(logset)
    if saved_query_id:
        if logkeys:
            url = _url(('live', 'logs', ':'.join(logkeys), str(saved_query_id)))[1]
        else:
            url = _url(('live', 'saved_query', str(saved_query_id)))[1]
    else:
        url = _url(('live', 'logs'))[1]
    try:
        if saved_query_id:
            response = requests.get(url, headers=api_utils.generate_headers('rw'))
        else:
            payload = {'logs': logkeys}
            if leql:
                payload.update({'leql': {'statement': leql}})

            response = requests.post(url, headers=api_utils.generate_headers('rw'), json=payload)
        handle_tail(response, poll_interval)
        return True
    except requests.exceptions.RequestException as error:
        click.echo(error, err=True)
        sys.exit(1)
Beispiel #2
0
def tail_logs(logkeys, leql, poll_interval, favorites=None, logset=None, saved_query_id=None):
    """
    Tail given logs
    """
    if favorites:
        logkeys = api_utils.get_named_logkey_group(favorites)
    elif logset:
        logkeys = api.get_log_keys_from_logset(logset)
    if saved_query_id:
        if logkeys:
            url = _url(('live', 'logs', ':'.join(logkeys), str(saved_query_id)))[1]
        else:
            url = _url(('live', 'saved_query', str(saved_query_id)))[1]
    else:
        url = _url(('live', 'logs'))[1]
    try:
        if saved_query_id:
            response = requests.get(url, headers=api_utils.generate_headers('rw'))
        else:
            payload = {'logs': logkeys}
            if leql:
                payload.update({'leql': {'statement': leql}})

            response = requests.post(url, headers=api_utils.generate_headers('rw'), json=payload)
        handle_tail(response, poll_interval)
        return True
    except requests.exceptions.RequestException as error:
        click.echo(error, err=True)
        sys.exit(1)
Beispiel #3
0
def query(**kwargs):
    """
    Post query to Logentries.
    """
    date_from = kwargs.get('date_from')
    date_to = kwargs.get('date_to')
    time_from = kwargs.get('time_from')
    time_to = kwargs.get('time_to')
    relative_time_range = kwargs.get('relative_time_range')
    saved_query_id = kwargs.get('saved_query_id')
    query_string = kwargs.get('query_string')
    log_keys = kwargs.get('log_keys')
    favorites = kwargs.get('favorites')
    logset = kwargs.get('logset')
    if not validate_query(date_from=date_from, time_from=time_from, query_string=query_string,
                          relative_time_range=relative_time_range, saved_query_id=saved_query_id,
                          log_keys=log_keys, favorites=favorites, logset=logset):
        return False

    time_range = prepare_time_range(time_from, time_to, relative_time_range, date_from, date_to)
    if favorites:
        log_keys = api_utils.get_named_logkey_group(favorites)
    if logset:
        log_keys = api.get_log_keys_from_logset(logset)
    try:
        if saved_query_id:
            response = run_saved_query(saved_query_id, time_range, log_keys)
        else:
            response = post_query(log_keys, query_string, time_range)
        with click.progressbar(length=100, label='Progress\t') as progress_bar:
            handle_response(response, progress_bar)
        return True
    except requests.exceptions.RequestException as error:
        click.echo(error)
        sys.exit(1)
Beispiel #4
0
def query(**kwargs):
    """
    Post query to Logentries.
    """
    date_from = kwargs.get('date_from')
    date_to = kwargs.get('date_to')
    time_from = kwargs.get('time_from')
    time_to = kwargs.get('time_to')
    relative_time_range = kwargs.get('relative_time_range')
    saved_query_id = kwargs.get('saved_query_id')
    query_string = kwargs.get('query_string')
    log_keys = kwargs.get('log_keys')
    favorites = kwargs.get('favorites')
    logset = kwargs.get('logset')
    if not validate_query(date_from=date_from, time_from=time_from, query_string=query_string,
                          relative_time_range=relative_time_range, saved_query_id=saved_query_id,
                          log_keys=log_keys, favorites=favorites, logset=logset):
        return False

    time_range = prepare_time_range(time_from, time_to, relative_time_range, date_from, date_to)
    if favorites:
        log_keys = api_utils.get_named_logkey_group(favorites)
    if logset:
        log_keys = api.get_log_keys_from_logset(logset)
    try:
        if saved_query_id:
            response = run_saved_query(saved_query_id, time_range, log_keys)
        else:
            response = post_query(log_keys, query_string, time_range)
        with click.progressbar(length=100, label='Progress\t') as progress_bar:
            handle_response(response, progress_bar)
        return True
    except requests.exceptions.RequestException as error:
        click.echo(error)
        sys.exit(1)