首页 > 其他分享 >filebeat docker 部署

filebeat docker 部署

时间:2023-10-07 19:00:10浏览次数:32  
标签:opt filebeat log 部署 topic docker true

官网:

https://www.elastic.co/guide/en/beats/filebeat/8.10/index.html

https://www.elastic.co/guide/en/beats/filebeat/8.10/running-on-docker.html

 

1. 拉取镜像

sudo docker pull elastic/filebeat:8.10.2

 

2. 准备配置文件

sudo mkdir -p  /opt/docker/filebeat
sudo chmod -R   777  /opt/docker/filebeat

vim /opt/docker/filebeat/filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
   - /opt/logs/*error.log
     # - /opt/docker/log/*.log
  fields:
   #添加新字段可发送至不同topic
   log_topic: sea_test_filebeat_log_topic
  multiline:
        # pattern for error log  多行日志合并,实际项目中一条完整日志可能包含多行信息
        pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
        negate:  true
        match:   after
    #合并最大条数,默认500
     mutiline.max_lines: 1000
      # 这个文件记录日志读取的位置,如果容器重启,可以从记录的位置开始取日志
    #registry_file默认存储在Filebeat的工作目录中,并且命名为".filebeat"。
        #registry_file: /usr/soft/filebeat/data/registry
output.kafka:
  enabled: true
  hosts: ["192.168.18.176:9092","192.168.18.54:9092","192.168.18.199:9092"]
  #根据上面添加字段发送不同topic
  topic: '%{[fields.kafka_topic]}'
  max_message_bytes: 1000000
  compression: gzip

processors:
 - drop_fields:
     fields: ["host","input","agent","ecs","log","@version","flags"]

logging.level: error
name: sea_app-server-ip

 

测试配置:

filebeat.inputs:
- type: log
  enabled: true
  paths:
   - /opt/logs/*error.log
     # - /wls/applogs/rtlog/*.log
  fields:
   log_topic: appName
  multiline:
         # pattern for error log, if start with space or cause by
        pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
        negate:  true
        match:   after
output.kafka:
  enabled: true
  hosts: ["192.168.18.176:9092","192.168.18.54:9092","192.168.18.199:9092"]
  topic: sea_test_filebeat_log1
  max_message_bytes: 1000000
  compression: gzip


processors:
 - drop_fields:
     fields: ["beat", "input", "source", "offset"]

logging.level: error
name: sea_app-server-ip
View Code

 

3. 添加对应的权限

sudo chown 0 filebeat.yml
sudo chmod go-w  filebeat.yml 

 

4.启动服务:

sudo docker run -itd \
  --privileged=true \
  --user=root \
  --name=sea_filebeat \
  --restart=always \
  --network=host \
  -v /opt/docker/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:rw \
  -v /opt/docker/testlog/:/opt/logs/:rw \
  elastic/filebeat:8.10.2

 

 

 

配置说明:

 

多行日志合并

 

#多行合并规则,以时间开头的为一条完整日志,否则合并到上一行(java、python日志都以日期开头)
  multiline.type: pattern
  #中括号日期开头:[2015-08-24 11:49:14,389]
  #multiline.pattern: '^\[[0-9]{4}-[0-9]{2}-[0-9]{2}'
  #日期开头:2015-08-24 11:49:14,389
  multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
  multiline.negate: true
  multiline.match: after
  #合并最大条数,默认500
  mutiline.max_lines: 1000
  # 这个文件记录日志读取的位置,如果容器重启,可以从记录的位置开始取日志
  #  registry_file: /usr/soft/filebeat/data/registry

 

标签:opt,filebeat,log,部署,topic,docker,true
From: https://www.cnblogs.com/lshan/p/17747195.html

相关文章

  • PostgreSQL备份和恢复(Docker安装)
    目录一.准备备份脚本并拷贝进容器二,在宿主机写定时任务去执行容器内的备份脚本一.准备备份脚本并拷贝进容器vibackup.sh#内容如下#!/bin/bash#PostgreSQLdatabasecredentialsDB_NAME="<要备份的数据库名>"DB_USER="<具有该数据库导出权限的用户>"DB_PASS="<用户密码......
  • docker部署nacos集群
    环境准备系统ip 插件centos710.190.107.191docker、nginxcentos710.190.107.192docker、nacoscentos710.190.107.193docker、nacoscentos710.190.107.194docker、nacos  1、提前准备MySQL 创建nacos库并执行sql文件dockerrun-id-p......
  • virtualbox安装docker
    Vagrant安装教程Vagrant下载进入下载页面下载对应版本:https://www.vagrantup.com/downloads,外网下载可能比较慢,下载后会得到一个安装程序vagrant_2.3.4_windows_amd64.msi。Vagrant软件安装一直下一步就行VirtualBox安装教程VirtualBox下载官方下载地址:https://www.......
  • RedisStack部署/持久化/安全/与C#项目集成
    前言Redis可好用了,速度快,支持的数据类型又多,最主要的是现在可以用来向量搜索了。本文记录一下官方提供的redis-stack部署和配置过程。关于redis-stackredis-stackinstallsaRedisserverwithadditionaldatabasecapabilitiesandtheRedisInsight.redis提供了俩......
  • 基于redis5的redis cluster部署
     1.创建rediscluster集群的环境准备1.1.#每个redis节点采用相同的相同的redis版本、相同的密码、硬件配置;所有redis服务器必须没有任何数据;准备六台主机,地址如下:10.0.0.15010.0.0.16010.0.0.17010.0.0.18010.0.0.19010.0.0.2002.启用redis......
  • Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.htm
    [root@ansible~]#vim/etc/ansible/hosts[webservers]10.0.0.150ansible_connection=local10.0.0.160#创建角色相关目录[root@ansiblehtml]#mkdir-pv/data/ansible/roles/httpd/{tasks,handlers,files}mkdir:createddirectory'/data/ans......
  • ansible-playbook实现MySQL的二进制部署
     #安装mysql5.6[root@ansible~]#ls-l/data/ansible/files/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz-rw-r--r--1rootroot403177622Dec 413:05/data/ansible/files/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz[root@ansible~]#cat/data/ansible......
  • docker制作springboot镜像
    以下步骤在具有Docker环境的Linux机器上操作。把springboot-1.0.0.jar放到/usr/local/springboot目录下,并在该目录下创建Dockerfile文件,内容为:FROMopenjdk:8-jdk-alpineADDspringboot-1.0.0.jar/usr/local/springboot.jarENTRYPOINT["java","-jar","/usr/local/spring......
  • docker 安装 neo4j
    1.安装所需的软件包yuminstall-yyum-utilsdevice-mapper-persistent-datalvm22.设置阿里云仓库(国内仓库稳定)yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.查看docker容器版本yumlistdocker-ce--showduplicate......
  • 【大数据】HIVE部署(文档版本)
    Mysql安装配置远程登录#更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022#安装Mysqlyum库rpm-Uvhhttp://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm#yum安装Mysqlyum-yinstallmysql-community-server#启动Mysql设置......