Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash 是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

+

Filebeat 是用于单用途数据托运人的平台。它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到 Logstash 或 Elasticsearch。

Docker 镜像统一从 https://hub.docker.com/ 下载 (安装时请使用统一版本)

、Docker 安装 Elasticsearch

官网镜像地址:https://hub.docker.com/_/elasticsearch

找到目前最新的(Tags)是 7.1.1

# 下载镜像 查看镜像
docker pull elasticsearch:7.1.1
docker images

# 创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
docker network create somenetwork # 运行 elasticsearch
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.1.1# 查看容器状态
docker ps

# 检测 elasticsearch 是否启动成功
curl 127.0.0.1:9200

Elasticsearch 安装启动完成

二、Docker 安装 Kibana

官网镜像地址:https://hub.docker.com/_/kibana

使用和 elasticsearch 相同版本镜像 7.1.1 (不一样可能会出现问题)

# 下载镜像 查看镜像
docker pull kibana:7.1.1
docker images

注意:在本例中,Kibana使用默认配置,并希望连接到正在运行的Elasticsearch实例http://localhost:9200

# 运行 Kibana
docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.1.1# 查看容器启动状态
docker ps

访问 http://127.0.0.1:5601  (启动可能会较慢,如失败等几秒再尝试刷新一下)

Kibana 安装启动完成

三、Docker 安装 Logstash

官网镜像地址:https://hub.docker.com/_/logstash

使用同版本镜像 7.1.1

# 下载镜像 查看镜像
docker pull logstash:7.1.1
docker images

我在工作目录建立一个 docker 目录 并在里面创建了 logstash 目录,用来存放所有配置

里面放了 logstash 的配置文件

logstash.yml (文件内容)path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /var/log/logstash
conf.d/test.conf (文件内容)input {beats {port => 5044codec => "json"
}
}output {elasticsearch { hosts => ["elasticsearch:9200"] }stdout { codec => rubydebug }
}
启动 Logstash 记得映射上面两个目录 {path}docker run -it -d -p 5044:5044 --name logstash --net somenetwork -v {path}/logstash.yml:/usr/share/logstash/config/logstash.yml -v {path}/conf.d/:/usr/share/logstash/conf.d/ logstash:7.1.1查看容器运行状态
docker ps 

启动成功

四、Docker 安装 Filebeat

官网镜像地址:https://hub.docker.com/_/filebeat

使用同版本镜像 7.1.1 

# 下载镜像 查看镜像
docker pull store/elastic/filebeat:7.1.1
docker images

# 下载默认官方配置文件 (暂时在当前目录创建一个 filebeat 目录 用来放 filebeat 配置文件)
curl -L -O https://raw.githubusercontent.com/elastic/beats/7.1/deploy/docker/filebeat.docker.yml# 打开配置文件
vim filebeat.docker.yml

# 增加下面的配置 (收集 .log 数据 把数据发送到当前网络5044端口 (logstash 端口) )
# 这个地方的 .log 要保证有几条测试数据
filebeat.inputs:
- type: log
  enabled: true
 paths:  - /var/log/nginx/*.log 
output.logstash:
  hosts: ['{ip}:5044']
 
# 运行Filebeat# 请更改下面两个路径
{nginx-path} = 本地的日志文件目录(映射到容器中 作为数据源)
{path} = Filebeat配置文件路径
{ip} = elasticsearch 地址
docker run --name filebeat --user=root -d --net somenetwork --volume="{nginx-path}:/var/log/nginx/" --volume="{path}/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro" --volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" --volume="/var/run/docker.sock:/var/run/docker.sock:ro" store/elastic/filebeat:7.1.1
 
# 查看容器启动状态
docker ps

启动成功 现在去 Kibana 查看数据,已经有数据了 

Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash)相关推荐

  1. Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash+Filebeat)

    ELK是由 Elasticsearch.Logstash和Kibana 三部分组件组成. Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副 ...

  2. Docker部署ELK(ElasticSearch logstash Kibana)

    Docker部署ELK 一 . ElasticSearch安装 新建elasticsearch目录,并再其下新建文件config/elasticsearch.yml,文件内容如下: cluster.n ...

  3. Docker ElK安装部署使用教程

    Docker ElK安装部署使用教程 原文:Docker ElK安装部署使用教程 一.简介 1.核心组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elast ...

  4. 使用docker安装部署kibana

    项目场景: 项目场景:使用docker安装部署kibana 前提:已成功部署安装elasticsearch   可参考文章链接: <使用docker安装部署elaticsearch>. 1 ...

  5. saiku docker配置部署_【安装教程】01 Gitea Docker 安装部署 - 【SkywenCode】技术团队基...

    在2016年-2019年,SkywenCode技术团队使用码云Gitee 作为线上代码库管理,基于敏捷开发和持续构建的思路,我们整体基础建设以Drone / Jenkins + Docker 的方式构 ...

  6. Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统

    Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统 原文:Elasticsearch,Kibana,Logstash,NLog实现ASP. ...

  7. 虚拟机中用Docker安装并启动了Elasticsearch,浏览器却访问不了

    学习springCloud的过程及其痛苦,一直跟着黑马的视频走,但是随着技术栈的更新,许多技术的配置与黑马视频讲的会有出入,然后就会遇到一些很头疼的问题,有时候一个问题需要找很久的原因与解决方法,所以 ...

  8. 采用docker安装部署Nginx

    四.采用docker安装部署Nginx 在主机192.168.1.138下,安装nginx,docker 的安装命令如下: docker run \ -d \ -p 8080:80 \ --name ...

  9. Docker安装配置Jenkins教程

    Docker安装配置Jenkins教程 前言 准备工作 一.安装Docker 1.安装 2.查看版本信息 二.配置Docker 镜像加速 1.编辑docker配置文件 2.配置镜像地址,编辑文件内容为 ...

最新文章

  1. Android 你知道界面布局嵌套多少层之后会Crash吗
  2. 图片和文件上传的两款插件
  3. PyTorch深度学习
  4. numpy.random.normal
  5. Zabbix(一)安装zabbix监控服务配置与添加agent主机的三种方式
  6. python dataframe的某一列变为list_Pandas某一列是列表,怎么展开呢?
  7. 【论文理解】Learning in the Frequency Domain
  8. Xcode工程添加第三方文件的详细分析 Create folder references for any added folders
  9. selenium对Alert弹框的多种处理
  10. 世界精神卫生日:不断变化的世界的应用程序
  11. [华硕路由器官方设置]ASUS RT-AC86U官方设置
  12. Mybatis 源码分析(一)
  13. 【读书笔记】算法的乐趣
  14. html文本显示状态代码中表示什么,HTML文本元素标签
  15. 六顶帽子思考法的好处
  16. AppStore 隐私政策(Privacy policy)
  17. AutoFac使用笔记以及操作技巧(保姆级操作)
  18. 信息系统与管理完美结合
  19. 游戏制作大致流程粗谈之四
  20. 社区超市,有必要新增人力开拓线上吗?

热门文章

  1. CSDN编程挑战——《进制转换》
  2. Win32ASM学习[15]:加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
  3. 按钮图片拉伸_图片墙有多香?高手都在用的PPT封面制作技巧!
  4. 显示照片的二维直方图
  5. 友元函数 友元类 友元成员函数
  6. golang实现聊天室(四)
  7. windows 通过批处理 修改环境变量
  8. 剖析printf函数
  9. 软件工程---2.软件过程
  10. c++中的继承--3(多继承问题,菱形继承)