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()
相关推荐
自不量力的A同学1 分钟前
PHP 8.5.6 发布
开发语言·php
基德爆肝c语言5 分钟前
Qt控件:按钮类
开发语言·qt
神明9315 分钟前
数据库模型设计实战:如何导出数据库完整数据字典_规范化流程
jvm·数据库·python
老纪7 分钟前
SQL中如何查找包含关键字的行:FULLTEXT全文索引检索
jvm·数据库·python
茉莉玫瑰花茶8 分钟前
LangGraph 入门教程:构建 AI 工作流 [ 案例二 ]
开发语言·人工智能·python
yaoxin5211238 分钟前
403. Java 文件操作基础 - 写入二进制文件
java·开发语言·python
dfdfadffa9 分钟前
c++怎么利用std--filesystem--path处理包含多个扩展名的文件名【详解】
jvm·数据库·python
爱喝水的鱼丶12 分钟前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载) 第二篇:ADT客户端完整安装与初始配置教程
运维·开发语言·学习·sap·abap
AKA__Zas19 分钟前
初识多线程(2.0)
java·开发语言·学习方法
叼烟扛炮19 分钟前
C++ 知识点19 匿名对象
开发语言·c++·算法·匿名对象