首页 > 其他分享 >k8s~fluentd从kafka到elk

k8s~fluentd从kafka到elk

时间:2023-01-29 09:36:29浏览次数:58  
标签:KC fluentd elk CREATE kafka k8s logstash

有时为了日志解耦,通常不把日志打到文件,而是直接打到kafka,而为了分析日志,我们可以通过sidecar的方式,把日志从kafka写入到es里,而通过kibana对日志进行分析。

我的k8s-fluentd的相关文章

k8s~部署EFK框架
k8s~为服务添加sidecar边斗
k8s~fluentd的configmap设置es索引前缀
ELK~fluentd多行日志的收集

使用docker的镜像

lypgcs/fluentd-es-kafka:v1.3.2

fluent.conf配置

可以添加configMap,扩展性更好,下面说一下配置的含义
名称是fluentd-config,内部文件名是fluent.conf

  • brokers 这是kafka的地址
  • consumer_group 消费组名称
  • format json 表示kafka里存储的是json格式
  • start_from_beginning true表示从头消费,false从最新的消息
  • topics 表示监控的主题,多个之间用逗号分开
  • tag 表示索引名称
  • flush_interval 刷新频率
  • logstash_format index是否使用logstash命名方式(logstash-%Y.%m.%d),默认不启用
  • logstash_prefix:logstash_format启用的时候,index命名前缀是什么。默认为logstash
  • include_tag_key true #把tag当做字段写入ES,如果需要自定义tag时,可以添加这项
  • tag_key @log_name
<source>
@type kafka_group
brokers test11:9092
consumer_group fluentd-k8s
format json
topics KC_AUTHORIZATION_POLICY,KC_AUTHORIZATION_POLICY_CREATE,KC_AUTHORIZATION_POLICY_DELETE,KC_AUTHORIZATION_POLICY_UPDATE,KC_AUTHORIZATION_RESOURCE_CREATE,KC_AUTHORIZATION_RESOURCE_DELETE,KC_CLIENT_LOGIN,KC_CLIENT_ROLE_MAPPING_CREATE,KC_CLIENT_ROLE_MAPPING_DELETE,KC_GROUP_CREATE,KC_GROUP_DELETE,KC_GROUP_MEMBERSHIP_CREATE,KC_LOGIN_ERROR,KC_LOGOUT,KC_REALM_ROLE_CREATE,KC_REALM_ROLE_MAPPING_CREATE,KC_REALM_ROLE_MAPPING_DELETE,KC_USER_ACTION,KC_USER_CREATE,KC_USER_DELETE,KC_USER_INFO_REQUEST,KC_USER_UPDATE,KC_CODE_TO_TOKEN_ERROR,KC_LOGIN
</source>

<match *>
@type elasticsearch
host 192.168.60.10
port 9200
logstash_format true
flush_interval 10s
logstash_prefix fluentd-log
</match>

k8s编排

apiVersion: apps/v1
kind: Deployment
metadata:
  name: fluentd-log-deployment
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: fluentd-log
  template:
    metadata:
      labels:
        app: fluentd-log
    spec:
      hostAliases:
        - ip: "192.168.10.11"
          hostnames: ["test11"]
      containers:
        - name: fluentd-log-controller
          image: lypgcs/fluentd-es-kafka:v1.3.2
          volumeMounts:
            - name: config-volume
              mountPath: /etc/fluent
      volumes:
        - name: config-volume
          configMap:
            name: kafka-fluentd
  #滚动升级策略
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0

基于fluentd风格的按日期为索引的命名

最后在kibana里的格式化后的数据

标签:KC,fluentd,elk,CREATE,kafka,k8s,logstash
From: https://www.cnblogs.com/lori/p/17071713.html

相关文章

  • 2、使用腾讯云k8s
    1、先购买集群,后创建命名空间test_app_namespace2、后创建镜像仓库my_repo3、本地登录腾讯云容器镜像服务DockerRegistrydockerloginccr.ccs.tencentyun.com--us......
  • velero备份恢复k8s集群
    参考文档:https://blog.51cto.com/kaliarch/4919159https://blog.csdn.net/john1337/article/details/123335046一、什么是velero?Velero是一个云原生的灾难恢复和迁移......
  • 将Portiner部署到MicroK8s集群
    在MicroK8s的帮助下,你可以部署Portiner,从而使Kubernetes的管理变得容易多了。Portainer是一个强大的容器管理平台,不仅可以在Docker部署中使用,还可以在Kubernetes环境中使用......
  • k8s 单节点部署
    k8s单节点部署参考kubeasz:https://github.com/easzlab/kubeasz/blob/master/docs/setup/quickStart.mddashboard:https://github.com/easzlab/kubeasz/blob/master......
  • 不背锅运维:一文搞清楚应用发布到k8s集群的基本流程
    1.使用yaml文件创建资源对象❝每种资源的apiVersion和kind可通过kubectlapi-resources命令进行查看❞tantianran@test-b-k8s-master:~$ kubectl api-resources......
  • 【云原生kubernetes】k8s中pod使用详解
    一、前言在之前k8s组件一篇中,我们谈到了pod这个组件,了解到pod是k8s中资源管理的最小单位,可以说Pod是整个k8s对外提供服务的最基础的个体,有必要对Pod做深入的学习和探究。二......
  • 基于KubeSphere在K8S发布微服务ruoyi----5.部署基础环境Gitlab
      Docker搭建Gitlab服务器1、Gitlab镜像dockersearchgitlab    dockersearchgitlab-ce  dockerpullgitlab/gitlab-ce      2、创......
  • 基于KubeSphere在K8S发布微服务ruoyi----4.部署基础环境Redis
    从dockerhub查看redis启动所需相关参数https://hub.docker.com/_/redisIfpersistenceisenabled,dataisstoredinthe VOLUME/data,whichcanbeusedwith --......
  • k8s资源调度
    1资源调度流程资源创建流程如下所示。 资源调度流程是从资源创建流程的④开始的,即Kube-scheduler在需要创建的资源队列中监听到相应的资源时,会调用可用的调度算法和调......
  • k8s资源编排
    资源编排是指边缘计算系统云部分Kubernetes的计算节点在获得资源调度结果之后,计算节点对调度结果(负载)所需的存储资源、网络资源、计算资源的组织管理。1)存储资源:创建负载......