k8s部署elk+filebeat+logstash+kafka集群(三)filebeat部署

k8s部署elk+filebeat;springCloud集成elk+filebeat+kafka+zipkin实现多个服务日志链路追踪聚合到es 如今2023了,大多数javaweb架构都是springboot微服务,一个前端功能请求后台可能是多个不同的服务共同协做完成的。例如用户下单功能,js转发到后台,然后到,然后到,然后到,后续还有发货、客户标签等等服务。其中每个服务会启动多个实例做负载均衡,这样一来我们想看这个功能的完成流程日志,需要找到对应的服务器ip,日志文件在哪,其中又要确定具体负载转发到哪些台服务器上了。 阅读详情

rbac

# cat filebeat-rbac.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: filebeat
  namespace: elk
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: filebeat
  labels:
    app: filebeat-clsterrole
rules:
- apiGroups:
  - ""
  resources:
  - nodes
  - events
  - namespaces
  - pods
  verbs:
  - get
  - watch
  - list
- apiGroups:
  - ""
  resourceNames:
  - filebeat-prospectors
  resources:
  - configmaps
  verbs:
  - get
  - update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: filebeat
  labels:
    app: filebeat-clusterrolebinding
roleRef:
  apiGroup: ""
  kind: ClusterRole
  name: filebeat
subjects:
- apiGroup: ""
  kind: ServiceAccount
  name: filebeat
  namespace: elk

filebeat配置文件

# cat filebeat-cm.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: filebeat-configmap
  namespace: elk
