以下shell脚本能统计出网站的总访问量,以及404,500出现的次数。
统计出来后,可以结合监控宝来进行记录,进而可以看出网站访问量是否异常,是否存在攻击。
还可以根据查看500出现的次数,进而判断网站程序是否出现异常。

完整脚本代码:

#!/bin/bash
#purpose:count nginx or apache or other webserver status code using jiankongbao
#how to:run the script every 5 minutes with crontab
log_path="/var/log/nginx/www.jquerycn.cn/access.log"
becur=`date -d "5 minute ago" +%H%M%S`
code=(`tac $log_path | awk -v a="$becur" -v total=0 -F [' ':] '{
t=$5$6$7
if (t>=a){
code[$12]++
total++
}
else {
exit;
}
}END{
print code[404]?code[404]:0,code[500]?code[500]:0,total
}'
`)
c404=${code[0]}
c500=${code[1]}
total=${code[2]}
echo -e "<pre>\nc404:${c404}\nc500:${c500}\ntotal:${total}\n</pre>" > /data/www/status/www.jquerycn.cn.html

脚本最后一行是以:

<pre>
c404:1102
c500:545
total:55463
</pre>

的格式写入到一个www.jquerycn.cn.html文件,再结合监控宝的自定义监控来收集这些信息。
非常的方便,监控宝会自动出图表。

最新文章

  1. 【Linux】AWK入门
  2. jpeg huffman coding table
  3. android 弹出的软键盘遮挡住EditText文本框的解决方案
  4. DDR(一)
  5. 设置viewport进行缩放
  6. java String.split方法是用注意点(转)
  7. MySQL中的binlog相关命令和恢复技巧
  8. angularjs中{{}} 加载出现闪烁问题
  9. 配置sphinx
  10. 关于python 模块导入
  11. 201521044091 《Java程序设计》第12周学习总结
  12. 对vue源码的初步认识和理解
  13. Docker系列06—基于容器制作镜像并上传到Docker Registry
  14. 在Linux命令行中以图形化窗口打开文件夹
  15. JAVA Freemarker + Word 模板 生成 Word 文档 (普通的变量替换,数据的循环,表格数据的循环,以及图片的东替换)
  16. thymeleaf:日常使用总结
  17. 十进制转为x进制的递归代码
  18. gsoap使用总结
  19. tinycc update VERSION to 0.9.27
  20. makefile中的wildcard和notdir和patsubst

热门文章

  1. 第五周PTA笔记 后缀表达式+后缀表达式计算
  2. java解析Excel日期格式转换问题
  3. Python基础(map/reduce)
  4. 【大爽python算法】递归算法进化之回溯算法(backtracking)
  5. 详解电子表格中的json数据:序列化与反序列化
  6. CSS学习笔记:grid布局
  7. 使用VSCode编写,发布cnblogs
  8. 5、使用ZSetOperations(有序)操作redis(Zset有序集合)
  9. 关于CSS的粘性定位sticky失效问题
  10. Elasticsearch分布式搜索和数据分析引擎-ElasticStack(上)v7.14.0