zoukankan      html  css  js  c++  java
  • k8s 日志收集介绍

    1. 收集那些日志

    • k8s系统的组件日志
    • k8s cluster里面部署的应用程序日志
      • 标准输出
      • 日志文件

    2. elk stack日志收集方案

    • 架构图
      image

    image

    ELK 是三个开源软件的缩写,提供一套完整的企业级日志平台解决方案。
    分别是:

    • Elasticsearch:搜索、分析和存储数据
    • Logstash :采集日志、格式化、过滤,最后将数据推送到Elasticsearch存储
    • Kibana:数据可视化
    • redis:可以作为数据缓存做准备
    • Beats :集合了多种单一用途数据采集器,用于实现从边缘机器向Logstash 和Elasticsearch 发送数据。里面应用最多的是Filebeat,是一个轻量级日志采集器。

    3. 容器中的日志怎么收集的

    • 方案一:Node上部署一个日志收集程序

      • DaemonSet方式部署日志收集程序
      • 对本节点/var/log/kubelet/pods和/var/lib/docker/containers/两个目录下的日志进行采集
      • Pod中容器日志目录挂载到宿主机统一目录上

      1608887466709

    • 方案二:Pod中附加专用日志收集的容器

      • 每个运行应用程序的Pod中增加一个日志收集容器,使用emtyDir共享日志目录让日志收集程序读取到。
        image
    • 方案三:应用程序直接推送日志

      • 超出Kubernetes范围
        image

    4. 日志收集三种的优缺点

    方式 优点 缺点
    方案一:Node上部署一个日志收集程序 每个Node仅需部署一个日志收集程序,资源消耗少,对应用无侵入 应用程序日志如果写到标准输出和标准错误输出,那就不支持多行日志
    方案二:Pod中附加专用日志收集的容器 低耦合 每个Pod启动一个日志收集代理,增加资源消耗,并增加运维维护成本
    方案三:应用程序直接推送日志 无需额外收集工具 浸入应用,增加应用复杂度
  • 相关阅读:
    由于取消了脚本支持,无法查看访问统计,也办法放gg广告了,本站更新速度降低.
    关于ASP循环表格的问题之解答
    STL中map用法详解
    vector与list的区别
    mysql联合索引 sql索引使用
    如何让linux/Centos 32位支持大于4G内存
    mysql事务
    Mysql InnoDB中的查询事务模式与锁定select ..for update
    linux 查看系统版本
    如何在64位的Linux中运行32位的应用程序
  • 原文地址:https://www.cnblogs.com/scajy/p/15543410.html
Copyright © 2011-2022 走看看