国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

運維小白也能上手:五分鐘搭建系統資源監控告警神器

運維
Python 的 psutil 庫能輕松獲取系統資源信息,配合一個小腳本,就能快速實現輕量級的自動化監控。

在運維中,CPU爆滿、內存溢出、磁盤寫滿是常見問題,輕則服務變慢,重則直接宕機。

這些故障往往不是突然發生,而是資源長期高負載卻沒被發現。

因此,實時監控并主動告警就顯得尤為重要。

Python的psutil庫能輕松獲取系統資源信息,配合一個小腳本,就能快速實現輕量級的自動化監控。

psutil是什么?

psutil 全稱process and system utilities,顧名思義,就是一個用來獲取 系統資源信息 的庫。

它能幫我們輕松拿到:

  • CPU 使用情況:使用率、核心數、負載等
  • 內存信息:總量、已用、使用率
  • 磁盤信息:容量、已用、剩余空間
  • 網絡狀態:帶寬流量、連接數

更重要的是:跨平臺支持(Windows、Linux、macOS 全都能用),適合做系統監控和自動化運維。

簡單示例:

import psutil

print("CPU使用率:", psutil.cpu_percent(interval=1), "%")
print("內存使用率:", psutil.virtual_memory().percent, "%")
print("磁盤使用率:", psutil.disk_usage('/').percent, "%")

執行結果一目了然,幾行代碼就能搞定系統資源采集。如下圖所示:

為什么要做系統資源監控?

運維中最常見的問題:

  • CPU 爆滿 → 服務響應變慢
  • 內存溢出 → 進程直接崩潰
  • 磁盤寫滿 → 應用無法寫日志、數據庫宕機

這些問題一旦發生,輕則客戶體驗變差,重則系統徹底掛掉。

如果有一個小腳本能幫你:

  • 提前預警:在資源用滿前提醒你
  • 快速響應:第一時間發告警郵件
  • 自動化運維:無需人工盯著,減少巡檢工作

是不是很香???

實現思路

我們的思路非常清晰:

  • 采集系統資源信息(用psutil)
  • 判斷是否超過閾值(比如 CPU>80% 就報警)
  • 觸發告警(通過釘釘發送告警信息)

核心代碼展示

記錄日志功能,方便后續排查錯誤:

# 配置日志
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    handlers=[
        logging.FileHandler('system_monitor.log'),
        logging.StreamHandler()
    ]
)
logger = logging.getLogger(__name__)

獲取主機和系統資源:

# 閾值配置(百分比)
THRESHOLD = {
    "cpu": 80,
    "mem": 75,
    "disk": 85
}

def get_host_info():
    """獲取主機名和IP"""
    try:
        hostname = socket.gethostname()
        ip = socket.gethostbyname(hostname)
        logger.info(f"獲取主機信息成功: {hostname} ({ip})")
        return hostname, ip
    except Exception as e:
        logger.error(f"獲取主機信息失敗: {e}")
        raise

def get_system_info():
    """獲取CPU/內存/磁盤信息"""
    try:
        cpu_percent = psutil.cpu_percent(interval=1)
        mem = psutil.virtual_memory()
        disk = psutil.disk_usage('/')

        system_info = {
            "cpu": cpu_percent,
            "mem": mem.percent,
            "mem_total": round(mem.total / (1024**3), 2),
            "mem_used": round(mem.used / (1024**3), 2),
            "disk": disk.percent,
            "disk_total": round(disk.total / (1024**3), 2),
            "disk_used": round(disk.used / (1024**3), 2)
        }

        logger.info(f"系統資源狀態 - CPU: {system_info['cpu']}%, "
                   f"內存: {system_info['mem']}%, "
                   f"磁盤: {system_info['disk']}%")
        return system_info
    except Exception as e:
        logger.error(f"獲取系統信息失敗: {e}")
        raise

判斷閾值并發送告警:

def monitor():
    """監控并告警"""
    try:
        logger.info("開始系統監控檢查")
        hostname, ip = get_host_info()
        info = get_system_info()

        alarm_item = []
        if info["cpu"] > THRESHOLD["cpu"]:
            alarm_item.append(f"- CPU 使用率:{info['cpu']}% > {THRESHOLD['cpu']}%")
        if info["mem"] > THRESHOLD["mem"]:
            alarm_item.append(f"- 內存使用率:{info['mem']}% > {THRESHOLD['mem']}%")
        if info["disk"] > THRESHOLD["disk"]:
            alarm_item.append(f"- 磁盤使用率:{info['disk']}% > {THRESHOLD['disk']}%")

        if alarm_item:  # 有異常才發告警
            content = f"""## ?? 系統資源告警

---

### ??? 主機信息
- **主機名**: {hostname}
- **IP地址**: {ip}
- **告警時間**: {datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}

---

### ?? 異常詳情
{chr(10).join(alarm_item)}

---

### ?? 系統狀態詳情

#### ?? CPU狀態
- **使用率**: {info['cpu']}%
- **狀態**: {"?? 異常" if info["cpu"] > THRESHOLD["cpu"] else "?? 正常"}

#### ?? 內存狀態
- **使用率**: {info['mem']}%
- **使用量**: {info['mem_used']} GB
- **總量**: {info['mem_total']} GB
- **狀態**: {"?? 異常" if info["mem"] > THRESHOLD["mem"] else "?? 正常"}

#### ?? 磁盤狀態
- **使用率**: {info['disk']}%
- **使用量**: {info['disk_used']} GB
- **總量**: {info['disk_total']} GB
- **狀態**: {"?? 異常" if info["disk"] > THRESHOLD["disk"] else "?? 正常"}

---
> ?? *請盡快處理系統資源異常,避免影響業務正常運行*
"""
            logger.warning(f"檢測到系統異常,準備發送告警: {alarm_item}")
            DingTalkPushUtil().send_md("系統資源告警", content)
        else:
            logger.info("系統資源正常,無異常項")
    except Exception as e:
        logger.error(f"監控過程中發生錯誤: {e}")
        raise

