ansible 配合脚本检查节点CPU、内存、磁盘等信息

脚本信息:

#! /bin/bash

cpu_used=`vmstat | awk 'NR==3{print "CPU利用率:"(100-$(NF-2))"%"}'`

cpu_average=`uptime | awk '{print "CPU负载: " $(NF-2),$(NF-1),$NF}'`

mem_used=`free -h |awk 'NR==2{print "内存利用率: "int(100-($NF/$2*100))"%"}'`

disk_used=`df -hT |grep /$ | awk '{print "根目录利用率:"$(NF-1)}'`

echo $cpu_used

echo $cpu_average

echo $mem_used

echo $disk_used

yml文件信息:

- hosts: docker

tasks:

- name: 01-Push check.sh

copy: src=/server/scripts/check.sh dest=/server/scripts/ mode=750

- name: 02-Execute the script

shell: /server/scripts/check.sh

register: shell_result

- debug: var=shell_result.stdout_lines

脚本优化,按红绿色显示结果是否正常
#! /bin/bash 

# 定义一个红色显示的函数
function echo_red () {
    local what=$*
    echo -e "\e[1;31m${what}\e[0m"
}

# 定义一个绿色显示的函数
function echo_green () {
    local what=$*
    echo -e "\e[1;32m${what}\e[0m"
}

cpu_used=`vmstat | awk 'NR==3{print (100-$(NF-2))}'`
cpu_average=`uptime | awk '{print $(NF-2),$(NF-1),$NF}'`
mem_used=`free -h |awk 'NR==2{print int(100-($NF/$2*100))}'`
disk_used=`df -hT |grep /$ | awk '{print $(NF-1)*100/100}'`

echo "CPU利用率:$cpu_used%"
echo "CPU负载: $cpu_average"
echo "内存利用率: $mem_used%"
echo "根目录利用率:$disk_used%"

echo "==========检查结果=========="

if [ $cpu_used -ge 60 ]
then
   echo_red "cpu利用率过大于60%,请检查"

elif [ $mem_used -ge 80 ]
then
   echo_red "内存利用率过大于60%,请检查"

elif [ $disk_used -ge 60 ]
then
   echo_red "磁盘利用率过大于60%,请检查"

else
   echo_green "结果正常"
fi

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值