首页 > 系统相关 >shell之ceph分布式存储OSD使用率监控实战脚本

shell之ceph分布式存储OSD使用率监控实战脚本

时间:2023-09-01 18:48:06浏览次数:38  
标签:shell log osd ceph zabbix usage OSD

当OSD空间使用超过85%,ceph health就会有⚠️,说该OSD near full,这种情况下只是一个提醒,如果集群中很多OSD都near full,那么最合理的措施当然时添加OSD或者添加存储节点,即我们通常说的扩容。当osd使用满了后,集群将无法提供存储服务,无法继续写入数据,只读。所以需要对osd使用率进行监控并及时扩容或者迁移数据

实战脚本示例:

#!/bin/bash

#author:Albert_M
#date:  20230111
#count the usage of osd

if [ ! -d "/usr/check_osd" ];then mkdir -p /usr/check_osd;fi
log=/usr/check_osd/osd_usage.log
log_tmp=/usr/check_osd/osd_usage.tmp.log
log_time=/usr/check_osd/osd_usage_time.log

/var/lib/ceph/bin/ceph osd df | grep -v 'ID\|TOTAL\|MIN' | awk '{print $1,$7}' > $log_time
/var/lib/ceph/bin/ceph osd df | grep -v 'ID\|TOTAL\|MIN' | awk '{print $1,$7}' > $log_tmp
sed -i "s/^/`date +%F' '%T' '`/g" $log_time
cat $log_time >> $log

for i in `cat $log_tmp | awk '{print $2}'`;do
  if [ $(echo "$i > 92"|bc) -eq 1 ];then
    osd_id=`grep $i $log_tmp | awk '{print $1}'`
    #echo $osd_id
    /opt/product/zabbix/bin/zabbix_sender -c /opt/product/zabbix/conf/zabbix_agentd.conf -k "osd_id" -o "$osd_id"
    /opt/product/zabbix/bin/zabbix_sender -c /opt/product/zabbix/conf/zabbix_agentd.conf -k "osd_usage" -o "$i"
  fi
done

  

标签:shell,log,osd,ceph,zabbix,usage,OSD
From: https://www.cnblogs.com/Albert-M/p/17672655.html

相关文章

  • Shell自动化日志维护脚本
    简介:系统日志对于了解操作系统的运行状况、故障排除和性能分析至关重要。然而,长期积累的日志文件可能变得庞大,影响系统性能。在这篇文章中,我们将介绍一个自动化的解决方案,使用Bash脚本来监控和维护系统日志文件,以确保它们的大小合理,避免磁盘爆满,并保持内容的整洁和高效。问题......
  • Linux tcp连接数监控实战shell脚本
     tcp连接数监控可用于存储维护中前端业务访问量的统计:使用命令netstat-anpProto:表示协议类型,Recv-Q:表示收包数量, Send-Q:表示发包数量实战示例:#!/bin/bash#thisscriptisusedforcountthequantityofsessionoverstocklog=/ap/log/session_overstock_count.loglog......
  • 18 个一线工作中常用Shell 脚本(转)
    1、检测两台服务器指定目录下的文件一致性#!/bin/bash######################################检测两台服务器指定目录下的文件一致性######################################通过对比两台服务器上文件的md5值,达到检测一致性的目的dir=/data/webb_ip=192.168.88.10#将指......
  • Linux 主机磁盘繁忙度监控实战shell脚本
    Linux磁盘繁忙度是指磁盘的使用率和活动水平。可以通过一些工具来监测磁盘繁忙度,如iostat、iotop、sar等。其中,iostat是一个常用的工具,可以提供关于磁盘活动的详细统计信息。通过运行命令iostat-x1可以实时监测磁盘的使用情况,其中%util列就表示磁盘的繁忙度,数值越高表......
  • shell数组
    数组概述1数组中可以存放多个值。BashShell只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与PHP类似)。2与大部分编程语言类似,数组元素的下标由0开始。3Shell数组用括号来表示,元素用”空格”符号分割开,语法格式如下:4my_array=(value1value2…value......
  • Shell脚本入门
    一、Shell简介Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。  Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机......
  • 从入门到掌握 - 系统学习shell语言
    简介什么是shellShell是一种程序或命令行解释程序,用于解释用户直接输入的用户命令或从文件中读取的用户命令,然后将它们传递给操作系统以进行操作或处理。要注意,这个过程是解释而不编译脚本,因为计算机系统会解释它们,并且无需按执行顺序编译Shell脚本。KenThompson的sh是......
  • 数据库备份和Shell基础测试及AWK(运维)
    第一题:使用MySQL命令进行备份和恢复的步骤如下:备份test库:使用mysqldump命令备份test库,并将备份写入一个.sql文件中。命令示例:mysqldump-u用户名-p密码test>backup.sql恢复备份:使用mysql命令将备份文件中的数据恢复到test库中。命令示例:mysql-u用户名-p密码test<backu......
  • 1.5 编写自定位ShellCode弹窗
    在笔者上一篇文章中简单的介绍了如何运用汇编语言编写一段弹窗代码,虽然简易ShellCode可以被正常执行,但却存在很多问题,由于采用了硬编址的方式来调用相应API函数的,那么就会存在一个很大的缺陷,如果操作系统的版本不统或系统重启过,那么基址将会发生变化,此时如果再次调用基址参数则会......
  • 1.6 编写双管道ShellCode
    本文将介绍如何将CMD绑定到双向管道上,这是一种常用的黑客反弹技巧,可以让用户在命令行界面下与其他程序进行交互,我们将从创建管道、启动进程、传输数据等方面对这个功能进行详细讲解。此外,本文还将通过使用汇编语言一步步来实现这个可被注入的ShellCode后门,并以此提高代码通用性。......