通常情况下,Kubernetes 环境下的应用日志都需要通过日志系统来进行收集,比如:Filebeat + ElasticSearch + Kibana 的组合来实现。虽然这一组合的功能相当强大,但是在一些比较简陋的测试集群中,或者不具备浏览器条件的自动化/控制台环境下,自动合并多个 Pod 中的日志进行集中的查看,对处理问题和调试故障还是很有大帮助的。

今天,我们就给大家介绍两款超好用的多容器实时日志查看工具 Stern 和 Kubetail。

Stern

Kubectl 本身的 Log 命令是不支持同时查看多个 Pod 容器中的日志,Stern 很好的解决了这个问题, 它除了可以同时 tail 多个容器的日志之外, 还支持以下一些强大的功能:

  • 允许使用正则表达式来选择需要 tail 的 PodName
  • 自定义不同 Pod 的日志输出的颜色
  • 自动添加符合规则的新创建 Pod 并进行 tail
  • ....

项目地址:

安装 Stern

Stern 使用 Go 语言开发,安装非常简单,开箱即用。你只需下载对应平台相关的二进制预编译安装包,就可以使用了。

以 Linux 平台为例:

$ wget /releases/download/1.11.0/stern_linux_amd64  $ chmod +x stern_linux_amd64  $ mv stern_linux_amd64 /usr/local/bin 

如果你使用的是 macOS,可以直接 Homebrew 进行安装。

$ brew install stern 

使用 Stern

Stern 支持的功能很多,用法也很丰富。下面我们来看几个比较常用的例子:

1.  实时查看当前 Namespace 中所有 Pod 中所有容器的日志

$ stern  . 

2.  实时查看 Pod 中指定容器的日志

$ stern envvars --container gateway 

3.  实时查看指定命名空间中除指定容器外的所有容器的日志

$ stern -n staging --exclude-container istio-proxy . 

4.  实时查看指定时间范围内容器的日志,下面的例子表示是 15 分钟内

$ stern auth -t --since 15m 

5.  实时查看指定命名空间中容器的日志

$ stern kubernetes-dashboard --namespace kube-system 

6.  实时查看所有命名空间中符合指定标签容器的日志

$ stern --all-namespaces -l run=nginx 

更多用法,可参考「官方文档」。

Kubetail

Kubetail 是一个 Shell 脚本,它可以将多个 Pod 的日志合并到一起,并支持彩色输出。

项目地址:

安装 Kubetail

由于 Kubetail 只是一个 Shell 脚本,直接下载后便可使用。

$ wget   $ chmod +x kubetail  $ cp kubetail /usr/local/bin 

如果你使用的是 macOS,也可以直接 Homebrew 进行安装。

$ brew tap johanhaleby/kubetail && brew install kubetail 

Kubetail 还支持各种 SHELL 管理框架,比如:Oh-my-zsh、Antigen 等,具体安装方法可参考「官方安装文档」。

使用 Kubetail

Kubetail 使用也是非常简单的,基本语法如下:

$ kubetail <search term> [-h] [-c] [-n] [-t] [-l] [-d] [-p] [-s] [-b] [-k] [-v] [-r] [-i]  

一些常用参数的解释:

-c:指定多容器 Pod 中的容器名称  -t:指定 Kubeconfig 文件中的 Context  -l:标签过滤器,使用 -l 参数之后,会忽略 Pod 名称  -n:指定命名空间  -s:指定返回一个相对时间之后的日志,例如 5s,2m 或者 3h,缺省是 10s  -b:是否使用 line-buffered,缺省为 false  -k:指定输出内容的具体着色部分,pod:只给 pod 名称上色,line:整行上色(缺省),false:不上色 

一些使用实例:

$ kubetail my-pod-v1  $ kubetail my-pod-v1 -c my-container  $ kubetail my-pod-v1 -t int1-context -c my-container  $ kubetail '(service|consumer|thing)' -e regex  $ kubetail -l service=my-service  $ kubetail --selector service=my-service --since 10m  $ kubetail --tail 1 

至此,两种超实用的多容器实时日志查看工具就介绍完了。

【编辑推荐】

【责任编辑:

庞桂玉

TEL:(010)68476606】

点赞 0

