Linux-ELK日志收集安装

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

公众号 : 倔强小狮子

在这里插入图片描述


1. 所需准备

  1. JDK8.+
  2. 4 核 8G 服务器(甚至最低)
  3. 安装 wget

1. ELK 架构

PS : 多个web可以被同一个 logstash 采集, 并推送至 ElasticSearch最终由 Kibana 展示
PS : ElasticSearch Loastash Kibana 版本号必须一致
在这里插入图片描述

2. 安装 ElasticSearch

  1. 下载地址: https://www.elastic.co/cn/downloads/elasticsearch

  2. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3-linux-x86_64.tar.gz
    在这里插入图片描述

  3. /config/jvm.options elasticsearch 启动所需内存等, 配置 JVM内存大小等, 根据自己服务器配置调试-Xms, -Xmx 配置
    在这里插入图片描述
    在这里插入图片描述

  4. 启动 ElasticSearch 注意: 禁止使用 root 用户启动 elasticsearch

    4.1 新建用户 及 修改配置文件

    adduser es
    passwd es
    chown -R es:es elasticsearch-7.16.3
    chmod 770 elasticsearch-7.16.3
    
    vim ./config/elasticsearch.yml  内 network地址
    vim ./config/elasticsearch.yml  cluster.initial_master_nodes: ["master"]
    
    # 启动命令
    su es 
    ./bin/elasticsearch
    
  5. 校验 elasticsearch 安装成功 访问 localhost:9200
    在这里插入图片描述

  6. 错误查看距离配置文件
    在这里插入图片描述

3. 安装 logstash

  1. 下载地址: https://www.elastic.co/cn/downloads/logstash

  2. wget https://artifacts.elastic.co/downloads/logstash/logstash-7.16.3-linux-aarch64.tar.gz

  3. jvm.options JVM 启动参数配置, pipelines.yml 配置多个管道时使用
    vi

  4. 注意: logstash-sample.conf 配置文件, 配置日志采集源
    cp logstash-sample.conf logstash-global_log.conf

    input {
    # 采用TCP采集模式
      tcp {
        #模式选择为server
        mode => "server"
        #ip和端口根据自己情况填写,端口默认4560,对应下文logback.xml里appender中的destination, 日志上报地址
        host => "127.0.0.1"
        port => 4560
        #格式json
        codec => json_lines
      }
    }
    filter {
      #过滤器,根据需要填写
    }
    output {
      elasticsearch {
        action => "index"
        #这里是es的地址,多个es要写成数组的形式
        hosts  => "127.0.0.1:9200"
        #用于kibana过滤,可以填项目名称
        index  => "global_log"
      }
    }
    
  5. 修改配置文件

    vim logstash.yml 
    api.http.host: 0.0.0.0
    api.http.port: 9600
    
  6. 启动 Logstash

     ../bin/logstash -f ./global_log.conf
    
  7. 校验 安装 logstash 成功
    在这里插入图片描述

4. 配置项目pom


        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>

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

5. 配置 logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
    <!--应用名称-->
    <property name="APP_NAME" value="ccos-upms"/>
    <!--日志文件保存路径-->
    <property name="LOG_FILE_PATH" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/logs}"/>
    <contextName>${APP_NAME}</contextName>
    <!--每天记录日志到文件appender-->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE_PATH}/${APP_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!--输出到logstash的appender-->
    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <!--可以访问的logstash日志收集端口-->
        <!-- logstash-global_log.conf tcp标签配置 host 地址 -->
        <destination>127.0.0.1:4560</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
    </appender>
    <root>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
        <appender-ref ref="LOGSTASH"/>
    </root>
</configuration>

5. 安装 Kibana

  1. 下载地址: https://www.elastic.co/cn/downloads/kibana
  2. wget https://artifacts.elastic.co/downloads/kibana/kibana-7.16.3-linux-x86_64.tar.gz
  3. 配置 index
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6. 总结

  1.  logstash 可以采集多个项目, 使用 pipelines.yml 配置
  2. 可以使用 filebeat 方式进行搭建日志采集系统(后续出案例)
  3. 本文采集 TCP采集方式, 可使用 file, 及 kafka消息中间件方式进行采集

期待你的关注,和我一起学习
转载说明:转载携带原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值