ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker部署filebeat

2022-06-10 17:33:55  阅读:168  来源: 互联网

标签:elk filebeat 9200 配置文件 部署 kafka docker


拉取镜像

docker pull elastic/filebeat:7.12.0

运行镜像

docker run -d --name=elk-filebeat elastic/filebeat:7.12.0

说明:因为filebeat的配置文件修改需要权限,我们不能直接在容器中修改,所以我们就临时启动一个filebeat镜像服务,将我们的filebeat容器中的配置文件拷贝与我们的虚拟机,在虚拟机中授权修改配置文件,然后同步到我们的容器中。

拷贝配置文件

docker cp elk-filebeat:/usr/share/filebeat /opt/elk/

授权

chmod 777 -R /opt/elk/

给filebeat的配置文件filebeat.yml授权

chmod go-w /opt/elk/filebeat/filebeat.yml

创建一个log122目录,用于存放同步的日志文件

mkdir /opt/elk/filebeat/log122

修改filebeat.yml的配置

数据输入配置

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/share/filebeat/log122/*.log
filebeat.config:
  modules:
    path: ${path.config}/modules.d/*.yml
    reload.enabled: false
processors:
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  
#数据输出到kafka配置
output.kafka:
  # initial brokers for reading cluster metadata
  hosts: ["192.168.1.120:9091", "192.168.1.120:9092", "192.168.1.120:9093"]
 
  # message topic selection + partitioning
  topic: 'log122'
  partition.round_robin:
    reachable_only: false
 
  required_acks: 1
  compression: gzip
  max_message_bytes: 1000000

移除我们的临时filebeat容器

docker rm -f elk-filebeat

重启一个新的容器

docker run -d --name=elk-filebeat --restart=always --user=root --privileged=true -v /elk/filebeat:/usr/share/filebeat elastic/filebeat:7.12.0

启动查看日志

docker logs elk-filebeat

修改logstash服务的配置

input{
       #方式一:直接通过logback收集日志 
       tcp{
           port => 5044
           type => "simplelog"
           codec => "json_lines"
       }
       #方式二:kafka方式
       kafka {
           type => 'kafka'
           bootstrap_servers => "kafka01:9092,kafka02:9092,kafka03:9092"
           topics => "test"
           group_id => "elk"
    }
}
 
output{
    #普通方式
    if [type] == 'simplelog'{
        elasticsearch {
            #es地址
            hosts => ["es01:9200","es02:9200","es03:9200"]
            #索引
            index => "elk-cluster-logstash-01-%{[app]}-%{+YYYY.MM.dd}"
        }
    }
    #kafka方式
    if [type] == 'kafka'{
        elasticsearch {
            #es地址
            hosts => ["es01:9200","es02:9200","es03:9200"]
            #索引
            index => "elk-simplelog-%{+YYYY.MM.dd}"
        }
    }
}

标签:elk,filebeat,9200,配置文件,部署,kafka,docker
来源: https://www.cnblogs.com/ningyouyou/p/16363984.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有