如何快速搭建一个ELK环境?

前言

ELK是Elasticsearch、Logstash和Kibana三个开源软件的统称,通常配合使用,并且都先后归于Elastic.co企业名下,故被简称为ELK协议栈。

Elasticsearch是一个实时的分布式搜索和分析引擎,它可以用于全文搜索、结构化搜索以及分析。

Logstash是一个具有实时传输能力的数据收集引擎,用于进行数据收集(如读取文本文件)、解析,并将数据发送给Elasticsearch。

Kibana则为Elasticsearch提供了分析和可视化的Web平台,用户可以在Elasticsearch的索引中查找、交互数据,并生成各种维度表格、图形。

要如何快速搭建一个ELK环境,我们用docker来做个实践。

前期准备,需要安装好docker、docker-compose的运行环境。

一、安装ELK

1、创建相应目录,执行如下命令。

mkdir -p /docker/elk/elasticsearch/data
mkdir -p /docker/elk/logstash/{config,pipeline}
cd /docker/elk

2、编写yaml文件,内容如下;version替换成自己的docker-compose版本。

vim docker-compose.yml
version: '2.2.2'  
services:  elasticsearch:  image: elasticsearch:7.12.1  container_name: elasticsearch  environment:  - "discovery.type=single-node"  ports:  - "9200:9200"  - "9300:9300"  volumes:  - ./elasticsearch/data:/usr/share/elasticsearch/data  networks:  - mynet  logstash:  image: logstash:7.12.1  container_name: logstash  volumes:  - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml  - ./logstash/pipeline:/usr/share/logstash/pipeline  ports:  - "5044:5044"  networks:  - mynet  depends_on:  - elasticsearch  kibana:  image: kibana:7.12.1  container_name: kibana  ports:  - "5601:5601"  environment:  ELASTICSEARCH_URL: http://elasticsearch:9200  ELASTICSEARCH_HOSTS: http://elasticsearch:9200  networks:  - mynet  depends_on:  - elasticsearch  networks:mynet:name: mynetdriver: bridge

3、编写logstash配置,内容如下。

vim logstash/config/logstash.yml
pipeline.workers: 2
pipeline.batch.size: 3000
pipeline.batch.delay: 10
path.config: /usr/share/logstash/pipeline
path.logs: /var/log/logstash
vim logstash/pipeline/logstash.conf
input {tcp {port => 5044}
}filter {# 在这里可以添加过滤器,例如grok、date等
}output {elasticsearch {hosts => ["elasticsearch:9200"]index => "log-%{+YYYY.MM.dd}"}stdout {codec => rubydebug}
}

4、启动服务,执行如下命令。

docker-compose up -d

5、检查服务是否正常启动,执行如下命令。

docker-compose ps -a

正常情况会返回类似如下内容。

6、如果有服务启动失败,可以使用如下命令排查问题。

docker logs 容器id|容器名称

7、至此,ELK安装完成,并且可以正常运行。

二、测试验证

1、打开浏览器输入访问地址,如果一切正常会返回如下界面。

2、至此,ELK已验证完毕。

总结

今天简单介绍了一下什么是ELK,以及如何使用docker快速搭建ELK环境。

最后因本人能力有限,有什么不对的地方望各位大佬指出好让我改进,多多包含,谢谢大家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/575974.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零基础10 天入门 Web3之第1天

10 天入门 Web3 Web3 是互联网的下一代,它将使人们拥有自己的数据并控制自己的在线体验。Web3 基于区块链技术,该技术为安全、透明和可信的交易提供支持。我准备做一个 10 天的学习计划,可帮助大家入门 Web3: 想要一起探讨学习的…

鸿蒙OS开发实例:【Web网页】

背景 HarmonyOS平台通过Web控件可支持网页加载展示,Web在中是作为专项参考的。 本篇文章将从Android和iOS平台研发角度出发来实践学习API功能 说明 整个示例是以HarmonyOS开发文档网址作为加载目标页面布局增加了三个按钮“后退”,“前进”&#xff…

Linux 基础IO [缓冲区文件系统]

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:Linux知识分享⏪   🚚代码仓库:Linux代码练习🚚   🌹关注我🫵带你学习更多Linux知识   🔝 目录 前言 一.Linux下一切皆文件 二.缓冲…

Redis、Mysql双写情况下,如何保证数据一致

Redis、Mysql双写情况下,如何保证数据一致 场景谈谈数据一致性三个经典的缓存模式Cache-Aside Pattern读流程写流程 Read-Through/Write-Through(读写穿透)Write behind (异步缓存写入) 操作缓存的时候,删除…

Mac添加和关闭开机应用

文章目录 mac添加和关闭开机应用添加开机应用删除/查看 mac添加和关闭开机应用 添加开机应用 删除/查看 打开:系统设置–》通用–》登录项–》查看登录时打开列表 选中打开项目,点击“-”符号

excel 提取数字字符混合文本中的数字(快捷键ctrl+e)

首先,已知A列数据,在B1单元格输入A列中的数据,如3*4*6 第二部:全选对应的B列,然后: ctrld 批量复制 CTRLE 智能复制 由此可见,智能提取汉字与数字混合中的数字方法 。若想分别提取3个数字&am…

【ONE·基础算法 || 分治·快排并归】

总言 主要内容:编程题举例,理解分治的思想(主要是对快排、并归的应用)。       文章目录 总言1、基本介绍2、颜色分类(medium)2.1、题解 3、快速排序(medium)3.1、题解&#xff…

2024年最新阿里云服务器价格表2核2G、2核4G、4核8G、8核16G等配置报价

2024年阿里云服务器优惠价格表,一张表整理阿里云服务器最新报价,阿里云服务器网aliyunfuwuqi.com整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单,大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新…

IntelliJ IDEA中遇到的“cannot access java.lang.String“错误及其解决方案(day8)

intelliJ 今天遇到使用intelliJ遇到了一个新错误,有问题就解决问题是一个程序员最基本的修养,如下: 在上面的代码中,我使用了this.这个关键字,发现出现了以上问题,找了一些资料,不是很明白&am…

【二叉树】Leetcode 98. 验证二叉搜索树【中等】

验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例1&a…

Unity照片墙简易圆形交互效果总结

还要很多可以优化的点地方,有兴趣的可以做 比如对象的销毁和生成可以做成对象池,走到最左边后再移动到最右边循环利用 分析过程文件,采用Blender,资源已上传,可以播放动画看效果,下面截个图: …

Redis开源协议变更!Garnet:微软开源代替方案?

Garnet:微软开源的高性能替代方案,秉承兼容 RESP 协议的同时,以卓越性能和无缝迁移能力重新定义分布式缓存存储! - 精选真开源,释放新价值。 概览 最近,Redis修改了开源协议,从BSD变成了 SSPLv…