filebeat.yaml(k8s configmap)部署清单
apiVersion: v1 kind: ConfigMap metadata: name: bh-shard-2-filebeat-config namespace: bluehelix labels: app: bh-shard-2-test app.kubernetes.io/managed-by: Helm chart: java-0.9.9 heritage: Helm release: bluehelix-bh-shard-2 data: filebeat.yml: |- filebeat.inputs: - type: log processors: # - add_kubernetes_metadata: # in_cluster: true paths: - "/mnt/log/gc.log" fields: app_name: bh-shard-2 app: gc group: bluehelix namespaces: bluehelix clusterName: "${CLUSTER_NAME:}" - type: log processors: paths: - "/mnt/log/requestlog.log" fields: #设置好之后在kibana可以根据fields定义的name过滤和分类 app_name: bh-shard-2 app: request group: bluehelix namespaces: bluehelix clusterName: "${CLUSTER_NAME:}" close_inactive: 1m close_timeout: 3h clean_inactive: 72h ignore_older: 70h exclude_files: ['debug'] json.message_key: message #json.xxx这4行的作用主要是解析json字符串,然后可以根据json里面的key进行筛选过滤,作图要用, json.keys_under_root: true json.overwrite_keys: true json.add_error_key: true - type: log processors: paths: - "/mnt/log/logstash.log" fields: app_name: bh-shard-2 app: bh-shard-2 group: bluehelix namespaces: bluehelix clusterName: "${CLUSTER_NAME:}" #没有新日志采集后多长时间关闭文件句柄,默认5分钟,设置成1分钟,加快文件句柄关闭; close_inactive: 1m #传输了3h后荏没有传输完成的话就强行关闭文件句柄; close_timeout: 3h #这个配置项也应该配置上,默认值是0表示不清理,不清理的意思是采集过的文件描述在registry文件里永不清理,在运行一段时间后,registry会变大,可能会带来问题。 clean_inactive: 72h #设置了clean_inactive后就需要设置ignore_older,且要保证ignore_older < clean_inactive ignore_older: 70h #multiline.pattern: ^20[0-9]{2}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} #multiline.xxx主要是做多行合并的,如果filebeat做多行合并直接插入es,那么kibana在作图标的时候将很不方便,因此,如果filebeat直接插入es建议不合并日志,进行逐条插入es,这样更有利于kibana作图 #multiline.negate: true #multiline.match: after # 和福林确认日志只需要处理1毫秒内的多行输出 #multiline.timeout: 50ms # 只保留40行日志 #multiline.max_lines: 40 exclude_files: ['debug'] json.message_key: message json.keys_under_root: true json.overwrite_keys: true json.add_error_key: true output.elasticsearch: enabled: true hosts: ["eck-cluster-es-default.elastic-system.svc.cluster.local:9200"] index: "%{[fields.app]}-%{+yyyy.MM.dd}" setup.ilm.enabled: false setup.template.name: "%{[fields.app]}" setup.template.pattern: "%{[fields.app]}-*" setup.template.enabled: false setup.template.overwrite: true
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?