首页 > 编程语言 > 详细

基于Centos 7.4 搭建ELK整合SpringBoot日志收集

时间:2021-05-10 13:15:30      阅读:20      评论:0      收藏:0      [点我收藏+]

基于Centos 7.4搭建es7.12.0+logstash-7.12.0+kibana-7.12.0(ELK)整合SpringBoot日志收集

注:Skywalking和logstash可共用一个ES,根据实际性能要求判断是否需要独立使用。

ELK简介:

  ELK是Elasticsearch+Logstash+Kibana简称

  1. Elasticsearch:是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在是使用最广的开源搜索引擎之一。
  2. Logstash: 简单来说就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端,与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供了很多功能强大的滤网以满足你的各种应用场景。
  3. Kibana: 是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图标、表格、地图等,kibana能够很轻易的展示高级数据分析与可视化。

  ELK实现的日志采集的核心是,通过 logstash 将应用系统的日志通过 input 收集,然后通过内部整理,通过 output 输出到 Elasticsearch 中,其实就是建立了一个 index,然后 kibana作为可视化平台,将 ES 的index进行输出到平台,通过图表的方式进行展示。

环境准备:

  JDK: 1.8

  OS: CentOS Linux release 7.4.1708 (Core)

  elasticsearch:7.12.0

  kibana:7.12.0

  logstash:7.12.0

环境搭建:

  其中 elasticsearch 的搭建可以参考 https://www.cnblogs.com/yizhipanghu/p/14738492.html, 在这里就不介绍了。

  启动 Elasticsearch

一、安装Kibana

1、进入安装包路径

[root@skywalking skywalking]# cd /usr/local/skywalking

2、解压软件包

[root@localhost skywalking]# tar -zxvf kibana-7.12.0-linux-x86_64.tar.gz

3、修改配置文件

[root@skywalking skywalking]# vim /usr/local/skywalking/kibana-7.12.0-linux-x86_64/config/kibana.yml

# 服务端口号:
server.port: 5601

# 服务IP地址:
#server.host: "localhost"
server.host: "10.10.10.10"

# ES链接地址:
#elasticsearch.url: "localhost"
elasticsearch.url: "http://10.10.10.10:9200"

# 配置pid文件存储运行Kibana时的进程号,便于用kill -9 `cat /var/run/kibana.pid`来杀进程。
pid_file: /home/skywalking/es/kibana-6.2.4-linux-x86_64/run/kibana.pid

# 配置Kibana的日志输出位置:
logging.dest: /home/skywalking/es/kibana-6.2.4-linux-x86_64/kibana-log/kibana.log

#创建日志文件夹和进程文件夹
[root@skywalking skywalking]# mkdir -p /usr/local/skywalking/kibana-7.12.0-linux-x86_64/run/
[root@skywalking skywalking]# mkdir -p /usr/local/skywalking/kibana-7.12.0-linux-x86_64/kibana-log/

4、开放端口:

[root@skywalking skywalking]# firewall-cmd --list-ports
[root@skywalking skywalking]# firewall-cmd --zone=public --add-port=5601/tcp --permanent
[root@skywalking skywalking]# firewall-cmd --reload

5、目录赋权限

[root@skywalking skywalking]# chown -R es:es /usr/local/skywalking/kibana-7.12.0-linux-x86_64

6、启动

[root@skywalking skywalking]# cd /usr/local/skywalking/kibana-7.12.0-linux-x86_64/bin/
[root@skywalking bin]# su es
[es@skywalking bin]$ nohup ./kibana &

#在后台不输出日志方式运行
[es@skywalking bin]$ nohup ./kibana > /dev/null 2>&1 &

7、访问kibana页面

http://10.10.10.10:5601

技术分享图片

 

二、安装logstash

1、进入安装包路径

[root@skywalking skywalking]# cd /usr/local/skywalking
[root@skywalking skywalking]# ll
drwxrwxr-x. 11 1001 1002       185 4月  30 17:05 apache-skywalking-apm-bin-es7
-rw-r--r--.  1 root root 184816700 4月  30 16:59 apache-skywalking-apm-es7-8.5.0.tar.gz
drwxr-xr-x. 10 es   es         167 4月  30 15:10 elasticsearch-7.12.0
-rw-r--r--.  1 root root 327497331 4月  30 15:03 elasticsearch-7.12.0-linux-x86_64.tar.gz
drwxr-xr-x. 12 es   es         239 4月  30 15:49 kibana-7.12.0-linux-x86_64
-rw-r--r--.  1 root root 281022115 4月  30 15:04 kibana-7.12.0-linux-x86_64.tar.gz
-rw-r--r--.  1 root root 368429061 5月   8 14:42 logstash-7.12.0-linux-x86_64.tar.gz
[root@skywalking skywalking]#

2、解压软件包

[root@localhost skywalking]# tar -zxvf logstash-7.12.0-linux-x86_64.tar.gz

3、在config文件夹下添加 test.conf 文件,内容如下:

[root@skywalking skywalking]# cat logstash-7.12.0/config/test.conf
input{
        tcp {
                mode => "server"
                host => "10.10.10.10"   #logstash主机IP,我这里是本机IP
                port => 9061            #logstash服务端口,进行采集的端口
                codec => json_lines     #解码器,有的版本需单独安装
        }
}
output{
        elasticsearch{
                hosts=>["10.10.10.10:9200"]    #ES地址和端口
                index => "springboot-study-%{+YYYY.MM.dd}"       #在ES生成的名称
                }
        stdout{codec => rubydebug}
}
[root@skywalking skywalking]#

4、启动logstash

[root@skywalking skywalking]# cd logstash-7.12.0/
[root@skywalking logstash-7.12.0]# ./logstash -f  ../config/test.conf

5、Spring boot微服务中添加依赖

<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>6.0</version>
</dependency>

6、在resources下添加logback-spring.xml   只需把下面ip地址修改一下即可

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml" />

    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>10.10.10.10:9061</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>

    <root level="INFO">
        <appender-ref ref="LOGSTASH" />
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

7、application.properties 修改配置:

logging.config = classpath:logback-spring.xml

8.然后启动springboot ,在对应的controller 里面打印一些日志,然后就可以看到启动 Logstash 的 控制台有所输出,就可以了。

9.登录kibana http://10.10.10.10:5601/ ,点击导航栏 monitoring 模块 --->  点击 Indices :

 

基于Centos 7.4 搭建ELK整合SpringBoot日志收集

原文:https://www.cnblogs.com/yizhipanghu/p/14750175.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!