kibana 查看索引库中文档个数_两款超好用的Kubernetes实时日志查看工具相关推荐

  1. kibana 查看索引库中文档个数_百度索引量是什么意思?和百度收录量的区别。...

    百度索引量表示所有网名最多会从百度看到的这个网站页面数量,用官方的话来说就是可以被搜索用户搜索到的网站数据库. 百度索引量是什么意思? 百度索引量表示所有网名最多会从百度看到的这个网站页面数量,用官方 ...

  2. 微服务03 分布式搜索引擎 elasticsearch ELK kibana RestAPI 索引库 DSL查询 RestClient 黑马旅游

    分布式搜索引擎01 -- elasticsearch基础 0.学习目标 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是 ...

  3. ES查看索引库结构和数据

    结构 #查看索引库 grid_cell_0代表索引库的名称 GET /grid_cell_0 数据 #查询索引库数据 grid_cell_0为索引库名称,_search固定,pretty是格式化数据 ...

  4. 台灯的内置和外置是什么意思_两款米家台灯:1S/Lite对比简评

    前一阵子GG家里的台灯坏了,就想换个新的.本来是想买米家台灯1S的,结果不小心下错了单买了个Lite版,等到发现的时候已经发货了来不及取消了,想想Lite版80的显色指数可能以后拍产品图不太够用,干脆 ...

  5. kibana操作elasticsearch:查看索引库数据

  6. 查看电脑重启日志_系统日志看硬盘故障图文教程,电脑日志查看磁盘硬盘坏道问题方法...

    大家好,我是老盖,感谢观看本篇文章,本文做的也有视频,也可以看我发布的视频. 今天和大家讲一下通过电脑的系统日志,判断硬盘是否有问题的一个方法,最近这几天我这个电脑偶尔会卡一下,有的时候还会蓝屏,判断 ...

  7. java 两份文档相似性_两个数据集之间的相似百分比

    How to find the similarity (not correlation) between two datasets? 我无法找到匹配数据集之间的相似性 . 我有一个主数据集,我想测试相 ...

  8. c#二叉树 取叶子节点个数_两种类似但是原理不同的算法求二叉树的所有叶子节点和...

    技术提高是一个循序渐进的过程,所以我讲的leetcode算法题从最简单的level开始写的,然后到中级难度,最后到hard难度全部完. 目前我选择C语言,Python和Java作为实现语言,因为这三种 ...

  9. wps分析工具库如何加载_【数据分析】关键词数据分析如何做?用这个工具比指数好...

    关键词数据分析到底如何做?用这个工具比指数好 近期比较多的运营伙伴们问我:经常用百度指数.阿里指数.关键词工具等做关键词分析,但都不理想,且不知道如何分析.传统的数据报告都有,但不知道从哪些维度去形成 ...

最新文章

  1. 结对编程项目作业-设计文档
  2. STM32H743+CubeMX-ADC(16bit分辨率)+DMA采样三路模拟量,硬件过采样器实现1024倍过采样
  3. oracle数据库数据消失,,保存在数据库里的数据莫名其妙的消失
  4. kali linux 桌面消失_Kali安装好后,需要修改的一些常用配置
  5. 完美数Python解法
  6. 直播电商系统源码 直播系统源码
  7. 简述5G技术在远程医疗应用
  8. 如何解决Windows10系统空闲时间CPU占用高,风扇很响的问题?
  9. LeetCode 古生物血缘远近判定 ( dp )
  10. 兔子繁衍问题—c语言
  11. mysql排序的四种方式
  12. 如何绕过图片格式限制上传木马获取WebShell
  13. S32K144(18)LPI2C
  14. 衡水中学2021年的高考成绩查询,2021年全国百强高中排名,它拥有90%一本升学率,超衡水中学成第一...
  15. 送福利 手把手教你快速配置腾讯云 Linux 服务器
  16. 泄露libc库、shellcode、__libc_csu_init
  17. 股票打板 知识 收集
  18. oxygen 生成java对象_利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析...
  19. PMP知识点总结-第十一章:项目风险管理
  20. 超实用的企业公众号运营方案分享,建议收藏

热门文章

  1. KNN算法原理与简单实现
  2. 图标字体放大,就TM叫“长辈模式”??
  3. 位运算符(左移右移)
  4. 【mac os】安装windows YY
  5. 怎样编写高质量的Java代码
  6. 为什么穷人大多不敢创业?
  7. 怎么把video文件改成mp4_如何将QLV格式(腾讯视频)转换成MP4视频?
  8. 【腾讯TMQ】由全民吃鸡引发的网游加速学习总结
  9. java计算机毕业设计-公益劳动招募管理系统-源程序+mysql+系统+lw文档+远程调试
  10. 气象站维护的三大问题