待处理日志格式如下:

[totalCount: 298006556, count: 287347623, queryCount: 259027994, exeCount: 28319629, totalQPS: 10000.0, QPS: 1.0, queryQPS: 1.0, exeQPS: 0.0]
[totalCount: 298006556, count: 287347623, queryCount: 259027994, exeCount: 28319629, totalQPS: 20000.0, QPS: 1.0, queryQPS: 1.0, exeQPS: 0.0]
[totalCount: 298006556, count: 287347623, queryCount: 259027994, exeCount: 28319629, totalQPS: 40000.0, QPS: 1.0, queryQPS: 1.0, exeQPS: 0.0]
[totalCount: 298006556, count: 287347623, queryCount: 259027994, exeCount: 28319629, totalQPS: 100000.0, QPS: 1.0, queryQPS: 1.0, exeQPS: 0.0]

目标是得到每条记录的总QPS,即totalQPS

1、安装logstash。

2、编写logstash处理配置文件,创建一个test.conf文件,内容如下:

input {
     file {
        path => "/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/test.log"
        start_position => "beginning"
    }
}
filter {
       grok {
           match => { "message" => "\[%{USERNAME}\: %{INT:totalCount}\, %{USERNAME}\: %{INT:count}\, %{USERNAME}\: %{INT:queryCount}\, %{USERNAME}\: %{INT:exeCount}\, %{USERNAME}\: %{BASE10NUM:totalQPS}\, %{USERNAME}\: %{BASE10NUM:QPS}\, %{USERNAME}\: %{BASE10NUM:queryQPS}\, %{USERNAME}\: %{BASE10NUM:exeQPS}\]" }
      }
}
output {
    if "_grokparsefailure" in [tags] {
    }else{
        file {
             path => "/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/test-%{+yyyy-MM-dd}.log"
             message_format => "总QPS为%{totalQPS}"
        }
    }
}
  • 指定输入日志为/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/test.log。

  • filter为按照日志格式的匹配过滤规则。

  • 最后以一定的格式输出到/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/test-%{+yyyy-MM-dd}.log。

3、启动logstash开始处理,./bin/logstash -f conf/test.conf

4、处理后生成文件test-xxx.log,内容为:

总QPS为10000.0
总QPS为20000.0
总QPS为40000.0
总QPS为100000.0

5、后面如果有日志继续写入test.log则会将解析结果追加到test-xxxx.log文件中。

logstash分析日志的更多相关文章

  1. ELK快速入门(二)通过logstash收集日志

    ELK快速入门二-通过logstash收集日志 说明 这里的环境接着上面的ELK快速入门-基本部署文章继续下面的操作. 收集多个日志文件 1)logstash配置文件编写 [root@linux-el ...

  2. Oracle logmnr工具分析日志脚本

    在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ...

  3. 利用WebLog Experet分析日志获取性能需求

    一.下载WebLog Expert日志分析工具 官网下载地址:http://www.weblogexpert.com/download.htm 二.安装 安装很简单,点击“下一步”默认安装即可 三.配 ...

  4. txt文件按行处理工具类(可以截取小说、分析日志等)【我】

    txt文件按行处理工具类(可以分析日志.截取小说等) package file; import java.io.BufferedReader; import java.io.BufferedWrite ...

  5. shell分析日志常用指令合集

    数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个.日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧.(log ...

  6. linux运维之分析日志相关命令(1)

    一.分析日志 1.查看有多少IP访问 awk '{print $1}' log_file|sort|uniq|wc -l 2.查看某一个页面被访问的次数 grep "/index.php&q ...

  7. ELKStack入门篇(三)之logstash收集日志写入redis

    1.部署Redis 1.1.下载redis [root@linux-node2 ~]# wget http://download.redis.io/releases/redis-4.0.6.tar.g ...

  8. Logstash IIS日志采集

    Logstash IIS 日志采集,跟Linux上运行差不多,都需要java运行环境,装个jdk就好了,对于IIS日志暂时未处理X-forward-for,纠结怎么弄当中,貌似要装个插件,慢慢研究. ...

  9. centos7安装Logwatch配合msmtp邮件客户端发送服务器监控分析日志

    ########################### #DATE 2016-07-29                         # #Authur by Denilas Yeung     ...

随机推荐

  1. C#之Message(转)

    一.消息概述 Windows下应用程序的执行是通过消息驱动的.消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理. 什么是消息(Message) 消息就是通知和命令. ...

  2. gradlew在Travis CI没可执行权限 permission denied

    问题的来源 我给一个gradlew项目添加Travis CI的时候遇到一个问题,gradlew没有可执行权限.具体错误如下: /home/travis/build.sh: line 45: ./gra ...

  3. 关于Unity中NGUI图片精灵响应鼠标的方法

    我在Unity里做NGUI的时候发现一个问题. 在Unity2D场景当中,一个精灵图片只要加上了Box Collider或者Box Collider2D,就可以相应OnMouseEnter和OnMou ...

  4. django 模板继承与重写

    1.模板的继承一般用在别人给我们做好的HTML页面,当我们发现有很多的页面都具有相同的部分,这会我们应该考虑怎么能把他们相同的部分给提取出来,提取出来的部分我们作为一个单独的HTML文件叫做base. ...

  5. .Net Core小技巧 - 使用Swagger上传文件

    前言 随着前后端分离开发模式的普及,后端人员更多是编写服务端API接口.调用接口实现文件上传是一个常见的功能,同时也需要一个选择文件上传的界面,可以编写前端界面上传,可以使用Postman.curl来 ...

  6. 线程基础(CLR via C#)

    1.线程基础  1.1.线程职责  线程的职责是对CPU进行虚拟化.Windows 为每个进程豆提供了该进程专用的线程(功能相当于一个CPU).应用程序的代码进入死循环,于那个代码关联的进程会&quo ...

  7. [SDOI2011]黑白棋

    Description 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色不同. 小 ...

  8. hdu 5517 Triple(二维树状数组)

    Triple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  9. hdu 5135(2014广州—状态dp)

    t题意:给你n条边,构造任意个三角形,一个三角形恰好只用3条边,每条边只能一次,求面积最大值 思路: 最开始想的是先排序从大到小取,但感觉并不怎么靠谱. 最多12条边,所以可以求出所有可能的三角形面积 ...

  10. Python中的文件路径的分隔符

    主要是需要考虑分隔符的问题: 在Windows系统下的分隔符是:\ (反斜杠). 在Linux系统下的分隔符是:/(斜杠). 当在字符中出现\时,大家就要考虑到转义字符了. 转义字符的概念,参考维基百 ...