docker-compose搭建elk

news/2024/11/13 12:04:19/文章来源:https://www.cnblogs.com/yuan-x/p/18336032

一、准备

  检查自己的docker 和 docker-compose是否安装完毕,切换docker的镜像源

 

二、安装

  本次安装的主要组件 包括es 、filebeat、kibana、logstash

      2.1 先配置组件的挂载点

    

                                                    

 

      2.2 配置各组件的相关配置文件

          es-->config--->es.yml            

cluster.name: "es"
network.host: 0.0.0.0
http.port: 9200
# 开启es跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,Content-Type
# # 开启安全控制
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

     filebeat--->config--->filebeat.yml

filebeat.config:modules:path: ${path.config}/modules.d/*.ymlreload.enabled: falseprocessors:- add_cloud_metadata: ~- add_docker_metadata: ~filebeat.inputs:
- type: logpaths:- /usr/share/filebeat/logs/*.logmultiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'multiline.negate: truemultiline.match: aftermultiline.timeout: 10soutput.logstash:hosts: ["logstash:5044"]

      kibana--->config--->kibana.yml

server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: [ "http://xxxxx:9200" ] # 修改为自己的ip 
xpack.monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "elastic"  # es账号
elasticsearch.password: "xxxxxx"   # es密码
i18n.locale: zh-CN # 中文

    logstash --- > config---> logstash.yml

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.enabled: true
path.config: /usr/share/logstash/config/*.conf
path.logs: /usr/share/logstash/logs

  logstash --- > config---> logstash-simple.conf

input {kafka {id => "kafkaLogs"group_id => "Logs"bootstrap_servers => "xxxxxx:9092" # 替换成自己的iptopics => ["logs"]auto_offset_reset => "latest"}
}
filter {date {match => ["timestamp","yyyy-MM-dd'T'HH:mm:ss,sss"]remove_field => "timestamp"target => "@timestamp"}}
output {elasticsearch {hosts => ["elasticsearch:9200"]#index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"#user => "elastic"#password => "changeme"}
}
~   

  

     3、配置docker-compose.yml

             

                                           

 

      

version: '3'

# 网桥es -> 方便相互通讯
networks:
es:

services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.2
container_name: elasticsearch
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- TZ=Asia/Shanghai
- LANG= en_US.UTF-8
- ELASTIC_PASSWORD= "xxxxx" # elastic账号密码 这个地方设置完后,在容器启动后发现密码失败根本登录不进去的情况要进入到容器内部设置,一会细说
volumes:
- /docker_vol/elk/es/data:/usr/share/elasticsearch/data
- /docker_vol/elk/es/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml
hostname: elasticsearch
restart: always
ports:
- 9200:9200
- 9300:9300
networks:
- es


kibana:
image: docker.elastic.co/kibana/kibana:7.17.2
container_name: kibana
volumes:
- /docker_vol/elk/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
hostname: kibana
depends_on:
- elasticsearch
links: # 这里用了links 所以 kibana.yml 配置es的时候就不用指定ip
- elasticsearch
restart: always
ports:
- "5601:5601"
networks:
- es

logstash:
image: docker.elastic.co/logstash/logstash:7.17.2
container_name: logstash
hostname: logstash
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- /docker_vol/elk/logstash/config:/usr/share/logstash/config
- /docker_vol/elk/logstash/log:/usr/share/logstash/logs
depends_on:
- elasticsearch
ports:
- 9600:9600
- 5044:5044


filebeat:
image: docker.elastic.co/beats/filebeat:7.17.2
hostname: filebeat
restart: always
depends_on:
- logstash
user: root
volumes:
- /docker_vol/elk/filebeat/data/filebeat:/usr/share/filebeat/data
- /docker_vol/elk/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml
- /docker_vol/elk/filebeat/log:/usr/share/filebeat/logs
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Shanghai
command: ["--strict.perms=false"]

 

   三、启动

           cd 到 docker-compose.yml 所在层级 docker-compose up -d

   

 

          

   

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

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

相关文章

save-all-resources | 将指定页面的所有资源存到本地 | chrome插件推荐

save-all-resources https://chromewebstore.google.com/detail/save-all-resources/abpdnfjocnmdomablahdcfnoggeeiedb使用方法: F12 右边选择 ResourceSaver点击右边的 Save All Resources 按钮即可--------------------------------------------- 生活的意义就是你自己知道…

低代码如何借助 K8s 实现高并发支持?

引言 在当今这个数字化时代,互联网的普及和技术的飞速发展使得应用程序面临着前所未有的挑战,其中最为显著的就是高并发访问的需求。随着用户数量的激增和业务规模的扩大,如何确保应用在高并发场景下依然能够稳定运行、快速响应,成为了所有开发者和技术团队必须面对的重要课…

02.计算器存储器的原理

02.计算器存储器的原理 目录介绍01.什么是存储器1.1 了解存储器是什么 1.2 存储器类型02.存储器系统设计2.1 存储器分层设计 2.2 存储器层次结构 2.3 高速缓存设计思想 2.4 虚拟内存访问内存03.存储器类型3.1 按照材质划分 3.2 按芯片类型划分 3.3 内存 vs CPU 3.4 存储器访问权…

自动化生成测试报告(Jemeter)

点击查看代码 E:\apache-jmeter-5.6.3\work>E:\apache-jmeter-5.6.3\bin\jmeter -n -t 模块控制器.jmx -l report.jtl -o E:\apache-jmeter-5.6.3\report

UDS学习总结

1 UDS简介 1.1 什么是UDS UDS (Unified Diagnostic Services) 统一诊断服务,是车辆诊断的一种应用层协议,面向整车所有ECU ,UDS协议ISO 14229定义了应用层和会话层,在协议里面定义了诊断的请求,诊断响应的报文格式,以及ECU怎样处理诊断请求报文,以及诊断服务的应用。它不…

PHP转Go系列 | Carbon 时间处理工具的使用姿势

在日常的开发过程中经常会遇到对时间的处理,比如将时间戳进行格式化、获取昨天或上周或上个月的时间、基于当前时间进行加减等场景的使用大家好,我是码农先森。 在日常的开发过程中经常会遇到对时间的处理,比如将时间戳进行格式化、获取昨天或上周或上个月的时间、基于当前时…

idea设置了maven会自动变回C盘那个

IDE支持Maven包装器,IDEA会将其用于项目,如果不想从包装器中使用Maven。需要将项目中.mvn/wrapper/下的maven-wrapper.properties从项目中删除。 原文链接:https://blog.csdn.net/qq_45972323/article/details/138044146

不知道如何通过OPC文件传输管控,助力企业提高效率与竞争力?

OPC(Open Platform Communications)是一种用于工业自动化和控制系统中设备与软件之间数据交换的通信协议。以下是一些会涉及到OPC文件传输的行业: 工业自动化:用于实现设备、控制系统和软件之间的数据交换,提高生产效率和灵活性。 楼宇自控:用于设备控制和数据通信,确保…

canvas实现截图功能

开篇 最近在做一个图片截图的功能。 因为工作时间很紧张, 当时是使用的是一个截图插件。 周末两天无所事事,来写一个简单版本的截图功能。 因为写的比较简单,如果写的不好,求大佬轻一点喷读取图片并获取图片的宽度和高度思路 首先读取文件我们使用input中类型是file。 我们需…

BI 工具助力企业解锁数字化工厂,开启工业智能新视界

背景 在 2022 年公布的《“十四五”数字经济发展规划》中,政府不断增加对制造业数字化转型的政策支持力度,积极倡导制造企业采用最新技术,提升自动化、数字化和智能化水平。这一举措旨在强化国际竞争力,推动制造业由制造大国向制造强国转变。 然而,在制造业数字化和智能化…

接口依赖处理(Jemeter添加JSON提取器)

操作 1、在对应请求下添加JSON提取器 2、设置想要提取的参数的参数名以及路径 3、将提取到的参数值关联到其他接口 语法格式 1、提取路径格式:$(代表最外层的花括号).K.K 2、关联到其他接口:${K}

内网穿透公众号开本地nginx发环境配置(花生壳和量子互联)

昨天搞了一天,这儿总结一下,免得以后忘了 nginx收入80端口 所以穿透的工具局域网设80 其它端口根据软件应用配置 花生壳的通道要选https 量子互联的话tcp 配置启动https 就可以 nginx 我用1.24没有能成功 1.20成功了,不知道啥 原因 nginx配置时注意全文,都 …