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()
相关推荐
懒洋洋大魔王13 分钟前
7.Java高级编程 多线程
java·开发语言·jvm
=(^.^)=哈哈哈13 分钟前
Golang如何优雅的退出程序
开发语言·golang·xcode
学习使我变快乐15 分钟前
C++:用类实现链表,队列,栈
开发语言·c++·链表
茶馆大橘17 分钟前
【黑马点评】已解决java.lang.NullPointerException异常
java·开发语言
lmy_t21 分钟前
C++之第十二课
开发语言·c++
马剑威(威哥爱编程)25 分钟前
除了递归算法,要如何优化实现文件搜索功能
java·开发语言·算法·递归算法·威哥爱编程·memoization
我码玄黄36 分钟前
THREE.js:网页上的3D世界构建者
开发语言·javascript·3d
MuseLss1 小时前
HashMap高频面试知识点
java·开发语言·哈希算法
tyler-泰勒1 小时前
初始c++:入门基础(完结)
java·开发语言·c++
憨憨小白1 小时前
函数的高级应用
开发语言·python·青少年编程·少儿编程