离线部署swatchdog以及使用
2023/06/04 16:03 投稿
转载文章请注明源地址:https://www.latiao.org/938.html
第一步:挂载本地源
mount -n /dev/cdrom /mnt/cdrom/
cat > /etc/yum.repos.d/yum.repo <<EOF
[APPSTREAM]
name=APPSTREAM
baseurl=file:///mnt/cdrom/AppStream
gpgcheck=0
enable=1
[BASEOS]
name=BASEOS
baseurl=file:///mnt/cdrom/BaseOS
gpgcheck=0
enable=1
EOF
第二步:dnf安装mod_ldap以及ruby
dnf install mod_ldap ruby -y
第三步:安装swatchdog
链接:https://pan.baidu.com/s/1sjfIqfX11sk7ST9sjIZDqA
提取码:lt66
执行 shell;下载前面的百度云,解压
unzip SWATCHDOG.zip
chmod a+x swatchdog-install.sh
./swatchdog-install.sh (在最开始的百度云下载的文件/root/下执行)
第四步:安装完成,可以使用了,接下去举一个小例子
touch /root/swatch/log.conf ##创建一个swatch的配置文件
##内容如下:大概含义就是,只要前后匹配到了含有rsync-test内容的文本,返回绿色##
watchfor /.*rsync-test.*/
echo green
touch base.log ##创建一个日志文件,可以理解成swatchdog会跟踪这个文件
touch base-alert.txt ##创建一个输出文件,当swtachdog抓到特定的内容的时候追加到这个文件
/usr/local/bin/swatchdog -c /root/swatch/log.conf -t /root/swatch/base.log --daemon >> /root/swatch/base-alert.txt ##直接运行这一串语句。 大概含义就是说:在后台使用log.conf运行swatchdog,且读取的日志源文件是base.log,符合log.conf后会追加内容到 base.alert.txt
第五步:测试实际效果
首先我们追加一段不符合规则的内容到base.log。 没有产生任何反应
现在追加一个含有rsync-test内容的文本到base.log
我们观察发现,balababarsync-testlabala已经被返回成了绿色追加到了base-alert.txt。
我们可以简单得想象一下应用场景。 我们可以利用zabbix 或者其他监控软件来监控这个文件的状态,如果发现内容的追加,则触发告警。
或者说 swtachdog本身是支持执行脚本的。举例如下:
perlcode my $test1='.*test1.*';
perlcode my $test2='.*test2.*';
watchfor /$test1/
exec sh /root/swatch/test1.sh
watchfor /$test2/
exec sh /root/swatch/test2.sh
匹配特定test的规则并执行sh脚本,脚本内容可以是snmptrap到某个监控服务器?或者是说自动发送邮件。可以说 swatch是运维必备工具。
其他更高级的用法,可以自行研究!