推荐一个小工具:flog
一直以来,小白在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_common
、apache_combined(Nginx)
、apache_error
、rfc3164
、rfc5424
、json
-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相关推荐
- 【开源一个小工具】一键将网页内容推送到Kindle
http://www.zijinxing.com/201412/124636.html 最近工作上稍微闲点,这一周利用下班时间写了一个小工具,其实功能挺简单但也小折腾了会. 工具名称:Simple S ...
- sql语句转linq的一个小工具
http://sqltolinq.com/home sql语句转linq的一个小工具 转载于:https://www.cnblogs.com/fumj/archive/2012/12/20/28258 ...
- aspose 转pdf表格大小乱了_自己写了一个小工具类:pdf转word,没有页数和大小限制,保真!...
昨天下午遇到一个问题,想把一个比较大的pdf转化为word,结果使用了各种工具都收费.想着干脆写一个小工具吧,一开始使用的python等等试了好几个网上的代码,结果全都失真.于是乎不得不花了一下午自己 ...
- 介绍一个小工具 Linqer
介绍一个小工具 Linqer 这些天写Linq挺烦人的,就上网搜搜可有什么好的sql转Linq的工具,咦,马上就看上了Linqer. 哈哈,介绍一下使用方法吧: 官方下载网站:http://sqlto ...
- 推荐一个小日本做的网站,超强震撼,创意绝对棒,真牛
推荐一个小日本做的网站,超强震撼,创意绝对棒,真牛 http://www.chihwaseon.com/english/frame_main.html 感觉是网上继"闲人之墓"后最 ...
- 【python小项目】用python写一个小工具——番茄钟
用python写一个小工具--番茄钟 最近听到朋友说在用番茄钟,有点兴趣也想下载一个来用用,后面仔细一想这玩意做起来也不难,索性自己顺手写一个算了,在这里也分享给大家了 一.功能简述 番茄钟即番茄工作 ...
- 制作一个小工具:自动生成“将特定枚举值转换成字符串的C++函数”的代码
需求 假设我有一种枚举类型: enum fruit_type {apple,banana,orange, }; 我时常会遇到需要将枚举值转换为字符串的情况,即我需要如下的函数: const char* ...
- python登录网站下载excel_写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?...
题目描述 我计划写一个小工具,爬取我账号里面的数据,采用requests登陆后,虽然可以正常登陆,但是无法下载里面Excel数据,麻烦大货帮我分析一下,怎么解决.我知道可能是权限问题,下载的时候需要带 ...
- b站在线解析_一个小工具,教你如何轻松下载B站上喜欢的视频!
朋友们,大家好! B站一直是我最喜欢的视频平台,没有之一!但是呢,看到喜欢的视频,只能收藏下来,万一哪天被删了就看不到啦,所以有什么好的办法保存到本地呢?今天就给大家分享一款下载B站视频的小工具呀,各 ...
最新文章
- Azure AI的又一里程碑,Neural TTS新模型呈现真人般情感饱满的AI语音
- 研究生第一篇科研论文常犯问题总结
- Calc3: Vector Fields
- [转载]Flash P2P 文件共享基础教程
- 交换机配置软件_如何配置远程登陆交换机?最简单的解释方式,一看就懂
- 数据结构之单项链表的操作
- phpsocket服务端和VC客户端通信实例
- php array分组,php数组分组简单例子
- 同步/异步阻塞/非阻塞
- Linux系统安装管理
- python土味情话_有哪些比较新的土味情话?
- 第三次被盗:Cream Finance 疑存在漏洞,价值1.3亿美元的密币失窃
- hdu 1818 It's not a Bug, It's a Feature!(位运算+bfs优先队列)
- Android NotificationManager详解
- 伪元素在父元素中居中_从ArrayList中移除元素
- 《MySQL必知必会》学习笔记——第九章(正则表达式)
- 随机过程的概念以及统计特性(读书笔记)
- com.itextpdf.text.exceptions.IllegalPdfSyntaxException: Unbalanced save/restore state operators
- 1t硬盘怎么分区最好_1TB的硬盘如何分区比较合理?
- CnOpenData上市公司及子公司名称数据简介
热门文章
- java前叉断裂_前交叉韧带断裂保守治疗经典病例
- CVE-2020-17518 Apache Flink 上传路径遍历漏洞复现
- 跨平台数据库ODB实战2-运行Hello Example
- 【最新方案】解决谷歌Chrome浏览器内置翻译功能无法使用问题
- windows下jenkins的安装
- js 获取get参数方法
- C++操作Word文档——插入分页符
- java基于Springboot+vue的药品销售商城 药品进销存系统 element
- 目标跟踪(2)GOTURN:基于深度学习的目标跟踪
- tail 上下_英语方位(上下.)单词