许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Kubernetes日志收集利器:Fluent Bit新功能介绍

Kubernetes日志收集利器:Fluent Bit新功能介绍

阅读数 4
点赞 0
article_banner

Fluent Bit是一个开源和多平台的日志转发器 ,可以让您从不同来源收集数据/日志,统一并将其发送到多个目的地。它与Docker和Kubernetes环境完全兼容。

Fluent Bit用C编写,具有支持30个扩展的可插拔架构。它快速轻便,通过TLS提供网络操作所需的安全性。

最主要的是支持 app  分类,按容器id app等排序爽,而不是fluentd只有一个tag非常乱。

此config我已加入监控 cpu 内存 磁盘等

kubectl create 启动即可

cat fluent-bit-configmap.yaml

apiVersion: v1

   kind: ConfigMap

   metadata:

     name: fluent-bit

   #  namespace: logging  

     labels:

       component: fluent-bit

   data:

     fluent-bit.conf: |

       [SERVICE]

           Flush        1

           Daemon       Off

           Log_Level    info

           Parsers_File parsers.conf

           # HTTP_Monitor Off

           # HTTP_Port    2020

       [INPUT]

           Name          tail

           Path          /var/log/ containers  /*.log

           Parser        docker

           Tag           kube.*

           Mem_Buf_Limit 5MB

           # DB            /path/to/logs.db

       # [INPUT]

       #     Name   kmsg

       #     Tag    kernel

       [INPUT]

           Name          disk

           Tag           disk

           Interval_Sec  60

       [INPUT]

           Name cpu

           Tag  my_cpu

       [INPUT]

           Name   mem

           Tag    memory

       [FILTER]

           Name   kubernetes

           Match  kube.*

       [OUTPUT]

           Name  es

           Match *

           Host  𝐹𝐿𝑈𝐸𝑁𝑇𝐸𝐿𝐴𝑆𝑇𝐼𝐶𝑆𝐸𝐴𝑅𝐶𝐻𝐻𝑂𝑆𝑇𝑃𝑜𝑟𝑡   F L U E N  T E  L A S T I C S E A R C  H H  O S T Port {FLUENT_ELASTICSEARCH_PORT}

           Logstash_Format On

           Logstash_Prefix fluent-bit

           Retry_Limit False

     parsers.conf: |

       [PARSER]

           Name   apache

           Format regex

           Regex  ^(?<host>[^ ]*) [^ ]* (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>[^\"]*?)(?: +\S*)?)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)")?𝑇𝑖𝑚𝑒𝐾𝑒𝑦𝑡𝑖𝑚𝑒𝑇𝑖𝑚𝑒𝐹𝑜𝑟𝑚𝑎𝑡  Tim e K eytimeTim e F ormat

           Time_Key time

           Time_Format %d/%b/%Y:%H:%M:%S %z



       [PARSER]

           Name   apache_error

           Format regex

           Regex  ^

[^ ]* (?<time>[^   [^ ]* (?<time>[^  ]*)\]

(?<level>[^   (?<level>[^  ]*)\](?:

pid (?<pid>[^   pid (?<pid>[^  ]*)\])?(

client (?<client>[^   client (?<client>[^  ]*)\])? (?<message>.*)[𝑃𝐴𝑅𝑆𝐸𝑅]𝑁𝑎𝑚𝑒𝑛𝑔𝑖𝑛𝑥𝐹𝑜𝑟𝑚𝑎𝑡𝑟𝑒𝑔𝑒𝑥𝑅𝑒𝑔𝑒𝑥(?<𝑟𝑒𝑚𝑜𝑡𝑒>[]∗)(?<ℎ𝑜𝑠𝑡>[]∗)(?<𝑢𝑠𝑒𝑟>[]∗)\[(?<𝑡𝑖𝑚𝑒>[\]]∗)\]"(?<𝑚𝑒𝑡ℎ𝑜𝑑>§+)(?:+(?<𝑝𝑎𝑡ℎ>[\"]∗?)(?:+§∗)?)?"(?<𝑐𝑜𝑑𝑒>[]∗)(?<𝑠𝑖𝑧𝑒>[]∗)(?:"(?<𝑟𝑒𝑓𝑒𝑟𝑒𝑟>[\"]∗)""(?<𝑎𝑔𝑒𝑛𝑡>[\"]∗)")?  [PARSER]NamenginxFormatregexRegex(?<remote>[]∗)(?<host>[]∗)(?<user>[]∗)\[(?<time>[\]]∗)\]"(?<method>§+)(?:+(?<path>[\"]∗?)(?:+§∗)?)?"(?<code>[]∗)(?<size>[]∗)(?:"(?<referer>[\"]∗)""(?<agent>[\"]∗)")?

          Time_Key time
 

          Time_Format %d/%b/%Y:%H:%M:%S %z
 



      [PARSER]
 

          Name   json-test
 

          Format json
 

          Time_Key time
 

          Time_Format %d/%b/%Y:%H:%M:%S %z
 



      [PARSER]
 

          Name        docker
 

          Format      json
 

          Time_Key    time
 

          Time_Format %Y-%m-%dT%H:%M:%S
 

          Time_Keep   On
 



      [PARSER]
 

          Name        syslog
 

          Format      regex
 

          Regex       ^\<(?<pri>[0-9]+)\>(?<time>[^ ]* {1,2}[^ ]* [^ ]*) (?<host>[^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:

(?<𝑝𝑖𝑑>[0−9]+)  (?<pid>[0−9]+) )?(?:[^\:]*\:)? *(?<message>.*)$
 

          Time_Key    time
 

          Time_Format %b %d %H:%M:%S
 




cat fluent-bit-daemonset.yaml


apiVersion: extensions/v1beta1

   kind: DaemonSet

   metadata:

     name: fluent-bit

     # namespace: kube-system

   #  namespace: logging

     labels:

       k8s-app: fluent-bit-logging

       version: v1

       kubernetes.io/cluster-service: "true"

   spec:

     template:

       metadata:

         labels:

           k8s-app: fluent-bit-logging

           version: v1

           kubernetes.io/cluster-service: "true"

       spec:

         containers:

         - name: fluent-bit
image : 192.168.1.103/k8s_public/fluent-bit:0.11.2

           # image: fluent/fluent-bit-kubernetes-daemonset:latest

           env:

           - name:  FLUENT_ELASTICSEARCH_HOST

             value: "elasticsearch-logging"

           - name:  FLUENT_ELASTICSEARCH_PORT

             value: "9200"

           resources:

             limits:

               memory: 100Mi

             requests:

               cpu: 100m

               memory: 100Mi

           volumeMounts:

           - name: config

             mountPath: /fluent-bit/etc

           - name: host-var-log

             mountPath: /var/log

           - name: host-var-lib-docker-containers

             mountPath: /var/lib/docker/containers

             # readOnly: true

           - name: minikube-var-lib-docker-containers

             mountPath: /mnt/sda1/var/lib/docker/containers

         terminationGracePeriodSeconds: 10

         volumes:

         - name: config

           configMap:

             name: fluent-bit

         - name: host-var-log

           hostPath:

             path: /var/log

         - name: host-var-lib-docker-containers

           hostPath:

             path: /var/lib/docker/containers

         - name: minikube-var-lib-docker-containers

           hostPath:

             path: /mnt/sda1/var/lib/docker/containers

#注意namespace 我这里为default  , 如果你是其它namespace 要和es空间一致,kibana上创建索引注意头部为fluent-bit-*


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空