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

相关文章

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. 文件处

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