专栏首页技术探索springboot logback(log4j) elk 非集群

springboot logback(log4j) elk 非集群

好长时间没有写过blog了。抽时间把很久之前集成的一个简易的elk升级了下 本教程使用的软件如下: springboot 2.* jdk8 elk 6.2.4(elasticsearch logstash kibana)

1. springboot集成logback+logstash

1.1 pom加入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
    <version>2.0.0.RELEASE</version>
</dependency>
<!-- Logstash encoder -->
<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>4.9</version>
</dependency>
<dependency>
    <groupId>net.logstash.log4j</groupId>
    <artifactId>jsonevent-layout</artifactId>
    <version>1.7</version>
</dependency>

1.2 在application.yml中加载logback的配置文件

logging:
  config: classpath:logback.xml
  path: logs

1.3 在logback.xml中配置logstash

<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <param name="Encoding" value="UTF-8"/>
    <destination>192.168.188.110</destination>
    <port>4560</port>
    <!-- encoder is required -->
    <encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>

<root level="INFO">
        <appender-ref ref="logstash" />
</root>

2.elk配置

2.1 配置es

解压文件

tar zxvf elasticsearch-6.2.4.tar.gz

由于es不能用root账户启动,所以需要添加一个非root账户

useradd es

修改es文件夹的权限

chown -R es:es elasticsearch-6.2.4

修改配置文件

vi /opt/elk/elasticsearch-6.2.4/config/elasticsearch.yml

修改elasticsearch.yml的内容如下

#端口
http.port: 9200
#ip
network.host: 192.168.188.111
#data路径
path.data: /opt/elk/elasticsearch-6.2.4/data
#logs路径
path.logs: /opt/elk/elasticsearch-6.2.4/logs

创建data和logs文件夹

mkdir data logs

启动es(为了方便观察日志没有后台启动)

./bin/elasticsearch

2.2 logstash 配置

解压文件

tar zxvf logstash-6.2.4.tar.gz

进入config文件夹新建log4j_es.conf文件并编写内容

vi log4j_es.conf

log4j_es.conf内容

input {
    # https://www.elastic.co/guide/en/logstash/current/plugins-inputs-log4j.html
    tcp {  
    mode => "server"  
    host => "192.168.188.110"  
    port => 4560  
    codec => json_lines  
  }
}
output {
   elasticsearch{
        hosts => ["192.168.188.110:9200"]
        index => "log4j-%{+YYYY.MM.dd}"
        document_type => "log4j_type"
    }
   stdout { codec => rubydebug }
}

启动logstash (为了方便观察日志没有后台启动)

./bin/logstash -f config/log4j_es.conf

2.3 kibana 配置

解压

tar zxvf kibana-6.2.4-linux-x86_64.tar.gz

修改配置文件kibana.yml

server.port: 5601
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "192.168.188.110"

# The URL of the Elasticsearch instance to use for all your queries.
elasticsearch.url: "http://192.168.188.110:9200"

启动kibana

./bin/kibana

3.kibana界面设置

进入kibana界面 点击 Management 点击Index Patterns 在 Create index pattern 的文本框输入索引名称,因为我在logstash中设置索引为 log4j-%{+YYYY.MM.dd},所以我们填写 log4j-* 点击下一步设置直到完成。 点击Discovery可以看到我们的日志了。

接下来,将elk进行升级 使用elk+filebeat+kafka,敬请期待。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为 Spring Boot 应用添加 Redis Caching

    中大型应用开发中,缓存的重要性不言而喻,早期常用的进程式类的缓存,像 EhCache 或者是 ConcurrentHashMap 这样的容器,发展到如今,更流行...

    happyJared
  • 基于three.js的3D粒子动效实现 顶

    粒子特效是为模拟现实中的水、火、雾、气等效果由各种三维软件开发的制作模块,原理是将无数的单个粒子组合使其呈现出固定形态,借由控制器、脚本来控制其整体或单个的运动...

    个推君
  • Flutter 可以缩放拖拽的图片

    在pub上面找了下,没有发现一个效果跟微信一样的支持缩放拖拽效果的image,所以就自己撸了一个,之前写过Flutter 什么功能都有的Image,于是就在这个...

    Android技术干货分享
  • 跨端框架盘点

    Electron这个玩意简直是做团队内部工具的利器,也是前端老手秒上手的东西,可以给团队做些玩意了,桌面端追求开发速度用Electron 使用 JavaScr...

    祈澈菇凉
  • Java抽象類實例

    葆宁
  • Dart代码生成器PART ONE

    在开发Flutter的过程中,会发现:json解析怎么这么麻烦,数据库存储怎么这么多步骤,当你在重复编写这一个又一个步骤时,会发现,复制粘贴过程中因为某一个变量...

    rhyme_lph
  • 聊一聊C# 8.0中的await foreach

    很开心今天能与大家一起聊聊C# 8.0中的新特性-Async Streams,一般人通常看到这个词表情是这样.

    码农阿宇
  • mysql8+mybatis-plus3.1自动生成带lombok和swagger和增删改查接口

    完美集成lombok,swagger的代码生成工具,让你不再为繁琐的注释和简单的接口实现而烦恼:entity集成,格式校验,swagger; dao自动加@ m...

    边鹏 [进阶者]
  • 2-2 什么是模块打包工具

    关于模块和模块化,百度百科有一段引用自《Java应用架构设计:模块化模式与OSGi》一书的解释非常好:

    love丁酥酥
  • 使用express框架,如何在ejs文件中导入外部的js、css文件

    最近在用nodejs写一点东西,当然也用到了express框架和ejs模版了。在使用ejs模版的过程中遇到了这个问题:如何在ejs模版中导入外部的js、css文...

    acoolgiser

扫码关注云+社区

领取腾讯云代金券