ELK+logback日志采集教程

ELK是三个开源软件的缩写,别离暗示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。

Elasticsearch:是个开源分布式搜刮引擎,供给汇集、阐发、存储数据三年夜功能。它的特点有:分布式,零设置装备摆设,主动发现,索引主动分片,索引副本机制,restful气概接口,大都据源,主动搜刮负载等。

Logstash:本家儿如果用明天将来志的汇集、阐发、过滤日记的东西,撑持年夜量的数据获取体例。一般工作体例为c/s架构,client端安装在需要收集日记的本家儿机上,server端负责将收到的各节点日记进行过滤、点窜等操作在一并发往elasticsearch上去。

Kibana:也是一个开源和免费的东西,Kibana可觉得 Logstash 和 ElasticSearch 供给的日记阐发友爱的 Web 界面,可以帮忙汇总、阐发和搜刮主要数据日记。

东西/原料

  • jdk8情况
  • elasticsearch-6.4.2.tar.gz 下载地址:https://www.elastic.co/downloads/elasticsearch
  • logstash-6.4.2.tar.gz 下载地址:https://www.elastic.co/downloads/logstash
  • kibana-6.4.2-linux-x86_64.tar.gz 地址:https://www.elastic.co/downloads/kibana
  • Linux情况

方式/步调

  1. 1

    安装并设置装备摆设jdk情况变量,Linux号令如下:

    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31

    export JRE_HOME=${JAVA_HOME}/jre 

    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH

    source /etc/profile 使设置装备摆设情况变量生效。

  2. 2

    安装 elasticsearch,Linux号令如下:

    root#  tar -xvf elasticsearch-6.4.2.tar.gz

    root#  cp -rf elasticsearch-6.4.2 /home/es

    root#  chown -R es.es /home/es/elasticsearch-6.4.2

    es$   nohup /home/es/elasticsearch-6.4.2/bin/elasticsearch &

  3. 3

    安装 logstash,Linux号令如下:

    root#  tar -zxvf logstash-6.1.0.tar.gz root# cp -rf logstash-6.1.0/home/elk 

    root#  chown -R elk.elk /home/elk/logstash-6.1.0 

    root#  touch /home/elk/logstash-6.1.0/config/logstash-simple.conf 

    root#  ./bin/logstash -f ./config/logstash-simple.conf

  4. 4

    在config 下设置装备摆设一个simple.conf设置装备摆设文件,如图

  5. 5

    安装 kinbana

    1、利用号令解压(按照本身的文件名称进行解压): 

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

                                                                                                                           

    2、点窜设置装备摆设文件: cd /kibana/kibana-6.4.2-linux-x86_64/config/kibana.yml

    端口:server.port: 5601

    linux对应的ip地址:server.host

    es设置装备摆设地址和端口进行设置装备摆设:elasticsearch.url: "http://xxx.xxx.xxx.xxx:9200"

                                                                                                                           

    3、启动,Linux号令如下:

    root#  cd /kibana/kibana-6.4.2-linux-x86_64/bin

    root#   ./kibana (不克不及封闭终端) 

    root#  nohup ./kibana > /nohub.out &  (可封闭终端,在nohup.out中查看log)                                                                                                                                                                                                   

    备注:若是不克不及正常拜候则利用firewall开放linux端口

    1、执行如下号令号令:firewall-cmd --zone=public --add-port=5601/tcp --permanent

    2、重启防火墙,运行号令:firewall-cmd --reload

    3、查看端标语是否开启,运行号令:firewall-cmd --query-port=5601/tcp

在Logback.xml中集当作logstash

  1. 1

    在pom文件中引入jar包,如下:

    <parent>        

        <groupId>org.springframework.boot</groupId>        

        <artifactId>spring-boot-starter-parent</artifactId>        

        <version>2.0.5.RELEASE</version>        

        <relativePath/>    

    </parent>    

    <dependency>        

        <groupId>net.logstash.logback</groupId>        

        <artifactId>logstash-logback-encoder</artifactId>        

        <version>5.2</version>    

    </dependency>

  2. 2

    在logback-spring.xml中设置装备摆设,设置装备摆设如下:

    <configuration>

        <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

        <springProperty scope="context" name="springAppName" source="spring.application.name"/>

        <!-- 节制台的日记输出样式 -->

        <property name="CONSOLE_LOG_PATTERN"

                  value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p})

                  %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan}

                  %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />

        <!-- 节制台输出 -->

        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">

            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

                <level>INFO</level>

            </filter>

            <!-- 日记输出编码 -->

            <encoder>

                <pattern>${CONSOLE_LOG_PATTERN}</pattern>

            </encoder>

        </appender>

        <!-- 为logstash输出的json格局的Appender -->

        <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">

            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

                <level>INFO</level>

            </filter>

            <destination>127.0.0.1:9601</destination>

            <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">

                <providers>

                    <!--<timestamp>-->

                    <!--<timeZone>UTC</timeZone>-->

                    <!--</timestamp>-->

                    <pattern>

                        <pattern>

                            {

                            "severity": "%level",

                            "service": "${springAppName:-}",

                            "trace": "%X{X-B3-TraceId:-}",

                            "span": "%X{X-B3-SpanId:-}",

                            "exportable": "%X{X-Span-Export:-}",

                            "pid": "${PID:-}",

                            "thread": "%thread",

                            "class": "%logger{40}",

                            "rest": "%message"

                            }

                        </pattern>

                    </pattern>

                </providers>

            </encoder>

        </appender>

        <root level="INFO">

            <appender-ref ref="console"/>

            <appender-ref ref="logstash"/>

        </root>

    </configuration>

  3. 3

    设置装备摆设完当作后启动

    1、启动elk:elasticsearch -> logstash -> kibana 必需按照启动挨次进行启动

    2、发送请求,测试发送日记

注重事项

  • ELK的所有号令为Linux系统情况
  • 发表于 2019-02-01 20:29
  • 阅读 ( 1236 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具