免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1922 | 回复: 9
打印 上一主题 下一主题

[文本处理] awk脚本 求助 谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-21 11:12 |只看该作者 |倒序浏览
我有很多类似这样的nagios记录,时间是从0点0分0秒 到 23:59:59
关键字是  DOWN WARNING CRITICAL,有这些字样的记录就会发出告警短信。

[Sun Apr 13 12:47:09 2014] HOST ALERT: check_North;DOWN;SOFT;1;(Host check timed out after 30.00 seconds)
[Sun Apr 13 12:47:10 2014] HOST ALERT: 242.103;DOWN;HARD;2;(Host check timed out after 30.00 seconds)
[Sun Apr 13 12:47:10 2014] HOST NOTIFICATION: xiaofei;242.103;DOWN;notify-host-by-email;(Host check timed out after 30.00 seconds)
[Sun Apr 13 12:47:13 2014] HOST ALERT: dx-144.23;DOWN;SOFT;1;(Host check timed out after 30.00 seconds)
[Sun Apr 13 12:47:13 2014] HOST ALERT: 242.109;DOWN;SOFT;1;(Host check timed out after 30.00 seconds)
[Sun Apr 13 12:47:16 2014] HOST ALERT: IIS242.209;DOWN;SOFT;1;(Host check timed out after 30.00 seconds)
[Sun Apr 13 12:47:17 2014] HOST ALERT: 242.220;DOWN;SOFT;1;(Host check timed out after 30.00 seconds)
[Sun Apr 13 15:15:41 2014] SERVICE ALERT: dx-144.8;checkPro-hqc;WARNING;SOFT;1;No data was received from host!
[Sun Apr 13 18:57:48 2014] SERVICE ALERT: IIS242.240;checkping;WARNING;SOFT;1ING WARNING - Packet loss = 60%, RTA = 46.90 ms
[Sun Apr 13 18:57:51 2014] SERVICE ALERT: 242.103;checkping;WARNING;SOFT;1ING WARNING - Packet loss = 50%, RTA = 41.30 ms
[Sun Apr 13 18:57:52 2014] SERVICE ALERT: 242.110;checkping;WARNING;SOFT;1ING WARNING - Packet loss = 50%, RTA = 40.53 ms
[Sun Apr 13 18:58:14 2014] SERVICE ALERT: 242.109;check-host-alive;WARNING;SOFT;1ING WARNING - Packet loss = 81%, RTA = 43.89 ms
[Sun Apr 13 18:58:15 2014] SERVICE ALERT: dx-144.8;check-c-disk;WARNING;SOFT;1;No data was received from host!
[Sun Apr 13 18:58:32 2014] SERVICE ALERT: 242.103;checkping;WARNING;SOFT;2ING WARNING - Packet loss = 70%, RTA = 42.57 ms
[Sun Apr 13 18:58:33 2014] SERVICE ALERT: 242.110;checkping;WARNING;SOFT;2ING WARNING - Packet loss = 80%, RTA = 44.41 ms
[Sun Apr 13 18:58:38 2014] SERVICE ALERT: js-144.28;checkPro-hqc;WARNING;SOFT;1;No data was received from host!
[Sun Apr 13 18:58:52 2014] SERVICE ALERT: IIS242.209;checkCPU;WARNING;SOFT;2;could not fetch information from server
[Sun Apr 13 18:58:55 2014] SERVICE ALERT: IIS242.240;check-host-alive;WARNING;SOFT;1ING WARNING - Packet loss = 81%, RTA = 43.90 ms
[Sun Apr 13 18:58:06 2014] SERVICE ALERT: 242.108;check6501;CRITICAL;SOFT;1;Connection timed out
[Sun Apr 13 18:58:07 2014] SERVICE ALERT: dx-144.23;CheckHqservice;CRITICAL;HARD;1;Using service TCP
[Sun Apr 13 18:58:07 2014] SERVICE ALERT: dx-144.12;check-d-disk;CRITICAL;SOFT;1;Connection timed out
[Sun Apr 13 18:58:10 2014] SERVICE ALERT: js-144.28;CheckHqservice;CRITICAL;HARD;1;Using service TCP
[Sun Apr 13 18:58:10 2014] SERVICE ALERT: dx-144.12;check-c-disk;CRITICAL;SOFT;1;Connection timed out
[Sun Apr 13 18:58:15 2014] SERVICE ALERT: js-144.28;checkCPU;CRITICAL;SOFT;1;Connection timed out
[Sun Apr 13 18:58:16 2014] SERVICE ALERT: dx-144.12;checkPro-hqc;CRITICAL;SOFT;1;Connection timed out
[Sun Apr 13 18:58:17 2014] SERVICE ALERT: dx-144.23;checkCPU;CRITICAL;SOFT;1;CRITICAL - Socket timeout after 30 seconds
[Sun Apr 13 18:58:19 2014] SERVICE ALERT: 242.108;check cpu load;CRITICAL;SOFT;1;CHECK_NRPE: Socket timeout after 10 seconds.
[Sun Apr 13 18:58:23 2014] SERVICE ALERT: dx-144.23;check-c-disk;CRITICAL;HARD;2;Connection timed out
[Sun Apr 13 18:58:26 2014] SERVICE ALERT: dx-144.8;checkPro-hqc;CRITICAL;SOFT;1;Connection timed out
[Sun Apr 13 18:58:30 2014] SERVICE ALERT: dx-144.23;checkCPU;CRITICAL;HARD;2;Connection timed out
[Sun Apr 13 18:58:31 2014] SERVICE ALERT: dx-144.7;check-c-disk;CRITICAL;HARD;2;Connection timed out
[Sun Apr 13 18:58:35 2014] SERVICE ALERT: dx-144.8;CheckHqservice;CRITICAL;HARD;1;Using service TCP

