Update check_ping.py

This commit is contained in:
gru
2025-05-29 19:15:20 +02:00
parent 12315b189a
commit 7b5988e782

View File

@ -18,17 +18,17 @@ def set_fail_safe(seconds):
def parse_args(): def parse_args():
parser = argparse.ArgumentParser(description="check_ping replacement with delayed alerting.") parser = argparse.ArgumentParser(description="check_ping replacement with delayed alerting.")
parser.add_argument("-H", required=True, help="Host address") parser.add_argument("-H", "--host", required=True, help="Host address")
parser.add_argument("-w", required=True, help="Warning threshold: rta,pl%") parser.add_argument("-w", "--warning", required=True, help="Warning threshold: rta,pl%")
parser.add_argument("-c", required=True, help="Critical threshold: rta,pl%") parser.add_argument("-c", "--critical", required=True, help="Critical threshold: rta,pl%")
parser.add_argument("-p", type=int, default=5, help="Number of packets to send (default: 5)") parser.add_argument("-p", "--packets", type=int, default=5, help="Number of packets to send (default: 5)")
parser.add_argument("-t", type=int, default=5, help="Timeout per packet in seconds (default: 5)") parser.add_argument("-t", "--timeout", type=int, default=5, help="Timeout per packet in seconds (default: 5)")
parser.add_argument("-4", dest="ipv4", action="store_true", help="Force IPv4") parser.add_argument("-4", "--ipv4", dest="ipv4", action="store_true", help="Force IPv4")
parser.add_argument("-6", dest="ipv6", action="store_true", help="Force IPv6") parser.add_argument("-6", "--ipv6", dest="ipv6", action="store_true", help="Force IPv6")
parser.add_argument("--fails", type=int, default=3, help="Number of consecutive failures before alerting (default: 3)") parser.add_argument("--fails", "-f", type=int, default=3, help="Number of consecutive failures before alerting (default: 3)")
parser.add_argument("--delay", type=int, default=10, help="Delay in seconds between retries (default: 10)") parser.add_argument("--delay", "-d", type=int, default=10, help="Delay in seconds between retries (default: 10)")
parser.add_argument("--max-runtime", type=int, default=60, help="Max runtime in seconds before fail-safe exit (default: 60)") parser.add_argument("--max-runtime", "-m", type=int, default=60, help="Max runtime in seconds before fail-safe exit (default: 60)")
parser.add_argument("--interface", help="Use specific network interface (e.g., eth0)") parser.add_argument("--interface", "-i", help="Use specific network interface (e.g., eth0)")
return parser.parse_args() return parser.parse_args()
def run_ping(host, count, timeout, ipv4, ipv6, interface): def run_ping(host, count, timeout, ipv4, ipv6, interface):
@ -71,7 +71,7 @@ def main():
fail_count = 0 fail_count = 0
while True: while True:
output = run_ping(args.H, args.p, args.t, args.ipv4, args.ipv6, args.interface) output = run_ping(args.host, args.packets, args.timeout, args.ipv4, args.ipv6, args.interface)
rta, loss = parse_ping_output(output) rta, loss = parse_ping_output(output)
if rta is None or loss is None: if rta is None or loss is None: