一直以来,小白在Kubernetes集群中测试Loki的日志采集都是在容器内执行echo命令输出到控制台。这种方式操作起来既不方便无法大规模做日志测试。直到小白遇到一个好用的日志输出小工具flog。

flog是一个golang开发的测试日志生成器,它可以生成一些常见(如Apache、Nginx、RFC3164或Json)格式的日志

在Mac下用homebrew可以直接安装

brew tap mingrammer/flog
brew install flog

或者直接用docker来运行

docker run -it --rm mingrammer/flog

参数

先来看看flog的几个有用参数

-f, 日志格式

指定日志的输出格式,目前可用的参数有apache_commonapache_combined(Nginx)apache_errorrfc3164rfc5424json

-t, 日志输出类型

指定日志的输出方式,默认是输出到stdout,也可以指定为log(文件)或者gz(压缩日志)两种格式

-o, 日志文件路径

指定日志的输出路径,当日志类型是log时,就需要指定日志的输出文件路径

-n, 日志输出行数
-b, 日志输出空间,默认单位是byte
-s, 每行日志间隔时间
-d, 日志生产速度

这个参数用来控制每条日志的生产速度,默认单位是秒,我们可以用0.01来表示10毫秒

-l, 持续循环输出

这个参数让工具持续按照现有参数循环输出日志,直到收到KILL信号量停止

场景

  • 一次性输出10行日志
docker run -it --rm  mingrammer/flog -n 10

  • 一次性输出10行日志,每行日志间隔1s
docker run -it --rm  mingrammer/flog -n 10 -s 2

  • 每0.5s产生一条日志,总共输出10行,每行日志间隔1s
docker run -it --rm  mingrammer/flog -n 10 -s 1 -d 0.5

  • 持续每0.5s产生一条日志,每行日志间隔1s,日志格式为Nginx
docker run -it --rm  mingrammer/flog  -s 1 -d 0.5 -f apache_combined -l

如果你觉得这种涓涓细流的日志不过瘾,你也可以来点大的,比如一次输出100MB的日志

docker run -it --rm  mingrammer/flog  -b 102400000 > fake.log

你甚至可以将容器编排下用DaemonSet在K8S的每个节点上运行,这样既能控制整体日志的输出速率,也能对日志采集和后端存储做持续观察。

apiVersion: apps/v1
kind: DaemonSet
metadata:labels:app: fake-logname: fake-log
spec:selector:matchLabels:app: fake-logtemplate:metadata:labels:app: fake-logspec:containers:- args:- -f- apache_combined- -l- -d- "0.01"image:  mingrammer/flog:latestimagePullPolicy: IfNotPresentname: fakelogdnsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulertolerations:- operator: Exists

最终我们就可以通过调整flog参数来实现对集群内日志整体输出的控制


关注公众号「云原生小白」,获取更多精彩内容

推荐一个小工具:flog相关推荐

  1. 【开源一个小工具】一键将网页内容推送到Kindle

    http://www.zijinxing.com/201412/124636.html 最近工作上稍微闲点,这一周利用下班时间写了一个小工具,其实功能挺简单但也小折腾了会. 工具名称:Simple S ...

  2. sql语句转linq的一个小工具

    http://sqltolinq.com/home sql语句转linq的一个小工具 转载于:https://www.cnblogs.com/fumj/archive/2012/12/20/28258 ...

  3. aspose 转pdf表格大小乱了_自己写了一个小工具类:pdf转word,没有页数和大小限制,保真!...

    昨天下午遇到一个问题,想把一个比较大的pdf转化为word,结果使用了各种工具都收费.想着干脆写一个小工具吧,一开始使用的python等等试了好几个网上的代码,结果全都失真.于是乎不得不花了一下午自己 ...

  4. 介绍一个小工具 Linqer

    介绍一个小工具 Linqer 这些天写Linq挺烦人的,就上网搜搜可有什么好的sql转Linq的工具,咦,马上就看上了Linqer. 哈哈,介绍一下使用方法吧: 官方下载网站:http://sqlto ...

  5. 推荐一个小日本做的网站,超强震撼,创意绝对棒,真牛

    推荐一个小日本做的网站,超强震撼,创意绝对棒,真牛 http://www.chihwaseon.com/english/frame_main.html 感觉是网上继"闲人之墓"后最 ...

  6. 【python小项目】用python写一个小工具——番茄钟

    用python写一个小工具--番茄钟 最近听到朋友说在用番茄钟,有点兴趣也想下载一个来用用,后面仔细一想这玩意做起来也不难,索性自己顺手写一个算了,在这里也分享给大家了 一.功能简述 番茄钟即番茄工作 ...

  7. 制作一个小工具:自动生成“将特定枚举值转换成字符串的C++函数”的代码

    需求 假设我有一种枚举类型: enum fruit_type {apple,banana,orange, }; 我时常会遇到需要将枚举值转换为字符串的情况,即我需要如下的函数: const char* ...

  8. python登录网站下载excel_写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?...

    题目描述 我计划写一个小工具,爬取我账号里面的数据,采用requests登陆后,虽然可以正常登陆,但是无法下载里面Excel数据,麻烦大货帮我分析一下,怎么解决.我知道可能是权限问题,下载的时候需要带 ...

  9. b站在线解析_一个小工具,教你如何轻松下载B站上喜欢的视频!

    朋友们,大家好! B站一直是我最喜欢的视频平台,没有之一!但是呢,看到喜欢的视频,只能收藏下来,万一哪天被删了就看不到啦,所以有什么好的办法保存到本地呢?今天就给大家分享一款下载B站视频的小工具呀,各 ...

最新文章

  1. Azure AI的又一里程碑,Neural TTS新模型呈现真人般情感饱满的AI语音
  2. 研究生第一篇科研论文常犯问题总结
  3. Calc3: Vector Fields
  4. [转载]Flash P2P 文件共享基础教程
  5. 交换机配置软件_如何配置远程登陆交换机?最简单的解释方式,一看就懂
  6. 数据结构之单项链表的操作
  7. phpsocket服务端和VC客户端通信实例
  8. php array分组,php数组分组简单例子
  9. 同步/异步阻塞/非阻塞
  10. Linux系统安装管理
  11. python土味情话_有哪些比较新的土味情话?
  12. 第三次被盗:Cream Finance 疑存在漏洞,价值1.3亿美元的密币失窃
  13. hdu 1818 It's not a Bug, It's a Feature!(位运算+bfs优先队列)
  14. Android NotificationManager详解
  15. 伪元素在父元素中居中_从ArrayList中移除元素
  16. 《MySQL必知必会》学习笔记——第九章(正则表达式)
  17. 随机过程的概念以及统计特性(读书笔记)
  18. com.itextpdf.text.exceptions.IllegalPdfSyntaxException: Unbalanced save/restore state operators
  19. 1t硬盘怎么分区最好_1TB的硬盘如何分区比较合理?
  20. CnOpenData上市公司及子公司名称数据简介

热门文章

  1. java前叉断裂_前交叉韧带断裂保守治疗经典病例
  2. CVE-2020-17518 Apache Flink 上传路径遍历漏洞复现
  3. 跨平台数据库ODB实战2-运行Hello Example
  4. 【最新方案】解决谷歌Chrome浏览器内置翻译功能无法使用问题
  5. windows下jenkins的安装
  6. js 获取get参数方法
  7. C++操作Word文档——插入分页符
  8. java基于Springboot+vue的药品销售商城 药品进销存系统 element
  9. 目标跟踪(2)GOTURN:基于深度学习的目标跟踪
  10. tail 上下_英语方位(上下.)单词