首页 > 系统相关 >shell脚本-监控多台服务器磁盘利用率

shell脚本-监控多台服务器磁盘利用率

时间:2023-07-11 16:49:03浏览次数:36  
标签:use shell root 192.168 ssh 服务器 磁盘 多台 localhost

shell脚本-监控多台服务器磁盘利用率

介绍

第一步:实现免密登录服务器 ,为后续脚本免密登录做好准备。

第二步:把要监控服务器的ip地址 root用户 端口port 写入host.info文件中以便后续脚本从这个文件读取服务器信息。

第三步:写shell脚本,先从host.info中拿到信息连接各个服务器,读取每个服务器的磁盘使用率,大于一定值(80%)则报警

第一步:免密登录

测试192.168.70.24 登录 192.168.70.25

在24机器上执行:

ssh-keygen

一路回车

在用户根目录下的.ssh目录下可以看到生成2个文件:id_rsa(私钥文件)、id_rsa.pub(公钥文件)我们需要的是公钥文件。

[root@zabbix-agent02 ~]# ls .ssh/
id_rsa  id_rsa.pub  known_hosts

将本机(24机器)刚才生成的公钥copy到25机器 会提示输入25机器密码 输入密码即可

ssh-copy-id [email protected]

在25机器上 .ssh/authorized_keys 文件是否生成并含内容

