[转帖]awk高级企业级使用案例

awk,高级,企业级,使用,案例 · 浏览次数 : 0

小编点评

**日志分析:** ``` 2018-07-11 11:49:22.413 INFO 29244 --- [TW_safeclound_elec_line_v-1531280885818] c.s.s.s.l.TimeoutInvokeMethodAspect &     : 消费处理耗时: 10148 ms, method=ConsumerElecLineVDataListener.lineVData(..), args={\"addr\":\"11111118\",\"bid\":\"QQBE\",\"cid\":\"BLWY\",\"dataType\":\"ELE_R_LV\",\"id\":\"11111118,85,117,ELE_R_LV,1531280962413\",\"lineAB\":396.77,\"lineBC\":395.75,\"lineCA\":396.42,\"meterType\":\"117\",\"order\":\"85\",\"timestamp\":1531280951758}2. 2018-07-14 22:59:40.163 [TW_safeclound_largestDemand-1531512341755] 441 ms,2018-07-14 22:59:40.516 [TW_safeclound_rate_v-1531512332686] 363 ms,2018-07-14 22:59:40.665 [TW_safeclound_rate_i-1531512317893] 375 ms,2018-07-14 22:59:40.866 [TW_safeclound_water-1531512518874] 332 ms,...3. ``` **分析:** * 2018 年 7 月 11 日 11:49:22 的消费处理耗时为 10148 ms。 * 2018 年 7 月 14 日 22:59:40 的消费处理耗时为 441 ms、363 ms、375 ms和 332 ms。 * 2018 年 7 月 14 日 22:59:40 的消费主题是 “largestDemand”。 **结论:** 消费处理的效率可能因不同的主题而有所不同。 2018 年 7 月 11 日,“largestDemand” 主题的消费处理效率比 “elecLineVDataListener” 主题低。

正文

https://www.jianshu.com/p/e36176ad3c06

 

一、背景:

       以某物联网企业,传感器设备实时数据消费服务(Kafka-consumer)为例,调试筛选处理耗时的主题。

1. 原始日志格式(logback输出的):

2018-07-11 11:49:22.413  INFO 29244 --- [TW_safeclound_elec_line_v-1531280885818] c.s.s.s.l.TimeoutInvokeMethodAspect      : 消费处理耗时: 10148 ms, method=ConsumerElecLineVDataListener.lineVData(..), args={"addr":"11111118","bid":"QQBE","cid":"BLWY","dataType":"ELE_R_LV","id":"11111118,85,117,ELE_R_LV,1531280962413","lineAB":396.77,"lineBC":395.75,"lineCA":396.42,"meterType":"117","order":"85","timestamp":1531280951758}

2. 使用tail+awk命令进行耗时执行方法筛选:

[root@web-prod ~]# tail -f /mnt/disk1/sink/logs/sink.log|grep 耗时| awk -F ' ' '$10>200 && $10<500{print $1,$2,$6,$10,$11}'

2018-07-14 22:59:40.163 [TW_safeclound_largestDemand-1531512341755] 441 ms,

2018-07-14 22:59:40.516 [TW_safeclound_rate_v-1531512332686] 363 ms,

2018-07-14 22:59:40.665 [TW_safeclound_rate_i-1531512317893] 375 ms,

2018-07-14 22:59:40.866 [TW_safeclound_water-1531512518874] 332 ms,

...

3. 注释:

a. 其中 awk的 -F 参数表示:日志字符串分隔符,默认为 ' ' 空格;

b. $10>100 表示我要筛选耗时大于 100 毫秒的日志;

c. {print $1,$2,$6,$10,$11} 表示打印被awk分隔后的 第1段(日期)、第2段(时间)、第6段(主题)、第10段(耗时)、第11段字符串(耗时单位);

d. 其中 $10>200 && $10<500 表示我要筛选耗时在200~500之前的消费主题;

与[转帖]awk高级企业级使用案例相似的内容:

[转帖]awk高级企业级使用案例

https://www.jianshu.com/p/e36176ad3c06 一、背景: 以某物联网企业,传感器设备实时数据消费服务(Kafka-consumer)为例,调试筛选处理耗时的主题。 1. 原始日志格式(logback输出的): 2018-07-11 11:49:22.413 INFO

[转帖]SHELL—— awk两个特殊模式(BEGIN 和 END)及awk高级应用(条件判断、循环)

一、Awk 的两个特殊模式 BEGIN 和 END,BEGIN 被放置在没有读取任何数据之前,而 END 被放置在所有的数据读取完成以后执行体现如下: BEGIN{}: 读入第一行文本之前执行的语句,一般用来初始化操作 {}: 逐行处理 END{}: 处理完最后以行文本后执行,一般用来处理输出结果

【转帖】SQUID TIME_WAIT值过高引起的服务器被拖慢

https://www.diewufeiyang.com/post/895.html 查看TCP的连接状态值: # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' vi /etc/sysctl.conf 添加如

[转帖]awk提取某一行某一列的数据

https://www.jianshu.com/p/dbcb7fe2da56 1、提取文件中第1列数据 awk '{print $1}' filename > out.txt 2、提取前2列的文件 awk `{print $1,$2}' filename > out.txt 3、打印完第一列,然后打

[转帖]awk 中 FS的用法

https://www.cnblogs.com/rohens-hbg/p/5510890.html 在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /

[转帖]awk 文本处理

https://juejin.cn/post/6844903860629143559 awk 文本处理 awk 是一种样式扫描和处理语言,使用 Linux 的 awk 命令可以高效快捷地进行文本处理。awk 扫描文本的每一行并执行指定的命令。 awk 诞生于 1977 年,借鉴了 C 语言等编程语言

[转帖]awk——getline

http://t.zoukankan.com/panscience-p-4685698.html A.getline从整体上来说,应这么理解它的用法: 当其左右无重定向符 | 或 < 时,getline作用于当前文件,读入当前文件的第一行给其后跟的变量var 或$0(无变量);应该注意到,由于awk

[转帖]awk(五) 字符串函数(substr截取)

https://www.jianshu.com/p/bee599fabe85 1. substr(s,p) 返回字符串s中从p开始到最后部分 每一行从第101个字符开始截取到末尾awk '{print substr($0, 101)}' input.file 2. substr(s,p,n) 返回字

[转帖]awk(四) 字符串函数(gsub替换)

https://www.jianshu.com/p/d465f4dccbbe 1. gsub(r,s) 在整个$0中用s替代r 删除文件中所有逗号awk 'gsub(",", ""){print}' input.file# 注意gsub内部用双引号"" 2. gsub(r,s,t) 在整个t中用s替

[转帖]awk(三) 列运算

https://www.jianshu.com/p/b46f783832e3 1. 求每一行中指定列的最大/小值 awk '{m=0;for(x=5;x<=NF;x++)if($x>m) {m=$x};print m}' input.file # 求第5列到最后一列中每行的最大值 awk '{m=0