使用docker部署ELK日志框架
前言:elk是由Elasticsearch、Logstash、Kibana三个开源组件组合形成的框架。
Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
1、环境
(1)操作系统版本:
(2)docker版本:
(3)本次ELK三个组件选择官网最新8.7.1版本
2、安装前准备
(1) docker安装
docker安装参考官网
Install docker on CentOS
(2) 创建一个ELK容器通信专用网络
docker network create elastic
(3) 创建ELK目录,方便容器启动后目录挂载
mkdir -p /etc/{elasticsearch,kibana,logstash}
2、安装elasticsearch
# 拉取elasticsearch 8.7.1镜像 docker pull elasticsearch:8.7.1 # 查看镜像 docker images
3、拉取配置文件
# 启动elasticsearch docker run -d --name es --net elastic -P -e "discovery.type=single-node" elasticsearch:8.7.1 # 进入容器内 docker exec -it es /bin/bash # 进入配置文件目录 cd /usr/share/elasticsearch/config # 容器内工作目录为/usr/share/elasticsearch/config # 退出容器 # 复制文件 docker cp es:/usr/share/elasticsearch/config/elasticsearch.yml /etc/elasticsearch/config # 修改权限 chmod -R 777 /etc/elasticsearch
4、重新启动容器并挂载目录
# 删除临时启动容器 docker rm -f es # 启动容器挂载目录 docker run -d --name es \ --net elastic \ -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -v /etc/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /etc/elasticsearch/data/:/usr/share/elasticsearch/data \ -v /etc/elasticsearch/plugins/:/usr/share/elasticsearch/plugins \ --privileged=true elasticsearch:8.7.1 # 查看容器状态 docker ps # 查看容器日志状态 docker logs -f es
5、验证elasticsearch是否正常启动
curl localhost:9200
有如下打印表示正常启动
本文来自博客园,作者:谭咏麟,转载请注明原文链接:https://www.cnblogs.com/Merbleue/p/17503215.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库