nginx响应时间监控脚本
最近我们服务的使用方总是反应说我们接口超时,于是做了一个监控脚本,统计最近五分钟的响应情况,并对异常情况发送邮件报警。
#!/bin/bash
function define()
{
ori_log_path="/usr/local/nginx/logs/access.log"
tmp_log_path="/usr/local/nginx/logs/5min_abc.access.log"
date_stamp=`date -d "-5min" +%Y:%H:%M:%S`
day_stamp=`date +%d`
}
function gather()
{
awk -F '[/ "\[]' -vnstamp="$date_stamp" -vdstamp="$day_stamp" '$7>=nstamp && $5==dstamp' ${ori_log_path} > ${tmp_log_path}
log_num=`cat ${tmp_log_path} | wc -l`
log_gt_num=`cat ${tmp_log_path}|awk '{if($NF>0.3) {print $NF}}' | wc -l`
request_time=`awk '{print $NF}' ${tmp_log_path} | awk '{sum+=$1}END{print sum}'`
ave_request_time=`echo | awk "{print ${request_time}/${log_num}}" `
rm -f /usr/local/nginx/logs/5min_abc.access.log
}
function output()
{
echo "abc log_gt_0.3_num is ${log_gt_num}"
echo "abc requeset_time is ${request_time}"
echo "abc aver request time is ${ave_request_time}"
echo "abc request total is ${log_num}"
}
function sendmail()
{
if [ $log_gt_num -gt 100 ] || [ `expr ${ave_request_time} \> 0.02` -eq 0 ];then
echo -e "ad log_gt_0.3_num is ${log_gt_num}\n ad requeset_time is ${request_time} \nad aver request time is ${ave_request_time}\nad request total is ${log_num}"|mail -s 'nginx log 报警,The last five minutes' 359381458@qq.com
fi
echo "sendmail"
}
function main()
{
define
gather
output
sendmail
}
main
nginx响应时间监控脚本的更多相关文章
- 关于mysql和Apache以及nginx的监控脚本怎么写会比较好的记录
最近,自己业务进行上线,上线后,需要考虑的是对各种服务进行监控,包括(httpd服务,mysqld服务等),现在想以mysqld服务为例总结下那种方式的脚本最为专业和合理: (1).根据mysql的端 ...
- 自动发现实现url+响应时间监控
url自动发现脚本: [root@jenkins scripts]# cat urlDiscovery.py #!/usr/bin/env python #coding:utf-8 import o ...
- Zabbix 监控MySQL、Apache、Nginx应用监控
zabbix对第三方应用软件的监控,主要有两个工作难点,一个是编写自定义监控脚本,另一个是在编写模板并导入zabbix web中,编写脚本这个要根据 监控需求定制即可,而编写模板文件有些难度,不过网上 ...
- Nginx+Keepalived(带Nginx监控脚本)
转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0220/151.html?1456381460 Keepalived+ nginx的安装部署 主机: ...
- nginx+keepalived主辅切换(监控脚本在keepalived.conf中执行)
以前写过一篇,nginx+keepalived 双机互备的文章,写那篇文章的时候没有想过如果apache或者nginx 挂了,而 keepalived 或者 机器没有死,那么主辅是不会切换的,今天就研 ...
- Linux 服务器系统监控脚本 Shell【转】
转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...
- 第五部分shell项目一监控脚本
需求: 使用shell定制各种个性化告警工具,但需要统一化管理.规范化管理. 思路:指定一个脚本包,包含主程序.子程序.配置文件.邮件引擎.输出日志等.主程序:作为整个脚本的入口,是整个系统的命脉.配 ...
- 毕业设计之zabbix之nginx状态监控
监控脚本: [root@webone.quan.bbs ~]$vim /usr/local/zabbix/script/ngx_status.sh #!/bin/bash##************* ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
随机推荐
- CSS 中 Font-Family 中英文对照表
在 CSS 中,我们经常会使用 Font-Family 属性来定义字体.其中,中文字体如果直接使用中文名称,很有可能在非中文的系统环境下造成字体异常.所以通常使用字体的英文名称定义 Font-Fami ...
- 【已解决】关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案
近日在使用SQL Server 2008的过程中,修改已创建完成的表结构时,却一直提示弹出如下提示: 不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法重新创建的标进行了更改或者启用了“阻 ...
- NOPI Excel插件导入导出 图片批注
dateTable导出到excel的MemoryStream /// <summary> /// DataTable导出到Excel的MemoryStream Export() /// & ...
- 最全的CSS浏览器兼容问题
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格 ...
- CLR via C# 3rd - 01 - The CLR's Execution Model
1. Assemly A managed module is a standard 32-bit Microsoft Windoes portable executable (PE32) ...
- VS 打开工程后 自动关闭
今天在打开一个VS2008的工程的时候,会提示vs2008 已停止工作的异常信息,具体的解决办法如下: 打开vs2008命令提示窗口: 打开窗口后:键入:devenv.exe /resetuserda ...
- How to build the theory on a specific system - may be just a brain storm[clue found]
Motivation An observation and thoughts on reading Tel G.. Introduction to Distributed Algorithm(seco ...
- C#中as用法
在程序中,进行类型转换时常见的事,C#支持基本的强制类型转换方法,例如 Object obj1 = new NewType();NewType newValue = (NewType)obj1;这样强 ...
- MySQL数据库之------DOS命令行的基本操作
1. 进入D盘的如下路径: 按住 ctrl+shift ,右键,选择在此处打开命令行窗口.出现图2. 图 1 图 2 2. . 3. 图 3 4. 图 4 ...
- unity选择形象并替换
//将需要的素材放入Resources文件夹内,比如下面的意思是monster文件夹内的内容 Sprite[] sprites = Resources.LoadAll<Sprite>(&q ...