网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
sudo dnf install swatch
要安装swatchdog的最新版本,您可以在任何Linux发行版中使用以下命令从源代码编译它。
git clone https://github.com/ToddAtkins/swatchdog.git
cd swatchdog/
perl Makefile.PL
make
sudo make install
sudo make realclean
3. 如何使用swatch监控日志文件变化
安装了swatch之后,需要创建它的配置文件(默认位置是/home/$USER/.swatchdogrc或者.swatchrc)。以确定要查找的表达式模式的类型,以及在匹配模式时应该采取的操作类型。
touch /home/tecmint/.swatchdogrc
或者
touch /home/tecmint/.swatchrc
将正则表达式添加到此文件中,每行应该包含一个关键字和值(有时是可选的),以空格或等号(=)分隔。您需要指定关键字和匹配内容时要采取的操作。
我们将使用一个简单的配置文件,例如,您可以在swatchdog man页面中找到更多的选项。
watchfor /sudo/
echo red
mail=admin@tecmint.com, subject="Sudo Command"
我们的正则表达式是一个文字字符串—sudo,意味着任何时候字符串sudo出现在日志文件,将以输出red到终端和邮件,这是指定要采取行动。
配置完成后,swatchdog将默认读取/var/log/syslog日志文件,如果该文件不存在,它将读取/var/log/messages。
基于RHEL/CentOS & Fedora
swatch
基于Ubuntu/Debian
swatchdog
可以使用-c选项指定一个不同的配置文件,如下面的示例所示。
首先创建一个swatch配置目录和一个文件。
mkdir swatch
touch swatch/secure.conf
接下来,在该文件中添加以下配置,以监控失败和成功的ssh登录尝试,日志文件位置在/var/log/secure。
watchfor /FAILED/
echo red
mail=admin@tecmint.com, subject="Failed Login Attempt"
watchfor /ROOT LOGIN/
echo red
mail=admin@tecmint.com, subject="Successful Root Login"
watchfor /ssh.*: Failed password/
echo red
mail=admin@tecmint.com, subject="Failed SSH Login Attempt"
watchfor /ssh.*: session opened for user root/
echo red
mail=admin@tecmint.com, subject="Successful SSH Root Login"
现在,通过使用-c指定配置文件并使用-t选项指定日志文件来运行swatch,如下所示。
swatchdog -c ~/swatch/secure.conf -t /var/log/secure
要在后台运行它,可以使用-daemon选项,它将在后台运行。
swatchdog ~/swatch/secure.conf -t /var/log/secure --daemon
现在,要测试swatch配置,请尝试从不同的终端登录到服务器,您将看到以下输出
*** swatch version 3.2.3 (pid:16531) started at Thu Jul 12 12:45:10 BST 2018
Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)
您还可以运行多个swatch进程来监控各种日志文件。
swatchdog -c ~/site1_watch_config -t /var/log/nginx/site1/access_log --daemon
swatchdog -c ~/messages_watch_config -t /var/log/messages --daemon
swatchdog -c ~/auth_watch_config -t /var/log/auth.log --daemon
有关更多信息,请查看swatchdog man页面。
man swatchdog
4. 总结
swatchdog是一个简单的活动日志文件监控工具,适用于类unix系统,比如Linux。如果你有更好工具,请留言分享您的经验。
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!