v2.0
v1.0
  1. Release Notes
    1. Release Notes - 2.0.2最新
    1. Release Notes - 2.0.1
    1. Release Notes - 2.0.0
  1. 产品介绍
    1. 产品简介
    1. 产品功能
    1. 产品优势
    1. 架构说明
    1. 应用场景
    1. 名词解释
  1. 安装指南
    1. 安装说明
    1. 需开放的端口
    1. All-in-One 模式
    1. Multi-Node 模式
    1. 在 Kubernetes 在线部署 KubeSphere
    1. 在 Kubernetes 离线部署 KubeSphere
    1. Master 和 etcd 节点高可用
    1. 存储安装配置说明
    1. 集群组件配置说明
    1. 安装负载均衡器插件
    1. 安装内置 Harbor
    1. 安装内置 GitLab
    1. 升级
    1. 访问 SonarQube 和 Jenkins 服务端
    1. 集群节点扩容
    1. 卸载
  1. 快速入门
    1. 入门必读
    1. 示例一 - 多租户管理快速入门
    1. 示例二 - 应用路由与服务示例
    1. 示例三 - 部署 MySQL
    1. 示例四 - 部署 Wordpress
    1. 示例五 - 创建简单任务
    1. 示例六 - 一键部署应用
    1. 示例七 - 设置弹性伸缩 (HPA)
    1. 示例八 - Source-to-Image
    1. 示例九 - Bookinfo 微服务的灰度发布
    1. 示例十 - 基于Spring Boot项目构建流水线
    1. 示例十一 - 图形化构建流水线
    1. 示例十二 - CI/CD 流水线(离线版)
    1. 示例十三 - 使用 Ingress-Nginx 进行灰度发布
  1. 管理员指南
    1. 多租户管理
      1. 多租户管理概述
      2. 角色权限概览
    1. 平台管理
      1. 企业空间管理
      2. 账号管理
      3. 平台角色
    1. 基础设施
      1. 服务组件
      2. 主机管理
      3. 存储类型
    1. 监控中心
      1. 监控概述
      2. 如何利用监控定位问题
      3. 集群状态监控
      4. 应用资源监控
      5. 监控策略 - 节点级别
      6. 监控消息 - 节点级别
    1. 平台设置
      1. 应用仓库
      2. 基于本地仓库搭建应用仓库部署Redis
      3. 上传应用到 KubeSphere 官方仓库
      4. 基于 GitHub 搭建自有应用仓库
      5. 邮件服务器
      6. 日志收集
      7. 添加 Fluentd 作为日志接收者
      8. 添加 Kafka 作为日志接收者
    1. 工具箱
      1. Web Kubectl
      2. 日志收集
    1. 通用配置
      1. 系统配置修改
      2. 上传镜像至 Harbor
      3. Jenkins 系统设置
    1. FAQ
      1. DevOps 运维FAQ
  1. 用户指南
    1. 应用
      1. 应用模板
      2. 自制应用
      3. 流量治理
      4. 熔断
    1. 工作负载
      1. 工作负载概述
      2. 部署
      3. 有状态副本集
      4. 守护进程集
      5. 任务
      6. 定时任务
      7. 设置健康检查器
      8. 工作负载管理
      9. 自定义 S2i 模板
    1. 存储
      1. 存储概述
      2. 存储卷
      3. Local Volume 使用方法
    1. 网络与服务
      1. 服务管理
      2. 灰度发布
      3. 应用路由
    1. 监控告警
      1. 告警策略 - 工作负载级别
      2. 告警消息 - 工作负载级别
    1. 配置中心
      1. 密钥
      2. 配置
      3. 镜像仓库
    1. 项目设置
      1. 基本信息
      2. 成员角色
      3. 项目成员
      4. 外网访问
    1. DevOps 工程
      1. DevOps 工程概述
      2. 管理 DevOps 工程
      3. 流水线
      4. 凭证管理
      5. 添加代码仓库
      6. 访问 SonarQube 并创建 Token
      7. 设置自动触发扫描
      8. Jenkins Agent 说明
      9. 流水线常见问题
  1. API 文档
    1. API 文档
    1. 如何调用 API
    1. API 常用术语对照
    1. 监控指标说明
  1. 常见问题
    1. 安装常见问题
    1. 存储常见问题
    1. 控制台使用常见问题
    1. DevOps 常见问题
  1. 附录
    1. 部署 Ceph 存储服务端
    1. 部署 GlusterFS 存储服务端
    1. 云平台配置端口转发和防火墙
KubeSphere®️ 2020 All Rights Reserved.

日志查询

应用日志的收集、分析和监控是日常运维工作中非常关键的部分,妥善地处理应用日志收集也是应用容器化的一个重要主题。KubeSphere 提供了非常强大且易用的日志管理功能比如多租户日志管理、多级别日志查询 (项目/工作负载/容器组/容器以及关键字)、灵活方便的日志收集配置选项等。在 KubeSphere 的日志查询系统中,不同的租户只能看到属于自己的日志信息,而 Kibana 虽然强大,但是它无法区分不同租户的日志,用户只能在整个集群范围内查看和搜索日志,并且 Kibana 中展现的 Kubernetes 日志包含了很多无关的信息。

日志查询演示视频

日志系统架构

KubeSphere 的日志系统目前是通过 FluentBit Operator 在集群的所有节点上统一部署和配置 Fluent Bit,由 Fluent Bit 进行收集所有容器的日志信息,然后直接传到 Elasticsearch,集群管理员也可以指定 Kafka 或 Fluentd 等存储、消息队列中。

  • FluentBit-operator 以 DaemonSet 方式在每个节点上运⾏⼀个实例,节点物理机的 /var/log/containers 目录映射到 FluentBit-operator 容器中。 FluentBit-operator 的 Input 插件 tail 主机映射到容器的 log 日志文件,Output 插件依据配置,将采集到的⽇志信息发送到 ElasticSearch、Kafka 等存储、消息队列中。

  • Elasticsearch 以 StatefulSet 的方式部署在集群中,输出插件依据⽇志信息。在 Elasticsearch 创建对应的 Index (默认是⼀天的日志一个 Index),为 Kubernetes ⽇志创建指定格式的 mapping ,并向其中写⼊日志信息。

  • Elasticsearch Curator 以 CronJob 的形式,定时运行并删除过期的日志信息,删除方式为删除过期的 Index (⼀个 Index 存放⼀天的日志信息),默认存放⽇志的时间⻓度为 1 周,支持修改其默认存放时间。

  • 最终的日志信息可通过 KubeSphere 日志查询的可视化界面,提供用户对 Elasticsearch 数据的查询、分析、统计等操作。

日志查询

KubeSphere 支持所有用户进行日志查询,登录 KubeSphere 后,点击右下角的小锤子图标,选择 日志查询

日志查询

在弹窗的日志查询页面,即可看到搜索框和日志总数的变化趋势。目前支持以下几种查询规则,其中关键字查询可通过 “Error” “Fail” “Fatal” “Exception ” “Warning” 等关键字查找错误日志,查询条件支持组合规则查询,并支持精确匹配和模糊匹配。

  • 关键字
  • 项目名称
  • 工作负载名称
  • 容器组名称
  • 容器名称
  • 时间范围

查询规则

查询支持自定义时间范围,默认可查询近 7 天的日志信息,也可以修改日志保留的时间。

时间范围

日志查询示例

例如,查询在最近 1 小时内,kubesphere-system 项目中包含 error 关键字的日志信息,返回了 22 条搜索结果。

搜索日志

用户可以看到相应日志的收集时间、所属项目、容器组和容器等信息。

点击其中一条日志条目,可查看该项目具体的容器日志信息,包含这条日志相关的上下文信息,用户可以在这个页面查看这条错误发生时所在容器的上下文日志,这里的日志具体信息可以帮助用户快速的定位和分析问题。

提示:日志查询支持动态加载,刷新频率为 5 秒、10 秒或 15 秒。

查看日志

可以看到在日志查询详情页面左侧有元数据的选项。用户可以在容器一栏选择其他容器,或者同一个容器组中的全部容器;还可以选择同一个项目下的其他容器组或所有容器组,这样就可以看到是否其他容器或容器组会对当前错误产生影响了。日志的错误有可能会和 CPU,内存等的用量有关系,比如内存不够。

查看日志

支持一键定位

若通过日志输出信息发现问题后,用户可以一键跳转容器、容器组、项目的详情页,进一步查看监控信息和资源状态。同时,用户可以在容器的详情页进入容器终端定位问题。

  • 单击项目也可以转到项目页面查看相应监控信息;
  • 点击元信息相应容器/容器组右侧的定位按钮,就可以转到相应的容器/容器组页面。

查看容器