filebeat作为daemonSet

2024-03-29 23:52
文章标签 filebeat daemonset

本文主要是介绍filebeat作为daemonSet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

创建 Filebeat 服务账户和 ClusterRole

apiVersion: v1
kind: Namespace
metadata:name: logging
---
apiVersion: v1
kind: ServiceAccount
metadata:name: filebeatnamespace: logginglabels:k8s-app: filebeat
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: filebeatnamespace: logginglabels:k8s-app: filebeat
rules:
- apiGroups: [""]resources:- namespaces- pods- nodesverbs:- get- watch- list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: filebeatnamespace: logging
subjects:
- kind: ServiceAccountname: filebeatnamespace: logging
roleRef:kind: ClusterRolename: filebeatapiGroup: rbac.authorization.k8s.io

2. 创建 Filebeat ConfigMap

kind: ConfigMap
apiVersion: v1
metadata:name: filebeat-confignamespace: logginglabels:k8s-app: filebeat
data:filebeat.yml: |-filebeat.inputs:- type: filestreamenabled: truepaths:- /home/leve/logs/*/*.log- /var/log/leve/test/*/*.logtags: ["test-log"]fields:source: test-logmultiline.pattern: '^\d{4}-\d{2}-\d{2}'multiline.negate: truemultiline.match: afterindex: filebeat-service-test- type: logenabled: truepaths:- /var/log/leve/*/*.log- /var/log/leve/dev/*/*.logtags: ["dev-log"]fields:source: dev-logmultiline.pattern: '^\d{4}-\d{2}-\d{2}'multiline.negate: truemultiline.match: afterindex: filebeat-service-devprocessors:- add_host_metadata:- script:lang: javascriptsource: >function process(event) {try {var message = event.Get("message")var arr = message.match(/^(\d{4}-\d{2}-\d{2}T\S+)\s+([a-zA-Z]+)\s+\[([a-zA-Z]+)(.*)/)var date = arr[1]var level = arr[2]var service = arr[3]var content = arr[4]var fields = event.Get("fields")fields["date"] = datefields["level"] = levelfields["service"] = servicefields["content"] = contentevent.Put("fields", fields)} catch(err) {var fields = event.Get("fields")fields["js_err"] = err.messageevent.Put("fields", fields)}}filebeat.config.modules:path: ${path.config}/modules.d/*.ymlreload.enabled: falseoutput.elasticsearch:hosts: ["es1.leve.com:9202", "es2.leve.com:9202", "es3.leve.com:9202"]username: "elastic"password: "123456"

3. 创建filebeat DaemonSet

apiVersion: apps/v1
kind: DaemonSet
metadata:name: filebeatnamespace: logginglabels:k8s-app: filebeat
spec:selector:matchLabels:k8s-app: filebeattemplate:metadata:labels:k8s-app: filebeatspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: zoneoperator: ExistsserviceAccountName: filebeatterminationGracePeriodSeconds: 30hostNetwork: truednsPolicy: ClusterFirstWithHostNettolerations:- effect: NoSchedulekey: node-role.kubernetes.io/mastercontainers:- name: filebeatimage: elastic/filebeat:8.12.2args: ["-c", "/root/filebeat.yml","-e",]env:- name: NODE_NAMEvalueFrom:fieldRef:fieldPath: spec.nodeNamesecurityContext:runAsUser: 0resources:limits:memory: 300Mirequests:cpu: 100mmemory: 100MivolumeMounts:- name: configmountPath: /root/filebeat.ymlreadOnly: truesubPath: filebeat.yml- name: datamountPath: /usr/share/filebeat/data- name: dev-logmountPath: /var/log/leve- name: test-logmountPath: /home/leve/logs- name: varlibdockercontainersmountPath: /var/lib/docker/containersreadOnly: truevolumes:- name: configconfigMap:defaultMode: 0600name: filebeat-config- name: varlibdockercontainershostPath:path: /var/lib/docker/containers- name: dev-loghostPath:path: /var/log/leve- name: test-loghostPath:path: /home/leve/logs- name: datahostPath:# When filebeat runs as non-root user, this directory needs to be writable by group (g+w).path: /var/lib/filebeat-datatype: DirectoryOrCreate
---

这篇关于filebeat作为daemonSet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859987

相关文章

ELK系列之四---如何通过Filebeat和Logstash优化K8S集群的日志收集和展示

前 言 上一篇文章《日志不再乱: 如何使用Logstash进行高效日志收集与存储》介绍了使用ELK收集通用应用的日志,在目前大多应用都已运行在K8S集群上的环境,需要考虑怎么收集K8S上的日志,本篇就介绍一下如何使用现有的ELK平台收集K8S集群上POD的日志。 K8S日志文件说明 一般情况下,容器中的日志在输出到标准输出(stdout)时,会以.log的命名方式保存在/var/log/po

Elastic Stack(四):filebeat介绍及安装

目录 1 filebeat介绍1.1 filebeat和beat的关系1.2 filebeat是什么1.3 filebeat工作原理1.4 传输方案 2 安装2.1 filebeat-源码包安装8.11、下载2、创建密钥库3、修改filebeat配置文件修改filebeat配置文件(使用模块的配置) 4、配置快速启动文件注意 5、在kibana中查看 1 filebeat介绍

08--kubernetes可视化界面与Daemonset

前言:前几章写的内容太多了,后面打算写k8s持久化篇幅也不小,这一章算作过度章节,内容简单一些,主要是K8S_web界面与Daemonset控制器。 1、Dashboard Dashboard是一个图形化界面,用于汇总和展示来自不同数据源的关键信息。它通过图表、表格、图形等形式将数据可视化,使用户能够快速理解数据趋势和关键指标。 功能: 数据可视化:将数据以图表、仪表、地图等形式展示,使复

构建ELK+Filebeat+kafka+zookeeper大数据日志分析平台

https://blog.csdn.net/weixin_45623111/article/details/137143863?spm=1001.2014.3001.5502 在构建 ELK (Elasticsearch, Logstash, Kibana) + Filebeat + Kafka + Zookeeper 的大数据日志分析平台中,数据流向 filebeat -> logstash

【云原生| K8S系列】Kubernetes Daemonset,全面指南

Kubernetes中的DaemonSet是什么? Kubernetes是一个分布式系统,Kubernetes平台管理员应该有一些功能可以在所有节点上运行特定于平台的应用程序。例如,在所有Kubernetes节点上运行日志代理。 这就是Daemonset发挥作用的地方。 Daemonset是一个原生的Kubernetes对象。顾名思义,它旨在运行系统守护进程。 DaemonSet对象旨在确

coredns 被误删了,可以通过重新应用 coredns 的 Deployment 或 DaemonSet 配置文件来恢复

如果 coredns 被误删了,可以通过重新应用 coredns 的 Deployment 或 DaemonSet 配置文件来恢复。以下是恢复 coredns 的步骤: 1. 下载 coredns 配置文件 你可以从 Kubernetes 的官方 GitHub 仓库下载 coredns 的配置文件。以下是下载并应用配置文件的步骤: wget https://raw.githubusercon

【kubernetes】探索k8s集群的pod控制器详解(Deployment、StatefulSet、DaemonSet、Job、CronJob)

目录 一、Pod控制器及其功用 二、pod控制器有多种类型 2.1ReplicaSet 2.1.1ReplicaSet主要三个组件组成 2.2Deployment 2.3DaemonSet 2.4StatefulSet 2.5Job 2.6Cronjob 三、Pod与控制器之间的关系 3.1Deployment 3.2SatefulSet 3.2.1StatefulS

Kubernetes 之 DaemonSet 基本原理

Kubernetes 之 DaemonSet 基本原理 DaemonSet 定义 DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本。 当有节点加入集群时, 也会为他们新增一个 Pod 。 当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。它最经常被使用在收集集群日志的用途上。 DaemonSet 使用 apiVer

k8s初级实战04--DaemonSet Static Pod

k8s初级实战04--DaemonSet & Static Pod 1 基础概念2 常见用法2.1 DaemonSet2.2 Static Pod 3 注意事项4 说明 1 基础概念 DaemonSet DaemonSet 保证在每个 Node 上都运行一个容器副本,常用来部署一些集群的日志、监控或者其他系统管理应用。典型的应用包括: 日志收集,比如 fluentd,logst

Filebeat进阶指南:核心架构与功能组件的深度剖析

🐇明明跟你说过:个人主页 🏅个人专栏:《洞察之眼:ELK监控与可视化》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是ELK 2、FileBeat在ELK中的角色  二、FileBeat核心架构 1、Filebeat的整体架构图 2、核心组件 注册表(Registrar) 3、核心组件 爬虫(Harvester) 4、核心组件 发布者(Publisher