效果預覽

當CPU或內存超過閾值時,你會立刻收到一封告警郵件:

如何自動運行?

寫完腳本只是第一步,真正發揮價值要讓它自動跑起來。

  • 在 Linux 下:用 crontab 設置定時任務
  • 在 Windows 下:用任務計劃程序定時執行

這樣,你的系統就相當于多了一個“自動巡檢小助手”。下面以linux中的crontab為例

第一步:編輯定時任務

在終端輸入:

crontab -e

這會打開當前用戶的定時任務配置文件。

第二步:添加任務

在文件末尾添加一行,指定腳本執行的時間和路徑,例如:

*/5 * * * * /usr/bin/python3 /home/code/monitor/main.py  2>&1

解釋一下:

  • */5 * * * * → 每 5 分鐘執行一次
  • /usr/bin/python3 → Python3 的路徑(可以用 which python3 查看)
  • /home/code/monitor/main.py → 你的監控腳本路徑

第三步:檢查任務是否生效

保存退出后,輸入:

crontab -l

可以看到剛才添加的任務。

至此,一個自動化的系統資源監控告警就搭建完成。

從 psutil獲取數據 → 腳本判斷閾值 →  釘釘發送告警 → crontab定時執行,這就是一個完整的自動化監控閉環。

總結

  • psutil:獲取系統資源神器,跨平臺支持
  • DingTalkPushUtil:是自定義封裝的釘釘發送告警工具類
  • Python 腳本:讓你從“被動救火”變成“提前預防”

運維的精髓就是:未雨綢繆,少挨老板罵。

責任編輯:趙寧寧 來源: 攻城獅成長日記
相關推薦

2025-03-12 10:05:01

運維Vim編輯

2019-03-19 08:41:38

Linux運維變更

2021-06-21 08:59:55

監控Netflix優化

2021-06-21 08:30:14

Netflix監控系統微服務

2025-05-22 10:00:00

DockerRedis容器

2015-12-11 14:35:40

內存監控運維

2022-02-23 20:38:32

云原生集群Postgres

2025-02-10 00:00:10

2022-05-30 08:34:49

PythonSQL

2023-07-31 11:37:05

經營分析模型

2016-11-15 15:23:27

2009-09-21 09:51:19

LoadRunnerLinux系統監控Linux

2024-01-04 18:04:49

PythonGUI計算器

2024-03-21 09:51:22

Python爬蟲瀏覽網站

2009-09-28 10:34:32

LR監控Linux系統資源Linux

2013-08-12 17:27:53

遠程控制軟件

2022-07-29 21:23:54

Grafana微服務

2009-11-16 10:53:30

Oracle Hint

2024-12-11 07:00:00

面向對象代碼

2025-03-13 06:22:59

點贊
收藏

51CTO技術棧公眾號

