首页 > 其他分享 >docker-compose搭建elk

docker-compose搭建elk

时间:2024-08-01 09:50:04浏览次数:12  
标签:elk filebeat compose elasticsearch docker config logstash es

一、准备

  检查自己的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/*.yml
    reload.enabled: false

processors:
  - add_cloud_metadata: ~
  - add_docker_metadata: ~

filebeat.inputs:
- type: log
  paths:
    - /usr/share/filebeat/logs/*.log
  multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
  multiline.negate: true
  multiline.match: after
  multiline.timeout: 10s

output.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" # 替换成自己的ip
    topics => ["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

   

 

          

   

标签:elk,filebeat,compose,elasticsearch,docker,config,logstash,es
From: https://www.cnblogs.com/yuan-x/p/18336032

相关文章

  • 在 Python Langchain 应用程序的 Docker 文件中运行 Ollama
    背景信息我有一个使用langchain和Ollama的Python应用程序。在本地运行这个程序效果非常好,因为我的机器上运行着Ollama客户端。我想要做的是在无服务器平台(例如GCR)上托管这个应用程序,为了做到这一点,我需要容器化应用程序。这对于应用程序的python端来说很容......
  • 02.Nginx的安装与Dockerfile的编写
    获取nginx安装包地址:https://nginx.org/en/download.htmlMainlineversion:Mainline是Nginx目前主力在做的版本,可以说是开发版Stableversion:最新稳定版,生产环境上建议使用的版本Legacyversions:遗留的老版本的稳定版我们下载linux上的安装包tar.gz结尾的,右键复制链接即......
  • docker常用的使用方法
    docker如何退出进入的容器?要退出Docker容器的shell环境可以按以下步骤操作:在容器shell状态下,按下键盘上的Ctrl和P键。2然后按下Ctrl和Q键。这将使您退出容器的shell环境,但不会停止容器的运行。您将返回到宿主机的shell终端,而容器将继续在后台运行。如果......
  • docker中使用mongo命令显示命令未找到
    dockerpsdockerexec-it098e580a70f6bashmongosh是因为Mongodb6.0版本之后命令从mongo改为mongoshmogondb中的一些查找、删除命令:showdbsusexxxshowcollectionsdb.collectionName.find()//查看集合中的所有数据db.collectionName.remove({})//删......
  • kali安装docker及启动环境后删除无用网卡
    Kali安装docker启动vulhub靶场更换源根据需要添加你想要的源:也可以直接忽略更新apt包索引并升级已经安装的软件包aptupdateaptupgrade安装Docker以及Docker-compose如果安装不成功可分开安装查看安装的版本并启动docker-vdocker-compose-vsystemctlstar......
  • 一图看懂Git、HTTPS、Docker、k8s和微服务
    一图看懂Git、HTTPS、Docker、k8s和微服务......
  • 记录一次docker启动Kibana服务
    Docker启动Kibana服务(ES开启SSL认证的情况下)Elasticsearch服务配置说明full:它验证所提供的证书是否由受信任的权威机构(CA)签名,并验证服务器的主机名(或IP地址)是否与证书中识别的名称匹配certificate:它验证所提供的证书是否由受信任的机构(CA)签名,但不执行任何主机名验......
  • docker 拉取镜像超时:error pulling image configuration: download failed after atte
    之前是正常的,今天就罢工了,可能原因是国外镜像不稳定,被针对了吧。errorpullingimageconfiguration:downloadfailedafterattempts=6:dialtcp168.143.171.189:443:i/otimeout那就改为国内镜像:1.创建/etc/docker目录(已有的跳过)sudomkdir-p/etc/docker 2.修改......
  • 如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?
    目录前置步骤环境搭建创建容器组在系统任意位置创建一个文件夹创建docker-compose.yaml启动Halo服务配置反向代理以及域名解析Halo初始化页面。更新新版本的halo前置步骤首先你需要一套linux服务器,这里默认你已经有了。如果没有可以在云服务器优惠合集选择,如果你是个人博客选......
  • docker换国内镜像源-Docker安装 Nginx测试-Docker部署Gitblit服务器
    docker换国内镜像源,docker换源echo>/etc/docker/daemon.jsoncat>/etc/docker/daemon.json<<END{  "registry-mirrors":[    "https://hub-mirror.c.163.com",    "https://ustc-edu-cn.mirror.aliyuncs.com",    "https:/......