[root@localhost ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGg+cD6QLZ3/fBxcRDbvEaMjhl+byslM+6o87dZh0AUiuRxqakTCYBEmhgzA/6giUcMKfymvqshncOWw0i0cS310pY+o2DK56o1oizxCOmmBHk81bl6MdbRnUk9WOj5IKPSXsnr3tmcguaUlA0Y7VVJmNy3fHQ41Oo29VxjBy9GPxc2N65I33LUzzPNEjJjp3gHMAAkxGRkuI49UybplyAXNkb7RHnGq/ZDBJtNIrhXPIMOsWURVAZePGrvQYa/RpxpxfmJx6QuE8YNU6EP7S8l6u90piPxsRyGr624NKXbiI/rxCvDrfGXcIwbIs2Cao+g6cJcRVFdU2SDwkwIQgf root@localhost

可以直接在24机器上使用命令登录25机器

[root@localhost ~]# ssh [email protected]
Last login: Tue Jul 11 00:53:57 2023 from 192.168.70.1
[root@localhost ~]#  ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
     inet 192.168.70.25  netmask 255.255.255.0  broadcast 192.168.70.255

第二步:创建服务器信息文件

这里我host.info文件和shell脚本文件都创建再/opt/scripts/文件夹下,并加入22机器两台机器一起测试,22机器人也需要进行第一步,为免密登录做好准备,与上述第一步内容一致不再重复。

[root@localhost scripts]# vim host.info
192.168.70.25 root 22
192.168.70.22 root 22

第三步:创建shell脚本文件

[root@localhost scripts]# vim 7.sh 
        for USE_RATE in $USE_RATE_LIST;do
                # %=* 解释: 以“=”为分隔符,去除右边所有
                # #*= 解释: 以“=“为分隔符,去除左边所有
                # RART_NAME=${$USE_RATE%=*}
                part_name=${USE_RATE%=*}
                use_rate=${USE_RATE#*=}
                if [ $use_rate -gt 80 ];then
                        echo ”Warning: $part_name = $use_rate Partition use_rate more then $use_rate %!“
                else
                        echo "$part_name = $use_rate"
                fi
        done
done
[root@localhost scripts]# bash  7.sh 
/ = 14
/boot = 14
/ = 14
/boot = 14

标签:use,shell,root,192.168,ssh,服务器,磁盘,多台,localhost
From: https://www.cnblogs.com/xuxuxuxuxu/p/17545150.html

相关文章

  • finshell 连接不到服务器,报Session.connect: java.net.SocketException: Connection r
    用finshell一段时间了,非常不错,但是有段时间突然连接不上服务器,各种重装,重启服务器都不行,在网上搜方法也没有好的办法。在我一次实在烦的不得了的时候,让我发现一个好的解决方案。先上图: 是不是出现这个问题,那么我的解决方案是啥呢?看我的手速,就是点击红色的闪电图标,一般连续点击......
  • OSLUI:摆脱Shell,通过自然语言操作Linux
    Linuxshell命令是强大的,但也是复杂的。不光是新手记不住,往往很多老手也不一定能很好地掌握一些shell命令。最近开发了一款小工具:OSLUI,目标是做操作系统的自然语言界面,让人们可以摆脱Shell,直接通过自然语言和计算机进行交互。github地址:https://github.com/BalianWang/OSLUI。欢......
  • oracle 数据库备份shell脚本
    #!/bin/bash#设置Oracle环境变量exportORACLE_HOME=/path/to/oracle/homeexportORACLE_SID=your_oracle_sidexportPATH=$ORACLE_HOME/bin:$PATH#定义备份目录backup_dir="/path/to/backup/directory"#定义日志文件路径log_file="/path/to/log/file.log"#定义远程服务......
  • shell参数使用
    shell参数使用说明参数说明$0执行脚本本身的名字。$1传递给脚本的第一个参数。$#脚本的参数个数。$*脚本的所有参数。当被双引号("$*")包含时,会将所有参数当作一个整体来输出。$@与$*类似,但是可以当作数组用。当被双引号("$@")包含时,会将各个参数分开。$?......
  • Linux,shell入门,第二篇
    #!/bin/bash#显示出本机的ip地址方法一#ipa|grepdynamic|tr-s''\/|cut-d'/'-f3#显示出本机的ip地址方法二ipa|sed-rn's/(.*inet)([0-9].*)(\/[0-9].*)(brd.*)/\2/p'#显示出本机ip地址方法三#hostname-I#把ip地址赋值给变量ipaddr,上述三种方法均可ipaddr=......
  • linux shell template
    Replaceenvironmentvariablesinafilewiththeiractualvalues?#config.xml<property><name>instanceId</name><value>$INSTANCE_ID</value></property><property><name>rootPath</name>......
  • shell 变量多行原样输出,支持\n 回车换行
    假设:git的commit提交说明是多行内容,要给一个变量。但要保持原来样式,比如原来是是3行,在变量输出时候也是3行。经验:要想原样显示,就要在变量上加双引号;单引号和不加会显示成一行。1.原始样式:gitlog-1--format="%B"2.内容给shell变量a:a_test=$(gitlog-1--for......
  • 磁盘IO利用率高问题排查SOP
    对于业务开发来说,碰到磁盘IO利用率高的情况并不多,毕竟写磁盘的操作都集中到DB了,例如mysql/redis/hbase,一般由DBA来处理。但一些业务上的写文件、写日志,还是可能会碰到的。步骤1:查看服务整体状态:top从设备角度:iostat2//每2秒输出一次io使用情况步骤2:找出占用IOPS大的进......
  • [PowerShell]设置笔记本亮度 -- CIM cmdlet
    如下:$monitor=Get-CimInstance-Namespaceroot/WMI-ClassNameWmiMonitorBrightnessMethodsInvoke-CimMethod-InputObject$monitor-MethodNamewmisetBrightness-Arguments@{Timeout='10';Brightness='25'}参考https://learn.microsoft.com......
  • 扫描linux系统磁盘占用,释放空间的免费工具
    如何查找linux系统的磁盘占用,扫描大文件,释放空间,可以使用免费工具ncdu。虽然有du和df命令可以查询磁盘和文件夹的大小,但毕竟不方便,不能扫描整个磁盘的情况。用ncdu命令更直观,可以按目录以树形显示每个文件夹的大小,找到占空间的文件或者文件夹,删除释放磁盘空间。并且扫描速度飞快......