侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

ELK docker 部署

2023-11-27 星期一 / 0 评论 / 0 点赞 / 47 阅读 / 3063 字

简介 ELK由Elasticsearch、Logstash和Kibana三部分组件组成; Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本

简介

ELK由Elasticsearch、Logstash和Kibana三部分组件组成;

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

配合Filebeat使用

基本架构图

其中我们用 Elasticsearch 作为日志的存储和索引平台;Logstash 依靠强大繁多的插件作为日志加工平台,Kibana 用来从 Elasticsearch 获取数据,进行数据可视化,定制数据报表;Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash;Log4j 直接与 Logstash 连接,将日志直接发送到 Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志)。

1、首先安装docker,这个并不在这里细叙,并熟悉docker、docker-compose基本命令

2、创建Elasticsearch的docker-compose.yml文件

version: '2'services:  elasticsearch:    image: elasticsearch    container_name: elasticsearch    restart: always    network_mode: "bridge"    ports:      - "9200:9200" #对外提供服务的 HTTP 端口      - "9300:9300" #作为交互的 TCP 端口    volumes:      - /本地磁盘目录:/容器内目录 #将日志索引文件的存储目录挂载到主机的目录,防止因容器挂掉活重启导致历史日志文件丢失。

创建完成在文件目录位置 运行命令  docker-compose up -d  其中 -d 表示后台编排

3、创建Logstash的docker-compose.yml文件

version: '2'services:  logstash:    image: logstash    container_name: logstash    restart: always    network_mode: "bridge"    ports:      - "5044:5044"      - "4560:4560"      - "8060:8060"    volumes:      - ./conf:/config   #挂载关联配置文件      - ./patterns:/tmp/patterns#挂载关联配置文件    external_links: #external_links       - elasticsearch:elasticsearch    command: logstash -f /config  #覆盖容器启动后默认执行的命令。

其中暴露的端口5044用于接收来着 Filebeat 收集的日志数据;4560 用于接收来着 Log4j或logback 的日志数据;8060用于接收来自插件 Logstash-input-http 的日志数据;

external_links:链接到 docker-compose.yml 外部的容器,甚至 并非 Compose 管理的容器。参数格式跟 links 类似。

具体功能作用请参考docker命令参考

3.1 在./conf目录创建以下配置文件

input.conf

未完待续

广告 广告

评论区