实现逻辑: 1、监控dsf.log 两分钟扫描一次 监控到关键字keyword1=”cause=com.huawei.openas.dsf.context.DSFException: request timeout“ 就统计serviceName次数(NUM1)和targetAddress条数(NUM2) 2、监控到关键字keyword1后,就记录当前行数到 ROW_now.txt文件中 3、再次扫描,从ROW_now.txt文件中的行数 +1行开始扫描 4、判断如果ROW_now.txt文件中的行数大于当前查询的行数 就重置为05、输出告警信息: “hostname 到 targetAddress(值) 出现 NUM2 次,调用serviceName(值)NUM1 次”
#!/bin/bash a1=`cat -n dsf.log | grep keyword1=”cause=com.huawei.openas.dsf.context.DSFException: request timeout“ | wc-l` a2=`cat -n dsf.log | grep keyword1 | wc -l` if [ a1 -gt 0 ];then b=`cat dsf.log | grep -c NUM1` echo $b c=`cat dsf.log | grep NUM2 | WC -L` echo $c fi for d in `cat -n dsf.log | grep keyword1 | awk "print $1"` do echo $d >> ROW_now.txt for d1 in`cat ROW_now.txt` do if [[e -gt d ]];then echo 0 > ROW_now.txt fi done done
shell监控脚本(如果有错误,请给我提出来)
最新推荐文章于 2024-05-01 01:53:56 发布