我的需求是:
我想分时间段(最好自己能定义例如: 09:00:00~13:15)统计一下分别有多少次 DOWN 和 WARNING 和 CRITICAL,最好结果能导入到xls表格。
谢谢

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
2 [报告]
发表于 2014-04-21 11:49 |只看该作者
禁用表情~{:2_171:}

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
3 [报告]
发表于 2014-04-21 11:50 |只看该作者
回复 1# kwingart


try:
  1. awk -vst='09:00:00' -vet='13:15:00' '{k=$1" "$2" "$3" "st"~"et" "$5}$4>=st&&$4<=et{if(/DOWN/)a[k" DOWN"]++;if(/WARNING/)a[k" WARNING"]++;if(/CRITICAL/)a[k" CRITICAL"]++}END{for(i in a)print i,a[i]}' file
复制代码

论坛徽章:
0
4 [报告]
发表于 2014-04-21 12:27 |只看该作者
有用,谢谢。结果如下:
[Wed Apr 16 09:00:00~13:15:00 2014] CRITICAL 1006
[Tue Apr 15 09:00:00~13:15:00 2014] CRITICAL 573
[Mon Apr 14 09:00:00~13:15:00 2014] DOWN 48
[Sun Apr 13 09:00:00~13:15:00 2014] CRITICAL 271
[Sat Apr 19 09:00:00~13:15:00 2014] DOWN 1
[Wed Apr 16 09:00:00~13:15:00 2014] WARNING 185
[Mon Apr 14 09:00:00~13:15:00 2014] WARNING 136
[Mon Apr 14 09:00:00~13:15:00 2014] CRITICAL 583
[Sun Apr 13 09:00:00~13:15:00 2014] WARNING 66
[Sat Apr 19 09:00:00~13:15:00 2014] CRITICAL 47
[Fri Apr 18 09:00:00~13:15:00 2014] WARNING 10
[Sat Apr 19 09:00:00~13:15:00 2014] WARNING 3
[Thu Apr 17 09:00:00~13:15:00 2014] DOWN 12
[Thu Apr 17 09:00:00~13:15:00 2014] CRITICAL 441
[Thu Apr 17 09:00:00~13:15:00 2014] WARNING 82
[Tue Apr 15 09:00:00~13:15:00 2014] WARNING 108
[Tue Apr 15 09:00:00~13:15:00 2014] DOWN 28
[Fri Apr 18 09:00:00~13:15:00 2014] DOWN 3
[Fri Apr 18 09:00:00~13:15:00 2014] CRITICAL 396
[Sun Apr 13 09:00:00~13:15:00 2014] DOWN 19
[Wed Apr 16 09:00:00~13:15:00 2014] DOWN 105

我能不能在这个基础上再“无耻”的提个需求,就是需要显示结果如下(也就是在给定的时间段中按down critical warning加总来统计)

09:00:00~13:15:00 2014  DOWN N次(加总)
09:00:00~13:15:00 2014  CRITICAL N次(加总)
09:00:00~13:15:00 2014  WARNING N次(加总)


谢谢哈

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
5 [报告]
发表于 2014-04-21 12:30 |只看该作者
不能老让大家帮你做作业~

论坛徽章:
0
6 [报告]
发表于 2014-04-21 12:35 |只看该作者
唉,对awk真不熟悉,又急着用。以后我会多来论坛,多贡献我知道的。谢谢了

论坛徽章:
0
7 [报告]
发表于 2014-04-21 12:54 |只看该作者
不好意思,还得加个需求,需要 WARNING CRITICAL前面的两个字段 主机名 和 chech方式,例如 dx-144.23;CheckHqservice;CRITICAL ,DOWN 前面只有一个字段

最后结果最好显示如下:

09:00:00~13:15:00 2014  check_North DOWN N次(加总)
09:00:00~13:15:00 2014  242.103 DOWN N次(加总)
...
09:00:00~13:15:00 2014  dx-144.23 CheckHqservice CRITICAL N次(加总)
...
09:00:00~13:15:00 2014  IIS242.240 checkping WARNING N次(加总)
...

难度提高了不少,辛苦了

论坛徽章:
2
白羊座
日期:2013-11-18 19:52:42辰龙
日期:2014-09-07 07:46:06
8 [报告]
发表于 2014-04-21 13:18 |只看该作者
这个好像要在nagios里配置的,象你现在这样做,要nagios干吗?

论坛徽章:
769
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
9 [报告]
发表于 2014-04-21 13:21 |只看该作者
回复 7# kwingart
没大看明白这需求,这最后次数怎么统计的。
先按WARNNING CRITICAL DOWN,再看
不同的check方式和主机?


   

论坛徽章:
30
申猴
日期:2014-04-10 09:43:532015年亚洲杯纪念徽章
日期:2015-03-20 14:40:232015亚冠之阿尔纳斯尔
日期:2015-06-02 18:59:042015亚冠之阿尔希拉尔
日期:2015-06-30 15:22:572015亚冠之大阪钢巴
日期:2015-07-20 10:44:332015亚冠之阿尔纳斯尔
日期:2015-10-28 14:57:5215-16赛季CBA联赛之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16赛季CBA联赛之山西
日期:2016-07-25 21:54:2715-16赛季CBA联赛之北京
日期:2016-10-27 12:07:2315-16赛季CBA联赛之八一
日期:2017-07-07 16:39:0915-16赛季CBA联赛之吉林
日期:2017-09-04 12:14:43
10 [报告]
发表于 2014-04-21 15:30 |只看该作者
回复 4# kwingart
直接把变量k中的$3去掉就可以了!


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP