• EFK(Elasticsearch+Filebeat+Kibana)收集容器日志


    介绍

    Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。

    Beats 是数据采集的得力工具。将 Beats 和您的容器一起置于服务器上,或者将 Beats 作为函数加以部署,然后便可在 Elastisearch 中集中处理数据。如果需要更加强大的处理性能,Beats 还能将数据输送到 Logstash 进行转换和解析。

    Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。不仅如此,您还可以使用 Vega 语法来设计独属于您自己的可视化图形。所有这些都利用 Elasticsearch 的完整聚合功能。

    Elasticsearch 通常与 Kibana 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch 日志数据。

    EFK架构图:

    安装

    这里采用helm chart安装

    官方地址:https://github.com/elastic/helm-charts

    1.安装elasticsearch

    $ helm fetch elastic/elasticsearch
    
    $ kubectl create ns logs
    
    $ helm repo add elastic https://helm.elastic.co
    
    #修改values.yaml文件中pv为storageClass动态分配
    
     volumeClaimTemplate:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "managed-nfs-storage"
      resources:
        requests:
          storage: 30Gi
    $ helm install -n elasticsearch --namespace=logs ./elasticsearch
    

    查看状态

    2.安装kibana

    $ helm fetch elastic/kibana
    
    #修改values.yaml文件中service为nodePort类型
    
     service:
      type: NodePort
      port: 5601
      nodePort: 30056
    $ helm install -n kibana  --namespace=logs ./kibana
    

    查看状态

    3.安装filebeat

    $ helm fetch elastic/filebeat
    #默认读取的是节点/var/lib下的所有文件
    # Root directory where Filebeat will write data to in order to persist registry data across pod restarts (file position and other metadata).
    hostPathRoot: /var/lib
    
    $ helm install -n kibana  --namespace=logs ./kibana
    

     查看状态,因为是DaemonSet类型所以每台node都会装一个。

     

    使用

    登录kibana,创建index

    可以过滤日志

  • 相关阅读:
    第三方登陆--新浪
    YII2.0邮箱发送
    MYSQL 数据库实现远程连接
    MEMCACHE所有方法及参数详解
    把时间转成适合符合日常习惯的格式【js】
    mvc的自带json序列化的datetime在js中的解析
    如何在word中的第3+n页处插入页面并重新从1开始
    古怪的运算符=+
    【摘录】某表含有N个字段超精简模糊查询方法
    C#中快速释放内存,任务管理器可查证
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/11127417.html
Copyright © 2020-2023  润新知