Docker下ELK三部曲之一:极速体验
《Docker下ELK三部曲》一共三篇文章,为您揭示如何快速搭建ELK环境,以及如何将web应用的日志上报到ELK用,三部曲内容简述如下:1. 极速体验ELK服务,即本章的内容;2. 细说技术详情,例如集成了filebeat服务的镜像如何制作,web应用如何与filebeat服务集成在一个镜像等;3. 在kubernetes环境搭建ELK服务和web服务,模拟一个应用部署在多个serv...
《Docker下ELK三部曲》一共三篇文章,为您揭示如何快速搭建ELK环境,以及如何将web应用的日志上报到ELK用,三部曲内容简述如下:
- 极速体验ELK服务,即本章的内容;
- 细说技术详情,例如集成了filebeat服务的镜像如何制作,web应用如何与filebeat服务集成在一个镜像等;
- 在kubernetes环境搭建ELK服务和web服务,模拟一个应用部署在多个server上,都在往ELK上报日志;
原文地址:https://blog.csdn.net/boling_cavalry/article/details/79950677
真实Linux环境下如何搭建ELK
如果您想了解在真实的Linux环境如何搭建ELK,可以参考《CentOS7搭建ELK-6.2.3版本》,在这里您也可以了解ELK搭建时的细节;
实战环境
本次实战相关的环境信息如下所示:
- 操作系统:Ubuntu 16.04.3 LTS;
- docker:1.12.6, build 78d1802;
- docker-compose:1.20.1, build 5d8c71b;
请务必使用Linux环境,如果您的电脑是windows,建议通过VM虚拟机创建一个Linux系统来实战;
系统参数设置
实战前需要修改linux的系统参数,否则启动ELK容器会失败,ELK的官方文档对此参数的描述如下:
下面说一下设置该参数的具体步骤,很简单只有两步:
- 打开文件/etc/sysctl.conf,添加下面一行内容:
vm.max_map_count=655360
2. 加载sysctl配置,执行命令: sysctl -p
参数设置完成,咱们可以开始实战了!
创建容器
- 创建docker-compose.yml文件,内容如下:
version: '2'
services:
elk:
image: sebp/elk:622
ports:
- "5601:5601"
restart: always
webapp:
image: bolingcavalry/elkdemo:0.0.1-SNAPSHOT
depends_on:
- elk
links:
- elk:elkhost
ports:
- "18080:8080"
restart: always
- 在docker-compose.yml所在的目录下,执行命令docker-compose up -d,此时会去hub.docker.com网站下载两个镜像文件,请您稍作等待,下载完成后容器启动;
- 假设当前linux电脑的IP是192.168.31.89,在浏览器输入http://192.168.31.89:5601,看见Kibana启动成功了,如下图:
- 点击左上角的Discover按钮,如下图所示,提示创建“index pattern”:
- 如下图,红框中输入filebeat-*,再点击Next step:
- 如下图,下拉框中选择@timestamp,再点击Create index pattern
- 在弹出的页面上,再次点击左上角的Discover按钮,然后点击右上角的Last 15 minutes,如下图:
- 此时页面上会显示最近15分钟内的日志,如果最近15分钟内没有任何日志上报,您也可以点击下图红框中的Today按钮,展示今天的所有日志:
- 展示的查询结果如下图所示,红框中的内容就是日志的原始信息:
验证业务日志
经过上面的操作已经能查到web应用的启动日志了,接下来我们访问web应用提供的http接口,查看实时生成并上报的业务日志;
- 假设当前linux电脑的IP是192.168.31.89,在浏览器输入http://192.168.31.89:18080/hello/333666999,可以看到浏览器会返回一些响应信息,请多按几次“F5”按钮刷新这个页面;
- 去Kibana页面已经可以查到刚刚产生的业务日志了,如下图,红框1表示刚才那个时间点的日志量,红框2是日志原始内容,与请求url中的参数是对应的:
至此,我们的极速体验已经完成了,通过一个docker-compose.yml文件就搭建了ELK以及能上报日志的web应用,相比在真实linux环境下搭建系统,本章的操作简单了很多,接下来的章节,我们一起来关注这次极速体验背后的技术细节,学会如何将自己的web应用也能如此方便的用上ELK服务;
欢迎关注我的公众号:程序员欣宸
更多推荐
所有评论(0)