gpt4 book ai didi

linux - 使用 shell 脚本根据日志文件生成报告

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:21 24 4
gpt4 key购买 nike

我必须根据 nagios 日志文件创建报告。我打算为此编写一个 shell 脚本。日志文件如下:


[1420520400] 当前服务状态:abc.com;service;CRITICAL;HARD;3;OK : OK : 最后 10-01-2015,用户 = 2,员工 = 0

[1420520400] 当前服务状态:def.com;service;CRITICAL;HARD;3;WARNING:最后一次于 10-01-2015,用户 = 2,员工 = 0

[1420520400] 当前服务状态:ghi.com;service;CRITICAL;HARD;3;CRITICAL:最后一次于 2014 年 11 月 19 日,用户 = 2,员工 = 0


我想从这个文件生成如下报告:


名称:abc.com

日期:10-01-2015

用户:2

员工:0


名称:def.om

日期:10-01-2015

用户:2

员工:0


名称:ghi.om

日期:2014-11-19

用户:2

员工:0


如果有人能帮助我实现这一目标,那就太好了。

最佳答案

此命令将为您提供上述输出,只需将日志文件中的文件名从 input.log 更改为实际文件名即可。

$ cat input.log |cut -d';' -f1,6|sed -e 's/\<CURRENT SERVICE STATE\>/NAME=/g'|sed -e 's/\<OK\>//g'|sed -e 's/\<Last on\>/Date =/g'|tr -d ':'|sed 's/WARNING//g'|sed 's/CRITICAL//g'|cut -c 14-|tr -s ' '|tr ',;' '\n'                                                                         

输出:

enter image description here

在这里,我使用了'=',但如果您使用,您可以按照命令更改与上面完全相同的输出,

$ cut -d';' -f1,6 input.log|sed -e 's/\<CURRENT SERVICE STATE\>/NAME=/g'|sed -e 's/\<OK\>//g'|sed -e 's/\<Last on\>/Date =/g'|tr -d ':'|sed 's/WARNING//g'|sed 's/CRITICAL//g'|cut -c 14-|tr -s ' '|tr ',;' '\n' |tr '=' ':'

关于linux - 使用 shell 脚本根据日志文件生成报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com