vps使用过程中各种技术记录,避免自己忘记的同时,希望也能帮助到需要的朋友。 | 登陆

cacti 导出cpu报表的shell后期处理

cacti版本:0.8.7g

reportit版本:0.7.3

 [attach=6]处理前的报表

[attach=7]处理后的报表

  程序源代码:

 

  1. #!/bin/sh  
  2. #获取文件名  
  3. file=$1  
  4. #删除1~19行  
  5. sed -i '1,19d' ${file}  
  6. #过滤掉无用列及多余符号  
  7. awk -F"[-;]" 'BEGIN{OFS=","}{$2="";$3="";$5="";$6="";$7="";$8="";$9="";print}' ${file} | sed 's/"//g'|sed 's/,,,,,,,,//g' |sed 's/ //g'|sed 's/.\{2\}$//g' > outfile  
  8. #合并相同cpu列,并计算平均值  
  9. awk -F"," 'BEGIN{OFS=","}{sum2[$1]+=$2; sum3[$1]+=$3; cnt[$1]+=1} END{for (i in sum2) print i, sum2[i]/cnt[i], sum3[i]/cnt[i], cnt[i]}' outfile > ${file}   
  10. #生成表头  
  11. echo "IP,AVG,MAX,N" > outfile  
  12. #排列处理后的表格并导出到临时文件中  
  13. cat ${file} | sort >> outfile  
  14. #覆盖原文件  
  15. mv outfile ${file}  
  16. #把报表编码转换成GBK  
  17. enca -L zh_CN -x GBK ${file} 

 

Tags: cacti, reportit, shell

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):