def beacon(config):
    '''
    The journald beacon allows for the systemd journal to be parsed and linked
    objects to be turned into events.

    This beacons config will return all sshd jornal entries

    .. code-block:: yaml

        beacons:
          journald:
            - services:
                sshd:
                  SYSLOG_IDENTIFIER: sshd
                  PRIORITY: 6
    '''
    ret = []
    journal = _get_journal()

    _config = {}
    list(map(_config.update, config))

    while True:
        cur = journal.get_next()
        if not cur:
            break

        for name in _config.get('services', {}):
            n_flag = 0
            for key in _config['services'][name]:
                if isinstance(key, salt.ext.six.string_types):
                    key = salt.utils.data.decode(key)
                if key in cur:
                    if _config['services'][name][key] == cur[key]:
                        n_flag += 1
            if n_flag == len(_config['services'][name]):
                # Match!
                sub = salt.utils.data.simple_types_filter(cur)
                sub.update({'tag': name})
                ret.append(sub)
    return ret
def beacon ( config ) : ret = [ ] journal = _get_journal ( ) _config = { } list ( map ( _config . update , config ) ) while True : cur = journal . get_next ( ) if not cur : break for name in _config . get ( 'services' , { } ) : n_flag = 0 for key in _config [ 'services' ] [ name ] : if isinstance ( key , salt . ext . six . string_types ) : key = salt . utils . data . decode ( key ) if key in cur : if _config [ 'services' ] [ name ] [ key ] == cur [ key ] : n_flag += 1 if n_flag == len ( _config [ 'services' ] [ name ] ) : sub = salt . utils . data . simple_types_filter ( cur ) sub . update ( { 'tag' : name } ) ret . append ( sub ) return ret
The journald beacon allows for the systemd journal to be parsed and linked
    objects to be turned into events.

    This beacons config will return all sshd jornal entries

    .. code-block:: yaml

        beacons:
          journald:
            - services:
                sshd:
                  SYSLOG_IDENTIFIER: sshd
                  PRIORITY: 6