k8s~fluentd从kafka到elk

打印 上一主题 下一主题

主题 704|帖子 704|积分 2112

有时为了日志解耦,通常不把日志打到文件,而是直接打到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
  1. <source>
  2. @type kafka_group
  3. brokers test11:9092
  4. consumer_group fluentd-k8s
  5. format json
  6. 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
  7. </source>
  8. <match *>
  9. @type elasticsearch
  10. host 192.168.60.10
  11. port 9200
  12. logstash_format true
  13. flush_interval 10s
  14. logstash_prefix fluentd-log
  15. </match>
复制代码
k8s编排
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4.   name: fluentd-log-deployment
  5.   namespace: default
  6. spec:
  7.   replicas: 1
  8.   selector:
  9.     matchLabels:
  10.       app: fluentd-log
  11.   template:
  12.     metadata:
  13.       labels:
  14.         app: fluentd-log
  15.     spec:
  16.       hostAliases:
  17.         - ip: "192.168.10.11"
  18.           hostnames: ["test11"]
  19.       containers:
  20.         - name: fluentd-log-controller
  21.           image: lypgcs/fluentd-es-kafka:v1.3.2
  22.           volumeMounts:
  23.             - name: config-volume
  24.               mountPath: /etc/fluent
  25.       volumes:
  26.         - name: config-volume
  27.           configMap:
  28.             name: kafka-fluentd
  29.   #滚动升级策略
  30.   strategy:
  31.     type: RollingUpdate
  32.     rollingUpdate:
  33.       maxSurge: 1
  34.       maxUnavailable: 0
复制代码
基于fluentd风格的按日期为索引的命名


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



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表