docker安装elk

本文详细介绍如何在服务器上部署ELK Stack(Elasticsearch、Logstash、Kibana),包括环境配置、各组件的安装步骤、配置文件的创建及容器的运行。同时,提供了代码集成ELK的具体方法,确保日志数据的高效收集与分析。
摘要由CSDN通过智能技术生成

一、环境

服务器ip:10.144.213.27

elk镜像版本:7.1.1 (版本保持一致,避免出现问题)

elk配置文件存放目录:/home/elk/config

二、安装ElasticSearch

1.因为elasticsearch占用内存较高,官方要求max_map_count需要配置到最小262144,所以执行如下命令:

sysctl -w vm.max_map_count=262144

2.创建elasticsearch.yml配置文件,内容如下

1) network.bing_host:0.0.0.0 表示任何ip都能访问

2) bootstrap.system_call_filter: false 避免出现如下错误:

3.拉取镜像

docker pull elasticsearch:7.1.1

network.bing_host:0.0.0.0 表示任何ip都能访问

4.运行容器

docker run -d --name es -p 9200:9200 -p 9300:9300  -v /home/elk/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  -e "discovery.type=single-node"  elasticsearch:7.1.1

5.校验

1) 使用docker ps查询容器是否运行正常

2)在浏览器中输入http://10.144.213.27:9200 ,若出现下列内容,表示启动成功

三、安装logstash

1.拉取镜像

docker pull logstash:7.1.1

2.创建logstash.yml配置文件,内容如下

1) http://10.144.213.27:9200 配置成ElasticSearch服务地址

3.创建logstash-sample.conf配置文件,内容如下

1)设置tcp收集方式:端口为5044,ip为任何ip

2) http://10.144.213.27:9200 配置成ElasticSearch服务地址

4.运行容器

docker run -d --name logstash -p 5044:5044 -p 9600:9600 -v /home/elk/config/logstash.yml:/usr/share/logstash/config/logstash.yml -v /home/elk/config/logstash-sample.conf:/usr/share/logstash/config/logstash-sample.conf  logstash:7.1.1 logstash -f /usr/share/logstash/config/logstash-sample.conf

5.校验

1)使用docker ps查询容器是否运行正常

2)在浏览器中输入http://10.144.213.27:9600,若出现如下内容,表示启动成功

四、安装kibana

1.拉取镜像

docker pull logstash:7.1.1

2.创建kibana.yml配置文件,内容如下

1)http://10.144.213.27:9200 配置成ElasticSearch服务地址

3.运行容器

docker run --name kibana -p 5601:5601 -d -v /home/elk/config/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.1.1

4.校验

1) 使用docker ps查询容器是否运行正常

2) 在浏览器中输入http://10.144.213.27:5601,若出现如下内容,表示启动成功

五、代码集成elk

1.在pom.xml中增加elk依赖

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

2.在logback.xml中加入

<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <destination>10.144.213.27:5044</destination>
    <!-- 日志输出编码 -->
    <encoder charset="UTF-8"
             class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
        <providers>
            <timestamp>
                <timeZone>UTC</timeZone>
            </timestamp>
            <pattern>
                <pattern>
                    {
                    "logLevel": "%level",
                    "serviceName": "fishcms",
                    "pid": "${PID:-}",
                    "thread": "%thread",
                    "class": "%logger{40}",
                    "rest": "%message"
                    }
                </pattern>
            </pattern>
        </providers>
    </encoder>
</appender>
<root level="info">
    <appender-ref ref="LOGSTASH" />
</root>

3.验证

在kibana中点击Discover模块,输入关键字查询日志信息,若存在,则表示配置成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值