Update check_ping.py
This commit is contained in:
@ -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:
|
||||||
|
Reference in New Issue
Block a user