安装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. eclipse里面使用Maven搭建web工程

    一.建立Maven项目 使用Eclipse的maven构建一个web项目,以构建SpringMVC项目为例: 1.1 选择建立Maven Project 选择File -> New -> ...

  2. Linux下的两种磁盘分区工具的使用

    如何使用fdisk和parted分区工具来进行硬盘分区,下面我来说一下在Linux系统中这两种硬盘分区工具的使用方法:     ----------fdisk分区工具----------       ...

  3. php 实现发送微信模板消息(转)

    <?php namespace Org\Weixin; /** * Created by PhpStorm. * User: StandOpen * Date: 15-1-7 * Time: 9 ...

  4. sonarqube 自动代码审查

    1.docker 拉取sonarqube docker pull sonarqube 2.启动docker docker run -d --name sonarqube -p 9000:9000 so ...

  5. qeephp 记录下

    百度百科: https://baike.baidu.com/item/qeephp/8328612?fr=aladdin 官方地址: http://www.qeephp.cn/app/index.ph ...

  6. Selenium:注解@FindBy、@FindBys、@FindAll的用法

    方式有3种:@FindBy.@FindBys.@FindAll.下文对3中类型的区别和使用场景进行介绍 1)@FindBy @FindBy(id= "A") private Web ...

  7. LaTeX语法笔记

    1.单词之间用空格分隔,段落之间用一整空行分隔,但是,如果在多输入空格或者空行也没有用处,系统还是把它当做一个空格或空行. 2.双引号:左侧用``(键盘左上角那个符号),右侧用'',即: ``'' , ...

  8. function 与 => 的区别

    在JS中,箭头函数并不是简单的function(){}匿名函数的简写语法糖,实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,在编写函数时就已经确定了.而匿名函数的this ...

  9. 【Big Data - Hadoop - MapReduce】hadoop 学习笔记:MapReduce框架详解

    开始聊MapReduce,MapReduce是Hadoop的计算框架,我学Hadoop是从Hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...

  10. [Big Data - Codis, Mycat(cobar)] 企业互联网+转型实战:如何进行PB级别数据的架构变迁

    随着DT时代的来临,数据对于企业经营决策的价值日益凸显,而企业在进行互联网+转型的过程中,如何让数据架构平滑迁移到大数据平台,对于传统业务的转型升级至关重要.企业IT部门该如何进行PB级别大数据平台的 ...