安装filebeat修改配置文件/etc/filebeat/filebeat.yml

filebeat.prospectors:
- type: log
enabled: true
#日志路径
paths:
- /home/ekp/linux64/tomcat/logs/catalina.out
#日志tags
tags: [ekp-tomcat]
#排除空行
exclude_lines: ['^$']
#java多行日志合并
multiline:
pattern: '^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}'
negate: true
match: after filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 3
setup.kibana:
#输出至logstash
output.logstash:
hosts: ["10.1.4.242:5044"]

  传输用logstash配置/etc/logstash/conf.d/beat-redis.conf 如下

input{
beats{
port => 5044
}
} output{
if "nginx-ekp-log" in [tags]{
redis {
host => "10.1.4.243"
port => "6379"
password => "123456"
db => "1"
data_type => 'list'
key => "nginx-ekp-log"
}
}
if "ekp-tomcat" in [tags]{
redis {
host => "10.1.4.243"
port => "6379"
password => "123456"
db => "2"
data_type => 'list'
key => "ekp-tomcat"
}
#stdout{
# codec => rubydebug
#}
}
}

    过滤分析logstash配置/etc/logstash/conf.d/redis-elastic.conf如下

input{
redis {
host => "10.1.4.243"
port => "6379"
password => "123456"
db => "1"
data_type => "list"
key => "nginx-ekp-log"
}
redis {
host => "10.1.4.243"
port => "6379"
password => "123456"
db => "2"
data_type => "list"
key => "ekp-tomcat"
}
} filter{
if "nginx-ekp-log" in [tags] {
json {
source => "message"
}
}
if [user_ua] != "-" {
useragent {
target => "agent"
source => "user_ua"
}
}
if [lan_ip] != "-" {
geoip {
source => "lan_ip"
target => "geoip"
# database => "/usr/share/GeoIP/GeoIPCity.dat"
add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
}
mutate {
convert => [ "[geoip][coordinates]", "float"]
}
}
} output{
if "nginx-ekp-log" in [tags] {
elasticsearch{
hosts => ["10.1.4.244:9200"]
index => "nginx-ekp-log-%{+YYYY.MM}"
}
}
if "ekp-tomcat" in [tags] {
elasticsearch{
hosts => ["10.1.4.244:9200"]
index => "ekp-tomcat-%{+YYYY.MM}"
}
} # stdout{
# codec => rubydebug
# }
}

  启动filebeat,logstash即可把java日志多行合并进行收集

  

ELK之使用filebeat收集java运行日志的更多相关文章

  1. ELK学习实验017:filebeat收集java日志

    收集JAVA格式日志 1 查看Java格式日志 elasticsearch属于Java日志,可以收集elasticsearch作为Java日志范本 [root@node3 ~]# tail -f /u ...

  2. Kubernetes部署ELK并使用Filebeat收集容器日志

    本文的试验环境为CentOS 7.3,Kubernetes集群为1.11.2,安装步骤参见kubeadm安装kubernetes V1.11.1 集群 1. 环境准备 Elasticsearch运行时 ...

  3. ELK之使用filebeat收集系统数据及其他程序并生成可视化图表

    当您要面对成百上千.甚至成千上万的服务器.虚拟机和容器生成的日志时,请告别 SSH 吧.Filebeat 将为您提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂. 1,安装fileb ...

  4. ELK之filebeat收集多类型日志

    1.IP规划 10.0.0.33:filebeat+tomcat,filebeat收集系统日志.tomcat日志发送到logstash 10.0.0.32:logstash,将日志写入reids(in ...

  5. ELK学习实验018:filebeat收集docker日志

    Filebeat收集Docker日志 1 安装docker [root@node4 ~]# yum install -y yum-utils device-mapper-persistent-data ...

  6. ELK学习实验016:filebeat收集tomcat日志

    filebeat收集tomcat日志 1 安装tomcat [root@node4 ~]# yum -y install tomcat tomcat-webapps tomcat-admin-weba ...

  7. ELK之使用filebeat的多行过滤插件把多行合并成一行

    java运行日志一般有多行,格式类似如下 格式为:日期 + 日志级别 + 日志信息 有些日志是多行的,需要使用filebeat多行插件把多行合并成一行 未使用多行插件的日志格式 修改filebeat配 ...

  8. 第十一章·Filebeat-使用Filebeat收集日志

    Filebeat介绍及部署 Filebeat介绍 Filebeat附带预构建的模块,这些模块包含收集.解析.充实和可视化各种日志文件格式数据所需的配置,每个Filebeat模块由一个或多个文件集组成, ...

  9. ELK+kafka构建日志收集系统

    ELK+kafka构建日志收集系统   原文  http://lx.wxqrcode.com/index.php/post/101.html   背景: 最近线上上了ELK,但是只用了一台Redis在 ...

随机推荐

  1. IDEA + TortoiseSVN 导入 Eclipse 项目

    IDEA 是目前最好用的 Java 开发工具,所以我一直用的 IDEA,但是项目是由 Eclipse 创建,并且项目中一部份成员用 Eclipse.由于版本控制一直用的小乌龟(TortoiseSVN) ...

  2. ionic tab显示到顶部去了

    添加配置调整显示位置 .config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider) { $ionicConfigP ...

  3. 基于CentOS搭建基于 ZIPKIN 的数据追踪系统

    系统要求:CentOS 7.2 64 位操作系统 配置 Java 环境 安装 JDK Zipkin 使用 Java8 -openjdk* -y 安装完成后,查看是否安装成功: java -versio ...

  4. 如何测试hello world

    最近在跟敏捷专家聊到了单元测试的相关内容. 我的问题主要集中在如何推广单元测试. 我们发现在很多团队,开发人员并不是十分愿意去写单元测试,我认为主要的原因是学习写单元测试是有成本的,很多开发同学并不愿 ...

  5. MDK-ARM输出HEX文件重命名设置

    输出的可执行文件和库的名称就是在这里定义.比如我们常见输出Hex文件,其名称就是这里定义的.

  6. python中的ord函数

    chr().unichr()和ord() chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode字符 ...

  7. linux每日命令(4):pwd命令

    Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文 ...

  8. django 拷贝一个 model 实例

    今天做一个拷贝功能,把某个 obj 拷贝并修改部分数据,提交表单后保存为一个新实例.结果google 出来的结果不对,都是相互copy 的代码,大概如下: obj = MyModel.objects. ...

  9. [C++]Qt文本操作(按行读写)

    资料来源:https://blog.csdn.net/flyfish1986/article/details/79487104 #include <QDebug> #include < ...

  10. 基于jQuery+HTML5加入购物车代码

    基于jQuery+HTML5加入购物车代码.这是一款基于jquery+html5实现的支持累加计价的网站购物车代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...