docker系列-06.docker搭建ELK(一)

一、简介

1、核心组成
ELK由Elasticsearch、Logstash和Kibana三部分组件组成。
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用。
kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

2、ELK的帮助手册
Docker Hub官网:https://hub.docker.com/r/sebp/elk/
Docker ELK使用文档:http://elk-docker.readthedocs.io/

3、安装前提条件:
1)Docker至少得分配3GB的内存;
2)Elasticsearch至少需要单独2G的内存;
3)防火墙开放相关端口,执行以下命令开放相关端口:

firewall-cmd --zone=public --add-port=5601/tcp --permanent;firewall-cmd --reload;
firewall-cmd --zone=public --add-port=9200/tcp --permanent;firewall-cmd --reload;
firewall-cmd --zone=public --add-port=5044/tcp --permanent;firewall-cmd --reload;

4)vm.max_map_count至少需要262144,附永久修改vm.max_map_count操作以下命令更改配置:

cd /etc
vi sysctl.conf
   增加以下属性后退出保存:
   vm.max_map_count=262144

PS:别忘了关闭selinux

4、安装docker elk:
1)pull elk镜像

docker pull sebp/elk

2)执行docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=2048m -it –name elk sebp/elk 将镜像运行为容器,由于我本机内存不符合安装要求,为了保证ELK能够正常运行,加了-e参数限制使用最小内存及最大内存。

3)打开浏览器,输入:http://你的ip:5601,看到如下界面说明安装成功
这里写图片描述

5、配置使用

1)使用命令以下进入容器内:

docker exec -it elk /bin/bash 

2)执行命令:

/opt/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["你的ip"] } }'

注意:如果看到这样的报错信息 Logstash could not be started because there is already another instance using the configured data directory. If you wish to run multiple instances, you must change the “path.data” setting. 请执行命令:service logstash stop 然后在执行就可以了。

3)当命令成功被执行后,看到:Successfully started Logstash API endpoint {:port=>9600} 信息后,输入:this is a dummy entry 然后回车,模拟一条日志进行测试,如下图所示
这里写图片描述

4)打开浏览器,输入:http://你的ip:9200/_search?pretty 如图,就会看到我们刚刚输入的日志内容:
这里写图片描述

5)再次打开
http://你的ip:5601就可以使用了。
这里写图片描述

转载至以下链接,感谢前辈的分享
https://www.cnblogs.com/soar1688/p/6849183.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: Docker-Compose是一个用于定义和运行多个Docker容器的工具。在使用Docker-Compose部署ELK(Elasticsearch, Logstash, Kibana)时,可以使用docker-compose.yml文件来定义容器的配置和依赖关系。\[1\] 根据引用\[2\]和引用\[3\]的内容,可以看出在部署ELK时,需要创建一个docker-compose.yml文件,并在其中指定输入日志的端口、配置logstash.conf文件等。具体的步骤如下: 1. 创建一个目录,比如/opt/docker_elk,用于存放相关文件。 2. 在/opt/docker_elk目录下创建docker-compose.yml文件,并在其中配置ELK组件的相关参数。 3. 创建logstash配置文件,一般存放在/opt/docker_elk/logstash目录下,并在logstash.conf文件中配置输入和输出的设置。 4. 启动docker-compose,可以使用命令sudo docker-compose up来启动ELK容器。 至于具体的ELK版本,根据提供的信息中没有明确指定,所以无法确定是部署elk8.*版本。如果有具体的版本要求,请提供更多的信息,以便给出更准确的回答。 #### 引用[.reference_title] - *1* [Docker - docker-compose安装ELK](https://blog.csdn.net/xuezhiwu001/article/details/124896803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Docker-Compose部署ELK](https://blog.csdn.net/weixin_44359151/article/details/129341044)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值