热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

logstash分析日志

待处理日志格式如下:[totalCount:298006556,count:287347623,queryCount:259027994,exeCount:2831962

待处理日志格式如下:

[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分析日志


推荐阅读
  • 年前,我发表了一篇文章,分享了自己通过在线教育平台学习IT技能的经历。文中详细探讨了在线教育与传统线下教育在技能培训方面的优缺点。许多网友在讨论在线教育时,常常提到“在线教育是否缺乏学习氛围”的问题。本文将对此进行深入分析。 ... [详细]
  • 从零开始编译Linux系统:第16章 全新起点
    本章将详细介绍如何从零开始编译一套完整的Linux系统,涵盖关键组件如glibc库的介绍及其重要性。通过本文,读者将了解从源代码构建Linux系统的全过程。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • JavaSE For循环入门示例
    本文将介绍Java中For循环的基本概念和使用方法,通过几个简单的示例帮助初学者更好地理解和掌握For循环。 ... [详细]
  • SvpplyTable: 实现可扩展和可折叠的菜单动画
    SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ... [详细]
  • 本文介绍了 Confluence 6 中使用的其他 Cookie,这些 Cookie 主要用于存储产品的基本持久性和用户偏好设置,以提升用户体验。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 如何解决TS1219:实验性装饰器功能可能在未来版本中更改的问题
    本文介绍了两种方法来解决TS1219错误:通过VSCode设置启用实验性装饰器,或在项目根目录下创建配置文件(jsconfig.json或tsconfig.json)。 ... [详细]
  • 第七卷《英才》强调,即使有良药,若不对症,效果也不如低等药物;即使有贤才,若不适用,效果也不如普通人。文中通过多个比喻,阐述了人才使用的重要性,指出合适的人才在适当的时间和场合才能发挥最大效用。 ... [详细]
  • packagecom.panchan.tsmese.utils;importjava.lang.reflect.ParameterizedType;importjava.lang. ... [详细]
  • 蒜头君的倒水问题(矩阵快速幂优化)
    蒜头君将两杯热水分别倒入两个杯子中,每杯水的初始量分别为a毫升和b毫升。为了使水冷却,蒜头君采用了一种特殊的方式,即每次将第一杯中的x%的水倒入第二杯,同时将第二杯中的y%的水倒入第一杯。这种操作会重复进行k次,最终求出两杯水中各自的水量。 ... [详细]
  • 经过一年的思考,我发现自己对开发的兴趣并不浓厚,而对算法研究则更加热衷。本文将探讨开发与算法之间的本质差异,并分享我的未来学习计划。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • Bootstrap 缩略图展示示例
    本文将展示如何使用 Bootstrap 实现缩略图效果,并提供详细的代码示例。 ... [详细]
  • 使用 Git Rebase -i 合并多个提交
    在开发过程中,频繁的小改动往往会生成多个提交记录。为了保持代码仓库的整洁,我们可以使用 git rebase -i 命令将多个提交合并成一个。 ... [详细]
author-avatar
SHARK
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有