Linux常用监控脚本

1、查看主机网卡流量

#!/bin/bash
#network
#Mike.Xu
while : ; do
time=`date +%m"-"%d" "%k":"%M`
day=`date +%m"-"%d`
rx_before=`ifconfig ens33|sed -n "8"p|awk '{print $2}'|cut -c7-`
tx_before=`ifconfig ens33|sed -n "8"p|awk '{print $6}'|cut -c7-`
sleep 2
rx_after=`ifconfig ens33|sed -n "8"p|awk '{print $2}'|cut -c7-`
tx_after=`ifconfig ens33|sed -n "8"p|awk '{print $6}'|cut -c7-`
rx_result=$[(rx_after-rx_before)/256]
tx_result=$[(tx_after-tx_before)/256]
echo "$time Now_In_Speed: "$rx_result"kbps             Now_OUt_Speed: "$tx_result"kbps"
sleep 2
done

2、 监控CPU和内存的使用情况

#!/bin/bash
#script to capture system statistics
OUTFILE=/home/xu/capstats.csv
DATE='date +%m/%d/%Y'
TIME='date +%k:%m:%s'
TIMEOUT='uptime'
VMOUT='vmstat 1 2'
USERS='echo $TIMEOUT | gawk '{print $4}' '
LOAD='echo $TIMEOUT | gawk '{print $9}' | sed "s/,//' '
FREE='echo $VMOUT | sed -n '/[0-9]/p' | sed -n '2p' | gawk '{print $4} ' '
IDLE='echo $VMOUT | sed -n '/[0-9]/p' | sed -n '2p' |gawk '{print $15}' '
echo "$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE" >> $OUTFILE

3、巡检磁盘使用率并达到阈值则报警

(1)先做免密互信免交互

#!/bin/bash
mkdir /hosts
cat >> /hosts/hosts.txt << EOF
192.168.1.6 root xyq745
192.168.1.7 root xyq745
EOF
cat >> /hosts/ipall.txt << EOF
192.168.1.6
192.168.1.7
EOF
if [ ! -f ~/.ssh/id_rsa ];then
    ssh-keygen -P "" -f ~/.ssh/id_rsa && mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
    echo -e "id_rsa已创建"
fi

#检测expect是否安装
rpm -q expect
if [ $? == 0 ];then
    echo -e "expect已安装"
else
    echo -e "expect未安装,开始安装"
    rm -rf /var/run/yum.pid
    yum -y install expect
fi

#导入IPlist文件循环主机免密
while read line
do
    ip=`echo $line | cut -d " " -f 1`
    user=`echo $line | cut -d " " -f 2`
    passwd=`echo $line | cut -d " " -f 3`
expect <<EOF
    set timeout 30
    spawn scp -r /root/.ssh $ip:/root
    expect {
        "yes/no" { send "yes\n";exp_continue }
        "password" { send "$passwd\n" }
    }
    expect "password" {send "$passwd\n"}
EOF
done < /hosts/hosts.txt

#判断命令是否成功
if [ $? == 0 ];then
    echo -e "\033[32m ALL互信成功 \033[0m"
else
    echo -e "\033[31m ALL互信失败 \033[0m"
fi

(2)本地写好监测磁盘和报警脚本

#添加邮件报警
from="2658130675@qq.com"
smtp="smtp.qq.com"
smtpuser="2658130675@qq.com"
smtppassword="niobmpftlfqjdhjd"

sed -i '$aset from='"${from}"'' /etc/mail.rc
sed -i '$aset smtp='"${smtp}"'' /etc/mail.rc
sed -i '$aset smtp-auth-user='"${smtpuser}"'' /etc/mail.rc
sed -i '$aset smtp-auth-password='"${smtppassword}"'' /etc/mail.rc
sed -i '$aset smtp-auth=login' /etc/mail.rc

ip=`ip a|grep ens33 |tail -1 |awk '{print $2}'|cut -c 1-11`
a=`df -h |grep sda1 |awk '{print $5}'`
echo "当前磁盘使用率:$a"
b=`df -h |grep sda1 |awk '{print $5}'|cut -c 1-2`
if [ $b -gt 50 ];then
        echo "磁盘空间不足百分之50"
    mail -s "磁盘空间不足百分之50" $from
elif [ $b -gt 60 ];then
        echo "磁盘空间不足百分之40"
        mail -s "磁盘空间不足百分之40" $from
elif [ $b -gt 70 ];then
        echo "磁盘空间不足百分之30"
        mail -s "磁盘空间不足百分之30" $from
elif [ $b -gt 80 ];then
        echo "磁盘空间不足百分之20"
        mail -s "磁盘空间不足百分之20" $from
elif [ $b -gt 90 ];then
        echo "磁盘空间不足百分之10"
        mail -s "磁盘空间不足百分之10" $from
fi

(3)发送本地写好的脚本,并且远程执行

for i in `cat /hosts/ipall.txt`
do
echo $i
scp -r /root/sh.sh root@$i:/
ssh $i "
sh /sh.sh
"
done

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux常用运维脚本是指在Linux系统中,常用的用于自动化运维工作的脚本。这些脚本能够简化运维人员的工作,提高工作效率。 其中常用运维脚本包括: 1. 定时任务脚本:通过cron工具,可以定期执行特定的任务,如备份数据、清理临时文件等。 2. 系统监控脚本:通过脚本监控系统的CPU使用率、内存使用率、磁盘空间等指标,并将监控结果进行汇总和报警。 3. 日志分析脚本:通过脚本分析系统的日志,如Apache、Nginx的访问日志、系统日志等,提取有用的信息,帮助发现问题和优化系统。 4. 安全加固脚本:通过脚本自动化执行一些安全加固措施,如修改默认密码、禁止root远程登录等,提高系统的安全性。 5. 配置管理脚本:通过脚本自动化管理和部署系统的配置文件,如nginx、MySQL的配置文件等,简化配置的操作过程。 6. 系统备份脚本:通过脚本定期备份系统的重要数据和配置文件,保证数据的安全性和系统的可恢复性。 7. 系统部署脚本:通过脚本自动化执行系统的部署过程,如安装系统依赖、配置环境变量等,简化系统部署的流程。 8. 故障自愈脚本:通过脚本自动监测系统的状态,如服务的运行状态、进程的运行情况等,当监测到故障时,自动执行相应的修复措施,提高系统的稳定性。 这些运维脚本的使用能够减少重复劳动,提高运维效率,同时也能够帮助发现和解决系统的问题,保证系统的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自然醒o./

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值