IDC资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回IDC资讯列表

如何基于Docker快速搭建ELK

发布时间:2022-05-31

本文是关于如何基于Docker快速构建ELK的。桂哥网络觉得很实用,就分享给大家参考,跟着桂哥网络看了看。

基于自建的Docker平台,可以快速构建完整的ELK系统,直接从Docker Hub获取相关图像,快速实现日志采集、分析和检索。

准备镜像

获取ES图片:docker拉弹性搜索:最新

获取kibana图像:docker pull kibana:latest

获取日志存储映像:docker拉日志存储:最新

开始弹性搜索

官方镜像中ES的配置文件保存在/usr/share/elastosearch/config中,必要时可以将目录映射到主机;数据文件目录/usr/usr/share/elastic search/data/data,这里我们映射数据目录;默认情况下,容器为API交互提供9200个端口。

dockerrun - nameelasticsearch\

-v ' $ PWD/es data ' :/usr/share/elastic search/data \

-p9200:9200\

-delasticsearch容器启动后,您可以调用验证:

启动Kibana

Kibana作为ES操作的UI,需要与ES容器进行通信,所以这里要链接ES容器,提供5601端口进行页面交互。

dockrun-namekibana \

-link弹性搜索:弹性搜索\

-p5601:5601\

在-dkibana容器启动后,用浏览器访问端口5601,就可以看到kibana页面了。当您第一次访问它时,可能会提示您尚未建立默认索引。在这里,您需要在管理页面上创建一个默认索引。默认索引通常称为logstash-*。创建一个默认索引,如下图所示。

启动Logstash

Logstash的主要功能是收集日志。这个组件有许多插件,可以支持大多数日志集成方法,如tcp、udp、jdbc、文件、队列等。它的配置很简单,启动方式也很简单。这里以nginx的访问日志为例,我们配置logstash读取nginx的access.log,然后将日志转发给Elasticsearch

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

输入{

文件{

path='/tmp/nginx/logs/access . log '

}

}输出{

Stdout{}#到控制台的日志输出

#输出到es

弹性搜索{

hosts='100.100.x.231 '

}

}启动容器。这里我们把nginx的日志放在/tmp/nginx/logs/access.log中,为了让容器读取这个日志,我们需要把日志目录映射到容器中。

docker runitRM-v/tmp/nginx/logs/access . log 3360/tmp/nginx/logs/access . log-f/config-dir/log stash . conf接下来,我们可以测试日志收集和呈现的整个过程。首先,在nginx中创建一个访问日志,比如通过curl直接调优nginx服务端口,或者直接将数据写入access.log,此时我们可以在logstash容器中看到下面的日志输出:

稍后,您可以通过打开Kibana页面看到实时写入的日志数据:

总结

Docker容器使得构建ELK非常方便。通过ELK,可以快速分析搜索日志,发现问题。ELK的几个核心贡献者成立了一个叫Elastic的公司,目前和我们公司有一些合作。在开源的基础上,公司还发布了一些叫做X-Pack的商业产品,在机器学习、图形算法、安全技术等方面提供了很多增强,感兴趣的同学可以自行学习。

感谢阅读!这篇关于“如何基于Docker快速构建ELK”的文章已经在这里分享了。希望以上内容能帮助大家学到更多的知识。如果你觉得文章好,可以分享给更多人看。


TikTok千粉号购买平台:https://tiktokusername.com/