gpt4 book ai didi

python - 使用 python 监控几台服务器上的服务的最佳方法

转载 作者:行者123 更新时间:2023-12-01 06:20:04 25 4
gpt4 key购买 nike

从 python 监控一些服务器的 HTTP/FTP/IMAP/POP3/SMTP 等服务的最佳方法是什么?使用套接字并尝试连接到服务端口 http-80、ftp-21 等...如果连接成功则假定服务正常或使用 python 库连接到指定服务并处理异常/返回代码/等...

例如对于 ftp 是不是更好

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect(("ftp.domain.tld", 21))
print "ok"
except:
print "failed"
s.close()

或到

from ftplib import FTP

try:
ftp = FTP('ftp.domain.tld')
print "FTP service OK"
ftp.close()
except:
print "FTP err"

其余的也一样,socket 与 urllib2、imaplib 等......如果我采用 lib 方式,我该如何测试 smtp?

最佳答案

更新1:

实际上,在您的代码中,这两个选项(在 FTP 中)没有区别。为了代码的可读性,应首选第二个选项。但无法登录 ftp 服务器,也许会读取一些文件?

更新0:

监控时,测试整个堆栈会更好。因为否则您可能会错过在套接字级别中未体现出来的问题。 smtp 可以使用 smtplib 进行测试。最好的方法实际上是用它发送邮件。并使用 imaplib 从目标读取它。或者,您可以使用 smtplib 与 smtp 服务器进行通信。最好是从头到尾地完成整个事情。但开发和配置资源应考虑缺失问题的影响。

关于python - 使用 python 监控几台服务器上的服务的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com