目标:使用salt批量收集系统日志时间,并对比分析日志时间之间的差值
1、首先收集windows server系统日志:
本文收集日志参考powershell官方文档:
https://forsenergy.com/zh-cn/windowspowershellhelp/html/defed09e-2acd-4042-bd22-ce4bf92c2f24.htm
现在powershell执行成功后再写成脚本
由于本文只是收集一段时间的日志,所以需要定义范围
PS> $july8 = get-date 2019/07/08 //定义最早时间
PS> $july14 = get-date 2019/07/14 //定义最晚时间
PS> get-eventlog -logname system -after $july8 -before $july14 | where {$_.eventID -eq 1} | Format-List | tee C:\opstools\systemlog.txt
将此写成ps1的脚本,放在linux服务器上,可使用salt分发到不同的windows服务器上进行执行
# pwd //本文的linux服务器已经安装salt,并且每台windows服务器都安装了salt-million
/srv/salt/zhouzun/copyfile/files //将ps1文件放在此目录下存放
#vim systemlog.ps1
$july8 = get-date 2019/07/08
$july14 = get-date 2019/07/14
get-eventlog -logname system -after $july8 -before $july14 | where {$_.eventID -eq 1} | Format-List
//此处不在将收集的日志记录保存在windows服务器上,因为直接可以保存在linux服务器上,方便分析
2、编辑salt文件,将systemlog.ps1文件分发到各个windows服务器上,并进行收集日志
# pwd
/srv/salt/zhouzun/copyfile //本目录存放salt配置文件和收集的文件的执行结果
本目录下总共有主要的三个文件,salt配置文件 --> copydir.sls,salt执行正确与否的结果日志 --> result.log;files是用来存放systemlog.ps1的
# vim copydir.sls
copy_dir: file.managed: //文件管理模块 - name: C:\opstools\systemlog.ps1 //将linux服务器上的system.ps1分发到各windows服务器的C:\opstools目录下 - source: salt://zhouzun/copyfile/files/systemlog.ps1 //此处表示salt根目录下的目录:zhouzun/copyfile/files的源文件, cmd.run: //脚本执行模块,在windows服务器上各自执行 - name: powershell.exe C:\opstools\systemlog.ps1 //在windows服务器上执行脚本systemlog.ps1