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)
    # fetch data
    # fail2ban-client ping
    if args.TEST is None:
        stdout, stderr, retc = lib.base.coe(lib.shell.shell_exec('fail2ban-client ping'))
    else:
        # do not call the command, put in test data
        stdout, stderr, retc = lib.test.test([args.TEST[0] + '-ping', args.TEST[1], args.TEST[2]])
    if retc != 0:
        lib.base.cu('Problem while testing if the fail2ban server is alive.')
    # fail2ban-client status
    if args.TEST is None:
        stdout, stderr, retc = lib.base.coe(lib.shell.shell_exec('fail2ban-client status'))
    else:
        # do not call the command, put in test data
        stdout, stderr, retc = lib.test.test([args.TEST[0] + '-status', args.TEST[1], args.TEST[2]])
    if retc != 0:
        lib.base.cu('Problem while testing the status of the fail2ban server.')
    # extract the jail list
    jail_list = lib.txt.extract_str(stdout, 'Jail list:\t', '\n')
    if not jail_list:
        lib.base.cu('No jails found.')
    jail_list = jail_list.split(', ')
    # init some vars
    msg = ''
    perfdata = ''
    state = STATE_OK
    # analyze data
    #     for each jail_name:
    #         get status of jail_name
    for jail in jail_list:
        if args.TEST is None:
            stdout, stderr, retc = lib.base.coe(
                lib.shell.shell_exec('fail2ban-client status {}'.format(jail))
            )
        else:
            # do not call the command, put in test data
            stdout, stderr, retc = lib.test.test(
                [args.TEST[0] + '-status-{}'.format(jail),
                args.TEST[1],
                args.TEST[2]],
            )
        if retc != 0:
            lib.base.oao(
                'Problem while testing the status of the jail "{}" on the fail2ban server.'.format(
                    jail
                ),
                STATE_UNKNOWN,
            )
        f2b_currently_banned = lib.txt.extract_str(stdout, 'Currently banned:\t', '\n')
        # important to convert the result to an integer for the comparison later on
        if f2b_currently_banned:
            f2b_currently_banned = int(f2b_currently_banned)
        else:
            f2b_currently_banned = 0
        jail_state = lib.base.get_state(f2b_currently_banned, args.WARN, args.CRIT)
        state = lib.base.get_worst(state, jail_state)
        msg += '{}: {}{}, '.format(
            jail,
            f2b_currently_banned,
            lib.base.state2str(state, prefix=' '),
        )
        perfdata += lib.base.get_perfdata(jail, f2b_currently_banned, None, args.WARN, args.CRIT, 0, None) # pylint: disable=C0301
    # over and out
    if msg:
        lib.base.oao('IPs banned - ' + msg[:-2], state, perfdata, always_ok=args.ALWAYS_OK)