k8s~fluentd从kafka到elk
2023-04-18 15:25:16 时间
有时为了日志解耦,通常不把日志打到文件,而是直接打到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里的格式化后的数据
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击