def METHOD_NAME():
    """The main function. Hier spielt die Musik.
    """
    # parse the command line, exit with UNKNOWN if it fails
    try:
        args = parse_args()
    except SystemExit:
        sys.exit(STATE_UNKNOWN)
    base_url = args.URL
    if not args.URL.startswith('http'):
        lib.base.cu('--url parameter has to start with "http://" or https://".')
    # Authorization (if needed)
    header = {}
    header['Accept'] = 'application/json'
    if args.USERNAME and args.PASSWORD:
        auth = '{}:{}'.format(args.USERNAME, args.PASSWORD)
        encoded_auth = lib.txt.to_text(base64.b64encode(lib.txt.to_bytes(auth)))
        header['Authorization'] = 'Basic {}'.format(encoded_auth)
    # get the vendor to know which entry point to use
    url = '{}/redfish/v1/'.format(base_url)
    result = lib.base.coe(lib.url.fetch_json(url, insecure=True, header=header))
    vendor = lib.redfish.get_vendor(result)
    # Entry point: Get the main data
    url = '{}/redfish/v1/Managers'.format(base_url)
    result = lib.base.coe(lib.url.fetch_json(url, insecure=True, header=header))
    # "Members": [
    #     {
    #         "@odata.id": "/redfish/v1/Managers/BMC"
    #     }
    # ],
    if len(result.get('Members', [])) == 0:
        lib.base.cu('Nothing to check, no Redfish members found.')
    # init some vars
    msg = ''
    state = STATE_OK
    if vendor == 'generic':
        sel_path = '/LogServices/Log/Entries'
    if vendor in ['ami']:
        sel_path = '/LogServices/BIOS/Entries'
    if vendor in ['cisco']:
        sel_path = '/LogServices/SEL/Entries'
    if vendor in ['dell']:
        sel_path = '/LogServices/Sel/Entries'
    if vendor in ['hpe', 'hp']:
        sel_path = '/LogServices/IML/Entries'
    if vendor in ['lenovo']:
        sel_path = '/LogServices/ActiveLog/Entries'
    if vendor in ['ts_fujitsu']:
        sel_path = '/LogServices/SystemEventLog/Entries'
    member_count = 0
    # fetch and analyze data by following the "Members" found
    for member in result.get('Members', []):
        member_count += 1
        # For example {https://localhost:5000/redfish/v1/Managers/} {BMC} {/LogServices/Log/Entries}
        url = '{}{}{}'.format(base_url, member['@odata.id'], sel_path)
        sel = lib.base.coe(lib.url.fetch_json(url, insecure=True, header=header))
        member_msg, member_state = lib.redfish.get_manager_logservices_sel_entries(sel)
        if member_msg:
            msg += '{}\n{}\n\n'.format(member['@odata.id'], member_msg)
            state = lib.base.get_worst(state, member_state)
    if state == STATE_CRIT:
        msg = 'Checked SEL on {} {}. There are critical errors.\n\n'.format(member_count, lib.txt.pluralize('member', member_count)) + msg
    elif state == STATE_WARN:
        msg = 'Checked SEL on {} {}. There are warnings.\n\n'.format(member_count, lib.txt.pluralize('member', member_count)) + msg
    else:
        msg = 'Everything is ok, checked SEL on {} {}.\n\n'.format(member_count, lib.txt.pluralize('member', member_count)) + msg
    # over and out
    lib.base.oao(msg, state, always_ok=args.ALWAYS_OK)