在linux中使用shell来分析统计日志中的信息
来源:互联网 发布:php开发工程师简历 编辑:程序博客网 时间:2024/06/11 19:02
在运维工作中,要经常分析后台系统的日志,通过抓取日志中的关键字信息,对抓取结果进行统计,从而为监控结果提供基础数据。
下面的shell演示了如何从大量的日志中取得想要的统计结果。其中展示了各种有趣的命令和shell的用法。
具体功能就是统计出某个关键字在不同时段的出现次数。结果格式为“HH 次数”
#!/bin/sh
# 取得YYYYMMDD格式的日期,以确定所要抓取的日志文件范围
current_date=`date "+%Y%m%d"`;
# 拼接组成需要抓取的日志文件名称
file_name=$current_date"*all*";
# 在一批日志文件中查找某个关键字,并将查找结果形成一个临时文件。
# 临时文件的结果格式为:文件名:日志内容
#./pmclog/20171020_all_000000.log:00:00:00.876652|D|38|0327|get|CAccumulate.cpp|delete main
grep 'delete main' ./pmclog/$file_name >> term_del.log;
# 从临时文件中取得时段信息,该信息是原始日志内容的前两个字符,并将结果保存到临时文件中
# 如果需要其他信息,那么就需要修改awk的命令参数了。
awk -F ':' '{print $2}' term_del.log >> term_del_hour.log;
rm term_del.log;
rm term_del_hour_times.log;
# 取得当前的时段
hour=`date "+%H"`;
# 使用循环,对今天的每个时段进行统计
for(( i=0; i<= $hour; i++))
do
# 作为数字的时候,变量i的前面是没有0的,这里要格式化出来一个0来,0点就是“00”,这样可以与临时文件中的信息相匹配
hour2=$(printf '%02d' $i);
# 使用 grep -o 和 wc -l的结合操作,就可以统计一个特定字符在文件中出现的次数。
# 在前面使用echo 可以标记出来每一个次数是哪个时段的数据
# 最终的term_del_hour_times.log就是最终的结果文件。
echo $hour2 `grep -o $hour2 term_del_hour.log | wc -l` >> term_del_hour_times.log;
done;
rm term_del_hour.log ;
下面的shell演示了如何从大量的日志中取得想要的统计结果。其中展示了各种有趣的命令和shell的用法。
具体功能就是统计出某个关键字在不同时段的出现次数。结果格式为“HH 次数”
#!/bin/sh
# 取得YYYYMMDD格式的日期,以确定所要抓取的日志文件范围
current_date=`date "+%Y%m%d"`;
# 拼接组成需要抓取的日志文件名称
file_name=$current_date"*all*";
# 在一批日志文件中查找某个关键字,并将查找结果形成一个临时文件。
# 临时文件的结果格式为:文件名:日志内容
#./pmclog/20171020_all_000000.log:00:00:00.876652|D|38|0327|get|CAccumulate.cpp|delete main
grep 'delete main' ./pmclog/$file_name >> term_del.log;
# 从临时文件中取得时段信息,该信息是原始日志内容的前两个字符,并将结果保存到临时文件中
# 如果需要其他信息,那么就需要修改awk的命令参数了。
awk -F ':' '{print $2}' term_del.log >> term_del_hour.log;
rm term_del.log;
rm term_del_hour_times.log;
# 取得当前的时段
hour=`date "+%H"`;
# 使用循环,对今天的每个时段进行统计
for(( i=0; i<= $hour; i++))
do
# 作为数字的时候,变量i的前面是没有0的,这里要格式化出来一个0来,0点就是“00”,这样可以与临时文件中的信息相匹配
hour2=$(printf '%02d' $i);
# 使用 grep -o 和 wc -l的结合操作,就可以统计一个特定字符在文件中出现的次数。
# 在前面使用echo 可以标记出来每一个次数是哪个时段的数据
# 最终的term_del_hour_times.log就是最终的结果文件。
echo $hour2 `grep -o $hour2 term_del_hour.log | wc -l` >> term_del_hour_times.log;
done;
rm term_del_hour.log ;
阅读全文
0 0
- 在linux中使用shell来分析统计日志中的信息
- shell统计日志信息
- 使用shell命令分析统计日志
- Linux Shell 搜索日志文本信息,并统计,实战
- 使用shell脚本和系统日志来统计并发数
- 使用linux命令统计log4j业务日志信息
- 启动Spark Shell,在Spark Shell中编写WordCount程序,在IDEA中编写WordCount的Maven程序,spark-submit使用spark的jar来做单词统计
- 在linux shell中使用ftp命令来实现自动上传与下载
- 在linux shell中使用ftp命令来实现自动登陆、上传与下载
- 在linux shell中使用ftp命令来实现自动上传与下载
- log4c日志库在Linux中的使用
- -----log4c日志库在Linux中的使用 -------------
- log4c日志库在Linux中的使用
- linux shell 统计项目目录存储信息
- 在DB2优化器中使用分布统计信息
- 在 DB2 优化器中使用分布统计信息
- 使用taglib来提取在音乐文件中的封面信息
- shell 日志分析 获取code的统计——grep awk group功能使用
- 计算机图形学-旋转彩色正方体
- OOP+AOP=高效+高效
- Java Date时间的处理-Date工具类
- 获取数据库中的增量数据
- virtual box安装win7教程及资源
- 在linux中使用shell来分析统计日志中的信息
- websocket--简易版
- 系统自带的泛型委托Action<>,Func<>, Predicate<>.
- 腾讯云服务器挂载云硬盘
- NSString 使用 copy 关键字和 strong 关键字修饰的异同
- Java 发送http请求 HttpURLConnection
- source insight 4 安装及使用中的问题
- 正则表达式中各种字符的含义
- file compare