ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[转帖]基于Docker快速搭建ELK

2020-02-23 12:02:35  阅读:232  来源: 互联网

标签:ELK 容器 access 转帖 nginx elasticsearch Docker logstash 日志


基于Docker快速搭建ELK

https://www.jianshu.com/p/264b7f45e696

 

本文基于自建的Docker平台速搭建一套完整的ELK系统,相关的镜像直接从Docker Hub上获取,可以快速实现日志的采集和分析检索。

准备镜像

  • 获取ES镜像:docker pull elasticsearch:latest

  • 获取kibana镜像:docker pull kibana:latest

  • 获取logstash镜像:docker pull logstash:latest

启动Elasticsearch

官方镜像里面ES的配置文件保存在/usr/share/elasticsearch/config,如果有需要可以将该目录映射到宿主机上;数据文件目录/usr/share/elasticsearch/data,这里我们把数据目录映射出来;容器默认对外提供9200端口,用作API交互。

docker run --name elasticsearch \

-v "$PWD/esdata":/usr/share/elasticsearch/data \

-p 9200:9200 \

-d elasticsearch

容器启动以后可以调用一把验证一下:

 

  8818451-ddb2fa227c571982.png

启动Kibana

Kibana作为ES操作的UI,需要跟ES容器通信,所以这里要将ES的容器link一下,对外提供5601端口做页面交互。

docker run --name kibana \

--link elasticsearch:elasticsearch \

-p 5601:5601 \

-d kibana

容器启动后用浏览器访问5601端口,可以看到kibana页面,首次访问的时候可能会提示没有建立默认索引,这里需要在管理页面上创建一个默认索引。默认索引通常叫做logstash-*,如下图所示创建一个默认索引。

 

  8818451-082cbcc62a2a224b.png

启动Logstash

Logstash主要作用是收集日志,这个组件有很多插件,可以支持大部分日志集成方式,如tcp、udp、jdbc、文件、队列等,他的配置非常简单,启动方式也很简单,这里以nginx的访问日志为例,我们配置logstash读取nginx的access.log,然后把日志转发到Elasticsearch。

首先编译一个logstash配置文件logstash.conf,内容如下:

input{
    file{
        path=>"/tmp/nginx/logs/access.log"
    }
}
output{
    stdout{
        
    }#日志输出到控制台#输出到eselasticsearch{
        hosts=>"100.100.x.231"
    }
}

启动容器,这里我们把nginx的日志放在/tmp/nginx/logs/access.log,为了让容器能读到这个日志,需要把日志目录映射到容器里面。
docker run -it --rm -v /tmp/nginx/logs/access.log:/tmp/nginx/logs/access.log nginx:latest -f /config-dir/logstash.conf
接下来我们可以全流程测试一下日志收集展示的过程。首先在nginx里面造点访问日志,比如直接curl调nginx服务端口,或者直接往access.log里面写数据也行。这时候再logstash容器我们可以看到如下日志输出:

  8818451-35431a2ca3e8868b.png


再往后,打开Kibana页面就可以看到实时写入的日志数据了:

  8818451-7ec598fbe6bcb3d8.png

 

总结

Docker容器使ELK搭建变得非常便捷,通过ELK可以快速分析检索日志,发现问题,ELK的几个核心贡献者成立了一家公司叫Elastic,目前跟我司也有一些合作,在开源的基础上该公司也发布了一些商业产品,名为X-Pack,提供了机器学习、图算法以及安全技术上的诸多加强,有兴趣的同学可以自行了解。

 

  8818451-ede90e57f19e6731.png

标签:ELK,容器,access,转帖,nginx,elasticsearch,Docker,logstash,日志
来源: https://www.cnblogs.com/jinanxiaolaohu/p/12349049.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有