Linux Python脚本监控网络服务质量

发布时间:2024-09-12 10:54:36 作者:小樊
来源:亿速云 阅读:78

要在Linux上使用Python脚本监控网络服务质量,你可以使用ping命令和subprocess库来执行ping操作并获取结果

import subprocess
import time

def ping(host, timeout=2):
    try:
        result = subprocess.run(
            ["ping", "-c", "1", "-W", str(timeout), host],
            stdout=subprocess.DEVNULL,
            stderr=subprocess.DEVNULL,
            check=True,
        )
        return True
    except subprocess.CalledProcessError:
        return False

def monitor_network_quality(hosts, interval=60):
    while True:
        for host in hosts:
            if ping(host):
                print(f"{host} is reachable.")
            else:
                print(f"{host} is not reachable.")
        time.sleep(interval)

if __name__ == "__main__":
    hosts_to_monitor = ["8.8.8.8", "example.com"]
    monitor_network_quality(hosts_to_monitor)

这个脚本定义了一个ping函数,它使用subprocess.run执行ping命令。如果ping成功,函数返回True,否则返回False。

monitor_network_quality函数接受一个主机列表和一个监控间隔(默认为60秒)。它会无限循环地对每个主机执行ping操作,并打印出主机是否可达的信息。

__main__部分,我们定义了一个要监控的主机列表,然后调用monitor_network_quality函数开始监控。

请注意,这个脚本需要root权限才能运行,因为它使用了ICMP协议,而在某些系统上,只有root用户才能发送和接收ICMP数据包。要以root权限运行脚本,请在终端中输入sudo python3 network_monitor.py(假设脚本名为network_monitor.py)。

推荐阅读:
  1. Linux网络服务之网络设置相关命令
  2. Linux系统中Zabbix的使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Python Linux环境中数据库连接池优化

下一篇:Python Linux下处理系统时间与日期

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》