Docker安装ELK并整合Springboot

3 篇文章 0 订阅
2 篇文章 0 订阅

系统环境谷歌云香港服务器centos7 ,2cpu 7.5G

废话不多说,先安装docker

一、docker

使用yum安装

yum -y install docker

启动docker

systemctl start docker

二、elasticsearch

拉取镜像,这里使用6.6.1版本,也可以使用其他版本,但elk版本最好相差不要太大

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.6.1

启动es镜像

docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.6.1

elasticsearch的默认端口是9200,要把docker容器内的9200端口映射到宿主环境,这样才能访问到容器内的es服务

配置跨域,es是启动的容器名称

docker exec -it es /bin/bash

修改elasticsearch.yml

cd config
vi elasticsearch.yml
# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"

重启容器

docker restart es

访问 http://你的ip:9200,显示如下就成功了

{
  "name": "ZcPQVTh",
  "cluster_name": "docker-cluster",
  "cluster_uuid": "UNpmsEFiQheO78o-MEhshw",
  "version": {
    "number": "6.6.1",
    "build_flavor": "default",
    "build_type": "tar",
    "build_hash": "1fd8f69",
    "build_date": "2019-02-13T17:10:04.160291Z",
    "build_snapshot": false,
    "lucene_version": "7.6.0",
    "minimum_wire_compatibility_version": "5.6.0",
    "minimum_index_compatibility_version": "5.0.0"
  },
  "tagline": "You Know, for Search"
}

三、logstash

拉取并启动镜像,并将pipeline端口暴露出来

docker run -d --name es_logstash -p 4560:4560 docker.elastic.co/logstash/logstash:6.6.1

进入容器

docker exec -it es_logstash /bin/bash

修改logstash.yml配置文件

cd config
vi logstash.yml
# 改成如下配置
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.url: http://es所在的ip:9200
xpack.monitoring.elasticsearch.username: elastic
xpack.monitoring.elasticsearch.password: changme

修改pipeline下的logstash.conf文件

cd pipeline
vi logstash.conf
# 改为如下配置
input {
  tcp {
    #模式选择为server
    mode => "server"
    #ip和端口根据自己情况填写,端口默认4560,对应下文logback.xml里appender中的destination
    host => "logstash所在的ip地址"
    port => 4560
    #格式json
    codec => json_lines
  }
}
filter {
  #过滤器,根据需要填写
}
output {
  elasticsearch {
	action => "index"
    #这里是es的地址,多个es要写成数组的形式
    hosts  => "es所在的ip地址:9200"
    #用于kibana过滤,可以填项目名称
    index  => "springboot-logstash"
  }
}

重启logstash

docker restart es_logstash

四、kibana

拉取镜像

docker pull kibana:6.6.2

启动容器

docker run --name es_kibana -p 5601:5601 -d -e ELASTICSEARCH_URL=http://es所在的ip:9200 kibana:6.6.2

访问地址:http://kibana所在的ip:5601。如果你的kibana版本高于ES的版本,访问后会报错 "Kibana server is not ready yet"。因此在安装前务必下载版本比ES低。

五、整合springboot

添加依赖

    <properties>
        <ch.qos.logback.version>1.2.3</ch.qos.logback.version>
    </properties>



    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>${ch.qos.logback.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${ch.qos.logback.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-access</artifactId>
            <version>${ch.qos.logback.version}</version>
        </dependency>
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.1</version>
        </dependency>

添加logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <contextName>logback</contextName>

    <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>logstash所在的ip地址:4560</destination>
        <!-- encoder必须配置,有多种可选 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>

    <root level="info">
        <appender-ref ref="stash" />
    </root>
</configuration>

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值