data:
  filebeat.yml: |-
    filebeat.autodiscover:
      providers:
        - type: kubernetes
          node: ${NODE_NAME}
          hints.enabled: true
          hints.default_config:
            type: container
            paths:
              - /var/log/containers/*${data.kubernetes.container.id}.log
            tags: ["k8s"]
            fields:
              log_topic: k8s
    filebeat.config.modules:
      path: ${path.config}/modules.d/*.yml
    setup.template.settings:
      index.number_of_shards: 3
      index.number_of_replicas: 1
      index.codec: best_compression
      _source.enabled: false
    output.kafka:
      hosts: ["kafka-kraft-statefulset-0.kafka-kraft-svc:9091","kafka-kraft-statefulset-1.kafka-kraft-svc:9091","kafka-kraft-statefulset-2.kafka-kraft-svc:9091"]
      topic: '%{[fields.log_topic]}'
      partition.round_robin:
        reachable_only: false
      required_acks: 1
      compression: gzip
      max_message_bytes: 1000000
		processors:
      - add_host_metadata:
          when.not.contains.tags: forwarded
      - add_cloud_metadata: ~
      - add_docker_metadata: ~
      - add_kubernetes_metadata: ~

当然也可以通过挂载容器日志的方式采集日志,如下

apiVersion: v1
kind: ConfigMap
metadata:
  name: filebeat-configmap
  namespace: elk
data:
  filebeat.yml: |-
    filebeat.inputs:
    - type: log
      paths:
        - /var/log/pods/*.log
      fields:
        node: ${HOSTNAME}
      fields_under_root: true
      # 此参数非常重要,filebeat默认会忽略软链接,不加此参数无法采集到日志
      symlinks: true
      tags: ["k8s"]

daemonSet
使用DaemonSet来使得每个节点都运行filebeat,采集每个节点的日志

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: filebeat
  namespace: elk
  labels:
    k8s-app: filebeat
spec:
  selector:
    matchLabels:
      k8s-app: filebeat
  template:
    metadata:
      labels:
        k8s-app: filebeat
    spec:
      serviceAccountName: filebeat
      terminationGracePeriodSeconds: 30
      containers:
      - name: filebeat
        image: 3.127.33.174:8443/elk/filebeat:8.1.0
        imagePullPolicy: IfNotPresent
        command: [
          "filebeat",
          "-e",
          "-c", "/etc/filebeat.yml"
        ]
        env:
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
				securityContext:
          runAsUser: 0
        resources:
          limits:
            memory: 1000Mi
            cpu: 1000m
          requests:
            memory: 100Mi
            cpu: 100m
        volumeMounts:
        - name: config
          mountPath: /etc/filebeat.yml
          readOnly: true
          subPath: filebeat.yml
        - name: data
          mountPath: /usr/share/filebeat/data
        - name: dockerlog
          mountPath: /home/docker/docker/containers
        - name: varlog
          mountPath: /var/log/
          readOnly: true
        - name: timezone
          mountPath: /etc/localtime
      volumes:
      - name: config
        configMap:
          defaultMode: 0644
          name: filebeat-configmap
      - name: dockerlog
        hostPath:
          path: /home/docker/docker/containers/
      - name: varlog
        hostPath:
          path: /var/log/
      - name: data
				hostPath:
          path: /home/k8s/data
          type: DirectoryOrCreate
      - name: timezone
        hostPath:
          path: /etc/localtime
      tolerations:
      - effect: NoExecute
        key: dedicated
        operator: Equal
        value: gpu
      - effect: NoSchedule
        operator: Exists

查看容器运行情况kubectl get pods -n elk -o wide | grep filebeat
在这里插入图片描述现在我们可以进kafka中查看消费情况,查看filebeat收集到的各容器日志,剩下的在logstash进行过滤筛选
在这里插入图片描述

K8S 部署 logstash 解析 nginx log 接入ELK “cni.projectcalico.org/ipAddrs”: “[“10.244.220.10”]” #pod绑定固定ip,依赖于calico ipam插件,必须使用calico 3.24.1以上的版本才可以。# sincedb_path => “自定义位置” # 此参数记录了读取日志的位置,默认在 data/plugins/inputs/file/.sincedb*#start_position => “beginning” # 此参数表示在第一次读取日志时从头读取。 阅读详情

相关推荐

解析ELK(filebeat+logstash+elasticsearch+kibana)日志系统原理以及k8s集群日志采集过程

ELK【ES+LogStash+Kibana】日志分析系统以及k8s集群日志采集

小橙子的笔记屋 1688

k8s部署elk+filebeat+logstash+kafka集群(三)logstash部署

k8s部署logstash用于消费kafka的数据

filtercomp的博客 2400

Kubernetes中部署ELK Stack日志收集平台

kubelet会在/var/log/pods和/var/log/containers下面建立软链接,指向/var/lib/docker/containers/$CONTAINERID目录下的容器日志文件。- dissect: #参考https://www.elastic.co/guide/en/beats/filebeat/current/dissect.html。创建一个软链接/var/log/pods指向数据盘挂载点下的某个目录(ln -s /data/var/log/pods /var/log/)

别来沾边儿 1608

【Kubernetes 企业项目实战】04、基于 K8s 构建 EFK+logstash+kafka 日志平台(上)

EFK 组件详细介绍!!!

GG Bond 的博客 3204

ELK之简介+Elasticsearch集群部署+索引管理

Logstash 作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由 Elasticsearch 存储,Kibana 对日志进行可视化处理。

2303_77178063的博客 4288

ELK日志系统实战:从零搭建K8s集群日志监控(附Filebeat配置避坑指南)

本文详细介绍了如何在Kubernetes集群中从零搭建ELK日志监控系统,并重点分享了Filebeat配置的实战经验与避坑指南。内容涵盖架构设计、组件部署、核心配置优化以及性能调优,帮助运维人员构建稳定高效的集中式日志管理平台,有效解决容器化环境下的日志采集与监控难题。

milk5的博客 756

ELK系列之四---如何通过Filebeat和Logstash优化K8S集群的日志收集和展示

在ELK Stack组件中,有logstash和filebeat都可以实现日志收集,因为filebeat更轻量化,在K8S集群中通常使用filebeat来收集pod的日志,通过daemonSet控制器在每个K8S每个节点上运行一个filebeat来收集每个节点上的pod日志,filebeat官网图如下,filebeat输出支持对接Elasticsearch、Logstash、Kafka、Redis,本文选择对接Kafka,先缓存filebeat收集的日志,这样可以减少对ES的性能要求。

gjjumin的专栏 2520

k8s-elk:Kubernetes ELK-ElasticSearch,Kibana,Logstash和所有装饰

Kubernetes ELK-ElasticSearch,Kibana,Logstash和所有装饰 该存储库当前包含ElasticSearch和Kibana配置。 ElasticSearch以3种形式运行。 第一个是“主”类型,这是ElasticSearch文档中的主类型。 第二种类型是“摄取”类型,这是ElasticSearch文档中的摄取类型。 接收节点包括一个基于CPU使用率的horizo​​ntalalPodAutoscaler,这些节点连接到Kibana的内部服务以及外部HTTP输入的外部服务。 第三种类型是“数据”节点。 这些是使用statefulSet和PersistentVolumeClaims构造的,它们会相应缩放。 您只能按比例缩放(+ 1,-1,到最新的容器),并且所有通用的ElasticSearch规则都适用(如果删除的节点数量超过允许群集重新平衡自身之间无法承受

kubernetes上部署ELK集群

一、系统架构 IP 角色 主机名 192.168.1.3 master master1 192.168.1.4 master master2 192.168.1.5 master master3 192.168.1.6 node node1 192.168.1.7 node node2 二、创建StorageClass和Namespace 1、创建StorageClass [root@master1 ~]# mkdir -p /elk/{master,data,clien

你说亮不亮的博客 5895

1.STM32H743VGT6最小系统板

此款MCU具备较大算力进行频谱运算,为复杂数据运算提供更高效的保障。该MCU具备REV-V和REV-Y两个型号,后者为新版本。

Audiation88的博客 3794

Dofbot机械臂从零部署笔记(1)——ROS之创建URDF模型、配置Moveit和MotionPlanning

Dofbot机械臂从零部署笔记(1)——ROS之创建URDF模型、配置Moveit和MotionPlanning

takedachia的博客 8697

ELK+filebeat+kafka

基于观察者模式设计的分布式结构,负责存储和管理架构当中的元信息,架构当中的应用接受观察者的监控,一旦数据有变化,通知对应的zookeeper,保存变化的信息。3、统一集群管理,在整个分布式的环境中,必须实时的掌握每个节点的状态,如果状态发生变化,要及时更新。1、点对点,一对一,生产者生产消息,消费者消费消息,这个是一对一的。消息的生产者发布一个主题,其他的消费者订阅这个主题,从而实现一对多。经纪人:zookeeper,存储分区的信息,kafka集群的元数据。2、统一配置管理,所有的节点信息的配置要是一致。

2401_85041083的博客 1411

MATLAB闪退别慌!5分钟搞定Windows系统预设文件修复(附详细截图)

本文针对MATLAB在Windows系统下频繁闪退的问题,提供了快速有效的解决方案。核心在于修复或重置损坏的MATLAB预设文件,通过图文并茂的五步法,指导用户定位AppData目录、重命名预设文件夹,从而让MATLAB自动生成全新配置以解决闪退。文章还涵盖了问题诊断、设置备份及进阶排查方法,帮助用户彻底根除启动故障。

weixin_29234423的博客 925

企业级日志系统架构——ELK(Elasticsearch、Filebeat、Kafka、Logstash、Kibana)

文章目录一、概述1)Elasticsearch 存储2)Filebeat 日志数据采集3)Kafka4)Logstash 过滤5)Kibana 展示filebeat和logstash的关系二、ELK相关的备份组件和备份方式1)Elasticsearch的snapshot快照备份2)elasticdump备份迁移es数据3)esm备份迁移es数据 一、概述 大致流程图如下: 1)Elasticsearch 存储 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有

匠人精神,持之以恒! 6290

RedVQA:轻量级无参考视频质量评估算法原理与工程实践

视频质量评估是计算机视觉领域的关键技术,旨在通过算法自动量化视频的观看体验。其核心原理在于模拟人眼视觉系统,从像素数据中提取并融合空域和时域特征,以预测主观质量分数。这项技术的价值在于,它能自动化处理海量视频内容的质量监控,为流媒体服务、移动设备影像优化等场景提供关键指标。无参考视频质量评估作为该领域的前沿方向,无需原始无损视频作为参考,更贴合实际应用。本文以RedVQA项目为例,深入剖析了如何利用轻量化的深度网络架构,如MobileNetV3,结合高效的时空特征融合模块,在保证评估精度的同时,大幅降低计算

weixin_28698129的博客 575

当GO.db安装失败时,生物信息学新手应该知道的5个底层逻辑

本文为生物信息学新手提供了解决GO.db安装失败的5个关键底层逻辑,包括网络连接与镜像源设置、版本兼容性检查、依赖关系管理、SQLite存储机制理解以及调试技巧。特别针对Bioconductor的GO.db包安装问题,详细介绍了如何通过切换国内镜像、管理版本冲突和解决依赖问题来成功安装,帮助用户高效克服常见安装障碍。

weixin_29062823的博客 407

K8S部署ELK(一):部署Filebeat日志收集器

K8S部署ELK(一):部署Filebeat日志收集器

weixin_74812406的博客 1732

华为OD新系统机试真题 - 配置操作失败数量统计

华为OD机试新系统 4月8号【配置操作失败数量统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【配置操作失败数量统计】。

qq_45776114的博客 1158

kubernetes(二)安装elk filebeat日志收集系统

0.架构 filebeat => kafka_cluster => logatash => elasticsearch_cluster =>kibana filebeat 以demoset运行在kubernetes集群中的每台宿主机上去收集日志,以kafka集群做消息队列, logstash做日志过滤,存储在elasticsearch集群中,最后由kibana展示。 在Ku...

my_chenjie的博客 2031

卫星遥感影像处理:地物分类与变化检测

卫星遥感影像处理:地物分类与变化检测​ ,人工智能,计算机视觉,大模型,AI,卫星遥感技术通过搭载在卫星上的传感器获取地球表面的电磁波信息,为地物分类与变化检测提供了宏观、动态的观测数据。随着高分辨率遥感卫星(如高分系列、哨兵系列)的发展,遥感影像的空间分辨率、光谱分辨率和时间分辨率不断提升,为精准地物识别和动态变化监测奠定了基础。地物分类旨在将遥感影像中的像元按地表覆盖类型(如植被、水体、建筑、农田等)进行分类,而变化检测则通过对比不同时期的影像,识别地表覆盖的变化区域(如城市扩张、森林砍伐、土地退化等)

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 17万+

RK3568_Android15适配以太网网卡gmac+国产phy芯片YT8531

本文介绍了在Android15 SDK上适配正点原子ATK-DLRK3568开发板网卡的过程。开发板采用GMAC接口搭配YT8531C PHY芯片,包含两个千兆网口。主要内容包括:硬件原理图确认、网络链路连接方式、内核DTS配置(包括GMAC0和GMAC1的参数设置)、PHY驱动适配(基于motorcomm.c驱动文件)、PHY寄存器读写调试方法以及MAC地址设置方式。文章还分析了常见问题,如网卡注册后无法ping通网络的故障现象。通过详细的硬件确认和软件配置,实现了双网卡在Android系统上的完整适配。

Android/Linux驱动开发传帮带学习,让驱动入门门槛更低! 2014

kubernetes集群日志收集ELK

kubernetes集群日志收集ELKELK架构日志采集方式方式1:Node级日志代理方式2:伴生容器(sidecar container)作为日志代理方式3:应用直接上传日志对比部署部署文件下载kubectl 基本操作命令总结部署elastisearch部署kibana部署filebeat收集日志kibana查看日志参考 ELK,分别指Elastic公司的Elasticsearch、Logsta...

qq_33430322的博客 2306

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

K8s 搭建 FileBeat+ELK 分布式日志收集系统 以及 KQL 语法介绍

Filebeat 是一个轻量级的日志传输工具,它负责收集日志数据并将其传输到Elasticsearch进行索引和存储。ELK是Elasticsearch、Logstash和Kibana三个开源项目的首字母缩写,它们共同构成了一个强大的日志管理和分析平台。

小毕超博客 2593

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【EFK】基于K8S构建EFK+logstash+kafka日志平台

Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;

hj的博客 2936

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

k8s部署elk+filebeat+logstash+kafka集群(二)kafka-kraft模式集群

k8s中部署kafka-kraft模式集群,镜像构建到对外暴露

filtercomp的博客 1718

kubernetes部署ELK-7.17.5集群及配置X-Pack认证

kibana安装在k8s232.tom.com节点,nodeport映射的端口为30002,所以访问http://10.0.0.232:30002。(PDB)是Kubernetes中的一种资源对象,用于确保在进行维护、升级或其他操作时,系统中的Pod不会被意外中断或终止。#这里修改cluster1.zk.list,kafka.eagle.url=jdbc:mysql 里面的值为自己的值。浏览器输入: http://10.0.0.234:30048/ke。账号:admin 密码:123456。

1337
上一篇: k8s部署elk+filebeat+logstash+kafka集群(二)kafka-zookeeper模式集群
下一篇: k8s部署elk+filebeat+logstash+kafka集群(三)logstash部署
filtercomp
博客等级 码龄5年 33粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值