filebeat-daemonSet模式采集pod日志

2023-10-22 02:10

本文主要是介绍filebeat-daemonSet模式采集pod日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1、准备filebeat包
  • 2、新增Dockerfile
  • 3、新增filebeat.yml文件
  • 4、新增start.sh启动脚本
  • 5、构建镜像+运行

1、准备filebeat包

filebeat-8.5.3-linux-x86_64.tar.gz
在这里插入图片描述

2、新增Dockerfile

将filebeat包放入容器/root目录下

FROM tomcat:2.0
ADD filebeat-8.5.3-linux-x86_64.tar.gz /root
RUN cd /root/filebeat-8.5.3-linux-x86_64
WORKDIR /root/filebeat-8.5.3-linux-x86_64
CMD ["./filebeat" ,"-e", "-c", "filebeat.yml"]

3、新增filebeat.yml文件

根据自己的服务配置加入以下内容,示例为采集服务日志到kafka

#filebeat自身日志配置
logging.level: info
logging.to_files: true
logging.files:path: /root/filebeat-8.5.3-linux-x86_64/logname: filebeatkeepfiles: 7permissions: 0644filebeat.inputs:
- type: logenabled: truepaths:- /data/docker/containers/19ee9c5ec9a9f8799f5d770cce23b1dea6c806ece1177d8fb1535fd049bb7afc/*.logfields:app_deployment_id: 759bfe5b-a7d3-9c4c-fb7e-ab41fde3abb8agent_id: application_name: app_name: KuberneteServicetopic: app-logfields_under_root: truetail_files: true
# -----------------------------  kafka  ---------------------------------------
output.kafka:hosts: ["134.64.15.155:9092"]topic: filebeat-container-logpartition.round_robin:reachable_only: trueprocessors:- add_host_metadata: ~logging.level: debug

4、新增start.sh启动脚本

根据自己的服务加入以下内容:
注意:一定要保证除最后一个服务外,其他服务必须后台运行;最后一个服务必须前台运行;如果都在后台运行的话,docker会以为程序都运行结束,自动退出。

#!/bin/bash
cd /root/KuberneteService/bin/
nohup sh KuberneteService >> nohup.out 2>&1 &
cd /root/filebeat-8.5.3-linux-x86_64/
./filebeat -e -c filebeat.yml

5、构建镜像+运行

准备好的环境如下:
在这里插入图片描述

  1. 构建镜像

docker build -t filebeat:1.0 .
在这里插入图片描述

  1. 运行镜像
    docker run -d --name filebeat -v /data/docker/containers:/data/docker/containers -v /app/tool/k8s/filebeatDocker/log:/root/filebeat-8.5.3-linux-x86_64/log -v /app/tool/k8s/filebeatDocker/filebeat.yml:/root/filebeat-8.5.3-linux-x86_64/filebeat.yml filebeat:1.0

  2. 查看镜像是否启动成功
    docker ps -a
    在这里插入图片描述

  3. 查看容器日志
    docker logs 容器id -f

  4. 进入容器内部,查看部署情况
    docker exec -it 容器id bash
    在这里插入图片描述

  5. 采集到的消息格式:

{"@timestamp": "2022-12-16T03:33:29.264Z","@metadata": {"beat": "filebeat","type": "_doc","version": "8.5.3"},"topic": "app-log","ecs": {"version": "8.0.0"},"message": "{\"log\":\"I1209 08:20:05.294990       1 shared_informer.go:247] Caches are synced for endpoint slice config \\n\",\"stream\":\"stderr\",\"time\":\"2022-12-09T08:20:05.295139982Z\"}","log": {"offset": 8873,"file": {"path": "/data/docker/containers/19ee9c5ec9a9f8799f5d770cce23b1dea6c806ece1177d8fb1535fd049bb7afc/19ee9c5ec9a9f8799f5d770cce23b1dea6c806ece1177d8fb1535fd049bb7afc-json.log"}},"input": {"type": "log"},"app_name": "KuberneteService","app_deployment_id": "759bfe5b-a7d3-9c4c-fb7e-ab41fde3abb8","host": {"architecture": "x86_64","os": {"codename": "focal","type": "linux","platform": "ubuntu","version": "20.04.5 LTS (Focal Fossa)","family": "debian","name": "Ubuntu","kernel": "3.10.0-957.el7.x86_64"},"containerized": true,"name": "6cd4de6fbf07","ip": ["172.17.0.4"],"mac": ["02-42-AC-11-00-04"],"hostname": "6cd4de6fbf07"},"agent": {"type": "filebeat","version": "8.5.3","ephemeral_id": "77432577-0e75-4d60-8582-ced5447979a3","id": "f9c219df-d1b2-44aa-ba9b-1b34e316382a","name": "6cd4de6fbf07"}
}

这篇关于filebeat-daemonSet模式采集pod日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/258425

相关文章

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

nginx配置错误日志的实现步骤

《nginx配置错误日志的实现步骤》配置nginx代理过程中,如果出现错误,需要看日志,可以把nginx日志配置出来,以便快速定位日志问题,下面就来介绍一下nginx配置错误日志的实现步骤,感兴趣的可... 目录前言nginx配置错误日志总结前言在配置nginx代理过程中,如果出现错误,需要看日志,可以把

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处