centos cpustat如何實現自動化監控

要在 centos 上使用 cpustat 實現自動化監控,可以通過 cron 定時任務與腳本編寫來完成。以下是具體操作步驟:

1. 安裝 sysstat 包

請首先確認是否已安裝 sysstat 工具包,因為 cpustat 屬于該組件的一部分。

sudo yum install sysstat -y

2. 創建監控腳本

新建一個腳本文件,例如 /usr/local/bin/monitor_cpu.sh,并寫入如下內容:

#!/bin/bash  # 設置日志輸出路徑 output_file="/var/log/cpu_usage.log"  # 獲取當前時間戳 timestamp=$(date  "%Y-%m-%d %H:%M:%S")  # 使用 cpustat 命令獲取 CPU 使用情況并添加時間戳 cpustat -c 1 1 | awk 'NR>1 {print $0 " " timestamp}' >> "$output_file"

說明:

  • cpustat -c 1 1:每秒采集一次數據,共采集一次。
  • awk ‘NR>1 {print $0 ” ” timestamp}’:忽略首行標題,并在每行末尾附加時間信息。
  • >> “$output_file”:將結果追加寫入日志文件中。

3. 賦予腳本執行權限

sudo chmod +x /usr/local/bin/monitor_cpu.sh

4. 配置定時任務

通過 cron 來周期性地運行腳本。編輯當前用戶的 crontab 文件:

crontab -e

插入以下語句以實現每分鐘自動運行一次腳本:

* * * * * /usr/local/bin/monitor_cpu.sh

保存并退出編輯器。

5. 確認定時任務狀態

確保 cron 服務處于運行狀態,并且任務配置無誤:

sudo systemctl status crond

查看生成的日志文件內容:

tail -f /var/log/cpu_usage.log

6. 可選:配置郵件告警機制

若需要在 CPU 使用率過高時接收通知,可在腳本中加入郵件發送邏輯。比如使用 mail 命令實現:

#!/bin/bash  # 設置日志輸出路徑 output_file="/var/log/cpu_usage.log"  # 獲取當前時間戳 timestamp=$(date  "%Y-%m-%d %H:%M:%S")  # 使用 cpustat 獲取 CPU 使用情況并附帶時間戳 cpu_usage=$(cpustat -c 1 1 | awk 'NR>1 {print $0 " " timestamp}')  # 寫入日志文件 echo "$cpu_usage" >> "$output_file"  # 判斷 CPU 使用率是否超過設定閾值(如 80%) if [[ $(echo "$cpu_usage" | awk '{print $3}') > 80 ]]; then     # 發送告警郵件     echo "CPU usage is high: $cpu_usage" | mail -s "High CPU Usage Alert" your_email@example.com fi

注意:需提前配置好郵件發送環境(如 postfix 或 sendmail),并確保系統支持 mail 命令。

按照上述步驟操作后,即可在 centos 中實現基于 cpustat 的自動化性能監控,并可依據需求設置異常告警機制。

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享