Python脚本----巡检服务器资源并发送钉钉

python 复制代码
import socket
import psutil
from dingtalkchatbot.chatbot import DingtalkChatbot

def get_cpu_usage():
    return psutil.cpu_percent()

def get_memory_usage():
    return psutil.virtual_memory().percent

def get_disk_usage():
    return psutil.disk_usage('/').percent

def check_port(port):
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        return s.connect_ex(('localhost', port)) == 0

def send_message_to_dingtalk(message):
    webhook = '钉钉机器人token'
    bot = DingtalkChatbot(webhook)
    bot.send_text(msg=message)

def generate_report():
    cpu_usage = get_cpu_usage()
    memory_usage = get_memory_usage()
    disk_usage1 = get_disk_usage()

    message = f"CPU利用率: {cpu_usage}%\nMemory利用率: {memory_usage}%\n根目录磁盘利用率: {disk_usage1}%"

    if check_port(端口号):
        message += "\n服务端口: UP"
    else:
        message += "\n服务端口: Down!"

    send_message_to_dingtalk(message)

generate_report()
相关推荐
m0_674294643 分钟前
mysql如何处理索引基数过低情况_mysql索引选择性分析
jvm·数据库·python
浪客川3 分钟前
【百例RUST - 013】泛型
开发语言·后端·rust
qq_3422958218 分钟前
c++怎么获取文件的压缩比例信息_Windows压缩卷特性【详解】
jvm·数据库·python
weixin_4585801220 分钟前
CSS如何控制列表间距_使用padding-left与盒模型
jvm·数据库·python
m0_6178814221 分钟前
Tailwind CSS如何实现固定定位布局_使用fixed与z-index控制CSS层级
jvm·数据库·python
iiiiyu33 分钟前
常用API(SimpleDateFormat类 & Calendar类 & JDK8日期 时间 日期时间 & JDK8日期(时区) )
java·大数据·开发语言·数据结构·编程语言
故事和你9135 分钟前
洛谷-数据结构1-4-图的基本应用2
开发语言·数据结构·算法·深度优先·动态规划·图论
m0_6742946436 分钟前
Cgo 中正确处理 const char- 类型回调参数的实践方法
jvm·数据库·python
justjinji44 分钟前
Chart.js 4 中实现基于数据极值的垂直线性渐变填充
jvm·数据库·python
qq_120840937144 分钟前
Three.js 工程向:Clock、deltaTime 与固定步长主循环
开发语言·javascript·ecmascript