不能不学!从零到一搭建ELK日志,在Docker环境下部署 Elasticsearch 数据库

简介: 最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。

前言

大家好,我是小郭,最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。

只有学习了,操作了才能算真正的学会使用了,虽然看起来简单,但是里面的流程步骤还是很多的,将步骤和遇到的问

题记录和总结下,今天主要分享下在Docker环境下部署 Elasticsearch 数据库。

# 从零到一搭建ELK日志,在Docker环境下部署 Filebeat 日志收集工具

# 从零到一搭建ELK日志,在Docker环境下部署 logstash 工具

# 从零到一搭建ELK日志,在Docker环境下部署 Kibana 可视化工具

什么是Elasticsearch?

ElasticStack简称为ES, 是一个分布式、高扩展、高实时的搜索与数据分析引擎,是整个ELK架构的核心。

它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。

Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。

主要优点

  • 处理方式灵活: elasticsearch是实时全文索引,具有强大的搜索功能;
  • 配置相对简单: elasticsearch全部使用JSON接口,logstash使用模块配置,kibana的配置文件部分更简单;
  • 检索性能高效: 基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应;
  • 集群线性扩展: elasticsearch和logstash都可以灵活线性扩展。

常用场景

  • 全文搜索

Elasticsearch提供了全文搜索的功能,适用于电商商品搜索、App搜索、企业内部信息搜索、IT系统搜索等。

  • 日志分析

Elasticsearch能够借助Beats、Logstash等快速对接各种常见的数据源,并通过集成的Kibana高效地完成日志的可视化分析,让日志产生价值。

  • 运维监控

使用Elasticsearch结合Beats、Logstash或ElasticFlow将所有日志实时集中并构建索引,然后通过集成的Kibana灵活地运用数据构建可视化运维看板

  • 安全分析

通过日志解决公司内部繁杂的安全审计工作,可通过Elasticsearch分析、检索海量历史日志,高效地完成安全审计工作

部署ES数据库

  1. 获取es镜像
docker pull elasticsearch:7.7.1

网络异常,图片无法展示
|

2. 创造挂载目录

mkdir -p /data/elk/es/config
mkdir -p /data/elk/es/data
mkdir -p /data/elk/es/logs

网络异常,图片无法展示
|

3. 赋予权限

chown -R 1000:1000 /data/elk/es
  1. 进入config创建配置文件
1. touch elasticsearch.yml
2. cluster.name: "my-es"
network.host: 0.0.0.0
http.port: 9200

网络异常,图片无法展示
|

  1. 启动服务
docker run -it  -d -p 9200:9200 -p 9300:9300 --name es -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -e "discovery.type=single-node" --restart=always -v /data/elk/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/elk/es/data:/usr/share/elasticsearch/data -v /data/elk/es/logs:/usr/share/elasticsearch/logs elasticsearch:7.7.1

这里我们需要特别注意的是,做好容器内的文件与第二步创建的挂载目录进行文件夹的映射。

  1. 验证服务
curl 127.0.0.1:9200

看到这个,就表示我们已经安装成功了

网络异常,图片无法展示
|

Note:如果安装失败,可以利用docker logs看一下问题

网络异常,图片无法展示
|

总结

我们主要完成在Docker环境下部署 Elasticsearch 数据库的工作,他是搭建ELK日志非常重要的一部分,将数据写入Elasticsearch后用Kibana进行可视化展示,在后面搭建完Kibana之后,我们再将他们串起来。


网络异常,图片无法展示
|

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
数据可视化 BI API
无缝对接云数据库:自定义报表生成工具在混合云环境下的部署指南
自定义报表生成工具通过拖拽设计、多数据源整合及自动化输出,帮助业务人员零代码创建个性化报表,解决传统工具灵活性不足、技术门槛高的问题。文章对比其与传统报表差异,列举行业应用场景(如财务、零售),并给出选型建议与主流工具(如FineReport、Power BI、板栗看板)的优劣势分析。
479 0
|
SQL 关系型数据库 MySQL
SQL命令行退出操作指南:轻松掌握不同数据库环境下的退出技巧
在数据库管理与开发过程中,经常需要通过SQL命令行工具(如MySQL的mysql客户端、PostgreSQL的psql、SQL Server的sqlcmd等)与数据库进行交互
1772 59
|
Ubuntu 应用服务中间件 网络安全
ELK完整部署教程
本文介绍了在Ubuntu 22.04上部署ELK(Elasticsearch、Logstash、Kibana)及Filebeat的完整步骤。内容涵盖Elasticsearch安装与安全配置、Kibana启用SSL与注册、Logstash配置输入输出,以及Filebeat采集日志并发送至Logstash或Elasticsearch的方法。适用于本地非容器环境的日志收集与可视化搭建。
|
Java 关系型数据库 MySQL
JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用
以上就是JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用的基本步骤。这些步骤可能会因为你的具体需求和环境而有所不同,但是基本的思路是一样的。希望这些信息能够帮助你更好地理解和使用这些工具。
444 17
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
944 9
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
1058 3
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
572 3
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
2216 0
|
数据可视化 关系型数据库 MySQL
【IDEA】配置mysql环境并创建mysql数据库
【IDEA】配置mysql环境并创建mysql数据库
3727 0
|
关系型数据库 数据库 网络虚拟化
Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例
由于时间和空间限制,我将在后续的回答中分别涉及到“Python中采用lasso、SCAD、LARS技术分析棒球运动员薪资的案例集锦”以及“Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例”。如果你有任何一个问题的优先顺序或需要立即回答的,请告知。
389 0