首页 > 其他分享 >kubernetes中使用filebeat收集单独应用日志

kubernetes中使用filebeat收集单独应用日志

时间:2022-10-18 11:00:56浏览次数:64  
标签:filebeat log kubernetes app labels kibana 日志 name

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: filebeat-config
  namespace: default
  labels:
    app: filebeat
data:
  filebeat.yml: |-
    filebeat.inputs:
    - type: filestream
      enabled: true
      paths:
        - /opt/log/access.log             #收集日志文件的绝对路径
    output.elasticsearch:
      hosts: ["http://192.168.10.3:9200"] #es的ip:端口
      index: "web_log"                    #索引名称
    setup.ilm.enabled: false              #禁用索引生命周期管理
    setup.template.name: "gx-test"        #设置索引模板的名称
    setup.template.pattern: "gx-test*"    #设置索引模板的匹配模式,eg:gx-test1,gx-test2 
    setup.template.overwrite: true        #覆盖已有的索引模板,如果为true,则会直接覆盖现有的索引模板,如果为false则不覆盖!
    
 ---

apiVersion: v1
kind: Service
metadata:
  name: kibana
  namespace: default
  labels:
    app: kibana
spec:
  ports:
  - port: 5601
  type: NodePort
  selector:
    app: kibana

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
  namespace: default
  labels:
    app: kibana
spec:
  selector:
    matchLabels:
      app: kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:
      containers:
      - name: kibana
        image: kubeimages/kibana:7.10.2
        env:
        - name: ELASTICSEARCH_HOSTS
          value: http://172.16.0.19:9200
        ports:
        - containerPort: 5601
        
 ---
 
 apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: web
  name: web
spec:
  replicas: 1 
  selector: 
    matchLabels: 
      app: web
  template:
    metadata: 
      labels:
        app: web
    spec: 
      containers:
      - name: nginx
        image: nginx:latest 
        ports:
        - containerPort: 80
        volumeMounts:
        - name: log
          mountPath: /var/log/nginx/
      - name: filebeat
        image: kubeimages/filebeat:7.10.2
        imagePullPolicy: IfNotPresent
        args: [
                "-c", "/etc/filebeat.yml",
                "-e",
        ]
        volumeMounts:
        - name: config
          mountPath: /etc/filebeat.yml
          readOnly: true
          subPath: filebeat.yml
        - name: log
          mountPath: /opt/log/     #与nginx的 mountpath 是同一存储,若需要收集nginx的access.log日志,则filebeat的配置文件中paths为/opt/log/access.log
      volumes:
      - name: log  #pod的共享存储
        emptyDir: {}
      - name: config
        configMap:
          defaultMode: 0640
          name: filebeat-config #filebeat的配置文件

标签:filebeat,log,kubernetes,app,labels,kibana,日志,name
From: https://www.cnblogs.com/guoxin1990/p/16801901.html

相关文章

  • Kubernetes 控制器管理器的工作原理
    在KubernetesMaster节点中,有三个重要的组件:ApiServer、ControllerManager和Scheduler,它们共同负责整个集群的管理。在本文中,我们尝试梳理一下ControllerManager的工作......
  • kubernetes插件管理器krew
    kubernetes插件管理器krew1.介绍Krew是kubectl插件的包管理工具。借助Krew,可以轻松地使用kubectlplugin:发现插件、安装和管理插件。使用类似apt、dnf或者brew。对于kub......
  • K8s---Kubernetes简介
    Kubernetes简介:kubernetes,简称k8s,是因为KuberneteS之间是由8个字符组成的,是一个开源的,用于管理云平台中多个主机上的容器化应用,也称容器的资源管理器、容器的编排工具......
  • 一起学kubernetes系列(3)‌K8S的WebUI:Dashboard&Kuboard
    ​本篇介绍2套kubernetes的WEBUI管理控制台Kubernetes官方Dashboard部署KubernetesDashboard是Kubernetes的官方WebUI。使用KubernetesDashboard,您可以:向Kubern......
  • 一起学kubernetes系列(1)‌明明白白安装Kubernetes1.16.2
    ​前言首次安装Kubernetes我们采用kubeadm来安装单Master节点的方式,安装最新版的Kubernetes和Calico,一步一步循序渐进。介绍Master:集群控制管理节点,所有的命令都经由master......
  • 08. Kubernetes - 资源清单
    资源清单在使用docker部署容器的时候,使用dockerrun进行容器的运行,但是对于复杂的需求,如果还是使用dockerrun,就会变得极其复杂和难以管理。于是便有了dockercompo......
  • #yyds干货盘点# 常用 Shell 分析服务器日志命令2
    9、访问次数最多的10个文件或页面catlog_file|awk'{print$11}'|sort|uniq-c|sort-nr|head-10catlog_file|awk'{print$11}'|sort|uniq-c|sort-nr|head-20awk'......
  • mysql查看执行sql语句的记录日志
    1、使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到。好处是不用设置,不会保存。--useinformation_schema;--showprocesslist;或者:......
  • Azure Kubernetes(AKS)部署及查看应用资源
    简介      上一篇文章讲解了如何使用AzureDevOps持续部署应用到AzureKubernetes上。但是部署是否成功?会不会遇到什么问题?项目运行中是否会出现问题?我们该怎么样......
  • 基于Kubernetes的CICD实战
    什么是DevOps在过去十年,DevOps一直是大家热议的话题,10个人心中有10个哈姆雷特,十家公司却不止十个DevOps定义,也许在你从事技术的生涯中,听过不止100种DevOps定义......