日韩av影视在线| 国产精品嫩草久久久久| 色帝国亚洲欧美在线| 色七七在线观看| 亚洲精品国产精品国产| 免费看的黄色欧美网站| 成人黄色图片网站| 久久久蜜桃一区二区人| 色综合久久综合网| 国产美女搞久久| 99在线免费观看| 亚洲爱爱视频| 日韩视频中午一区| 午夜精品区一区二区三| 成人黄视频在线观看| 亚洲一区成人| 欧美一级片免费看| 色播在线视频| 亚洲图片在线| 欧美日韩www| 精品欧美日韩在线| 自由的xxxx在线视频| 麻豆成人免费电影| 亚洲男人天堂视频| 免费看的黄色大片| 超碰地址久久| 欧美日韩国产一区二区| 久中文字幕一区| 日韩av有码在线| 久久av免费观看| 91久久久久久国产精品| 欧美日韩在线一区二区三区| 色乱码一区二区三区在线| 少妇精品导航| 色狠狠一区二区三区香蕉| 好吊色欧美一区二区三区视频| 日韩激情一区| 日韩三级视频在线看| 国产写真视频在线观看| 国产91精品免费| 日本高清不卡的在线| 色哟哟在线观看| 国内精品伊人久久久久av影院 | 99热精品在线| 亚洲欧美国产高清va在线播| 高清电影在线免费观看| 国产精品初高中害羞小美女文| 亚洲aⅴ日韩av电影在线观看 | 26uuu国产日韩综合| 2019中文字幕在线免费观看| 老司机福利在线视频| 日韩一二三区视频| 美女一区网站| 国产在线精品播放| 在线观看污视频| 精品亚洲一区二区三区| 欧美视频日韩视频在线观看| 欧美精品久久久久| 欧美资源在线观看| 性欧美freesex顶级少妇| 玛丽玛丽电影原版免费观看1977 | 99999精品视频| 日本一区二区三区四区在线视频| 一区二区欧美亚洲| jizz在线观看中文| 成人午夜在线视频| www日韩av| 日韩中文一区二区| 亚洲成在人线av| 日本高清好狼色视频| 国产99久久久国产精品| 婷婷色播视频| 丰满岳乱妇一区二区三区| 另类小说色综合| 极品美女销魂一区二区三区| 人人澡人人爽人人揉| 国产成人自拍网| 成人午夜电影免费在线观看| 豆花视频一区二区| 亚洲精品天天看| 亚洲女娇小黑人粗硬| 亚洲最新av在线网站| av成人综合| 欧美精品123| 亚洲天堂免费在线观看视频| 精品视频在线观看一区| 国产综合视频| 你真棒插曲来救救我在线观看| 天天色天天操综合| 91污色多多| 欧美一卡在线观看| 免费在线国产| 亚洲一区中文在线| 一本大道熟女人妻中文字幕在线 | 欧美 国产 精品| 五月天网站亚洲| 91精品视频一区二区| 亚洲男女性事视频| 亚洲精品a级片| 国产中文欧美精品| 国产一区二区三区久久悠悠色av| 精品在线视频一区二区三区| 中文字幕av在线一区二区三区| 欧美丰满一区二区免费视频| 日韩精品你懂的| 欧美xxx久久| av在线播放观看| 欧美在线视频导航| 成人精品高清在线| 宅男一区二区三区| 久久se这里有精品| 亚洲一区二区三区午夜| 久久久精品网| 日韩videos| 蜜臀av一区二区在线免费观看| 日韩精品资源| 欧美性感美女h网站在线观看免费| 在线视频网站| 午夜久久久久久| 在线看片你懂得| 精品久久久免费| 色橹橹欧美在线观看视频高清| 日本男女交配视频| 久久久久久久久一| 乱小说综合网站| 一二三四区精品视频| 色视频在线播放| 色中色综合影院手机版在线观看| 精品成人18| 高清一区二区三区四区五区| 麻豆一区二区| 3d精品h动漫啪啪一区二区| 欧美成人milf| 就去色蜜桃综合| 色琪琪一区二区三区亚洲区| 欧洲美女日日| 亚洲va码欧洲m码| 国产精品第五页| 日韩精品一区二区三区免费视频| 男的插女的下面视频| 亚洲欧美精品一区| 国产一区二区精品久久91| 98色花堂精品视频在线观看| 色天天综合狠狠色| 狠狠色丁香婷婷综合影院| 成人国产精品久久久| 国产日韩欧美一区二区三区在线观看 | 国产精品久久久av| 欧美日韩一区自拍| 影音先锋欧美在线| 亚洲精品一区二区精华| 久久女人天堂| 91精品国产91久久久| 国内精品福利| 在线免费观看黄色| 在线性视频日韩欧美| 嫩草一区二区三区| 久久大片网站| 精品久久久久久久人人人人传媒| 男女男精品视频| 欧美综合社区国产| 国产91免费视频| 正在播放亚洲一区| 麻豆一区二区| 国产传媒在线视频| 久久99精品国产99久久| 精品少妇一区二区三区在线播放| 韩国三级电影一区二区| 国产精品va视频| 韩国一区二区三区美女美女秀| 欧美老肥妇做.爰bbww| 三级精品在线观看| 黄色成人羞羞视频| 成人精品在线观看| 精品日本一线二线三线不卡| 成人永久免费视频| 九九在线精品| 直接在线观看的三级网址| 亚洲不卡中文字幕无码| 在线电影院国产精品| 国产精品白丝jk黑袜喷水| 91精品国产乱码久久久竹菊| 秋霞毛片久久久久久久久| 国产欧美一区二区精品久导航| 欧洲三级视频| 日本动漫理论片在线观看网站 | 成人性生交大片免费| 亚洲欧美校园春色| 男女羞羞视频在线观看| 久久婷婷国产91天堂综合精品| 成人h片在线播放免费网站| 精品播放一区二区| 久久久久久久久久久电影| 影视一区二区| 成人伦理视频网站| 欧美二区三区在线| 欧美国产欧美亚洲国产日韩mv天天看完整 | 天堂av在线中文| 国产精品久久久久久搜索| 成人一区在线观看|