ELK日志分析平台搭建(7.7.0)

ELK日志分析平台搭建(7.7.0)

用于内网环境限制,该手册搭建linux安装包部署搭建为主,条件允许强烈建议使用Docker进行搭建。

      整套部署安装包以7.7.0版本为标准。业余研究,若有不对的地方,希望大家留言指出。

环境准备:CentOS7、JDK11

Elasticsearch部署安装:

下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-7-0

 

1.解压安装包到指定路径(建议提前df TH查看一下物理磁盘大小,避免内存不足)

 

2.开放并修改elasticsearch-7.7.0/config/elasticsearch.yml配置:

cluster.name: elasticsearch-cluster

node.name: es-node1

network.bind_host: 0.0.0.0

network.publish_host: localhost

http.port: 9200

transport.tcp.port: 9300

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: true

node.data: true 

cluster.initial_master_nodes: ["es-node1"] #这里的node-1为node-name配置的值

 

 

3.安装ik分词器V7.7.0上传并解压至elasticsearch-7.7.0/plugins/ik(ik文件夹为新建文件夹)

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.7.0

4.启动

Bin目录下执行 ./elasticsearch

 

报错0:指定启动JDK

解压jdk到指定目录

增加elasticsearch-7.7.0/bin/ elasticsearch 配置

export JAVA_HOME=/dev/ELK/elasticsearch/jdk-11/

export PATH=$JAVA_HOME/bin:$PATH

 

if [ -x "$JAVA_HOME/bin/java" ]; then

        JAVA="/dev/ELK/elasticsearch/jdk-11/bin/java"

else

        JAVA=`which java`

fi

 

报错1:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决

在/etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

执行/sbin/sysctl -p 立即生效

报错2: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

解决:

编辑 /etc/security/limits.conf,追加以下内容;
* soft nofile 65536
* hard nofile 65536
此文件修改后需要重新登录用户,才会生效

登录后使用ulimit -S -n/ulimit -H -n查看

 

 

Logstash部署安装:

下载地址:https://www.elastic.co/cn/downloads/past-releases/logstash-7-7-0

 

1.解压logstash到指定路径(建议提前df TH查看一下物理磁盘大小,避免内存不足)

2.由于logstash默认JVM configuration1G,若本地搭建,建议改小

路径:logstash-7.7.0/config/jvm.options

 

3.修改:logstash-7.7.0/config/logstash-sample.conf

input {

  tcp {

    #对外开放端口

    port => 5044

    #指定json格式

    codec => json_lines

  }

}

 

output {

  elasticsearch {

    action => "index"

    #此处为实际Es访问地址

hosts => ["http://192.168.15.131:9200"]

#用来区分各微服务日志标识

    index => "%{[appname]}"

  }

  #控制台输出打印

  stdout { codec => rubydebug }

}

 

若想了解更多logstash配置,请访问: https://github.com/logstash/logstash-logback-encoder

4.启动

[root@localhost config]# ../bin/logstash -f logstash-sample.conf

 

 

Kibana部署安装:

下载地址:https://www.elastic.co/cn/downloads/past-releases/kibana-7-7-0

 

1.解压Kibaba到指定路径(建议提前df TH查看一下物理磁盘大小,避免内存不足)

 

2.开放并修改/dev/shm/kibana-7.7.0-linux-x86_64/config/kibana.yml中的配置:

 

#服务开放端口

server.port: 5601

#允许外部访问

server.host: "0.0.0.0"

#Es实际访问地址

elasticsearch.hosts: ["http://192.168.15.131:9200"]

#汉化配置

i18n.locale: "zh-CN"

 

3.启动服务

进入bin 执行:./kibana

启动会出现警告日志,只需要耐心等待即可。

出现此处代表已经启动成功。

4.访问:IP:port 出现下面页面,代表成功。

LogBack集成ELK:

1.添加logback依赖:

注意:该处maven依赖有版本差异,最好与下方保持一致。

<dependency>

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

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

    <version>4.11</version>

</dependency>

 

2.logback.xml中添加配置:

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

//此处为logstash的ip地址和开放对口
    <destination>192.168.15.131:5044</destination>
    <!-- encoder必须配置,有多种可选 -->
   
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">

//此处用来区分各服务的系统日志标识
        <customFields>{"appname":"test"}</customFields>
    </encoder>
    <connectionStrategy>
        <roundRobin>
            <connectionTTL>5 minutes</connectionTTL>
        </roundRobin>
    </connectionStrategy>
</appender>

 

<root level="info">

    <appender-ref ref="LOGSTASH"/>

</root>

 

Logback与logstash联调:

启动项目后,如logstash出现下方信息输出,代表系统已推送日志到logstash。

Kibana中查看系统日志

1.建立索引

 

 

 

 

 

 

2.查看日志

 

 

备注:以上步骤为搭建时的主要步骤,搭建过程中遇见其他小问题当时没有记录,如遇到,请自行百度或留言。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值