Linux实时监控日志文件的swatchdog

2023-11-01

1. 前言

本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化。

swatchdog(Simple WATCH DOG)是一个简单的Perl脚本,用于监视类Unix系统(比如Linux)上的活动日志文件。它根据可以在配置文件中定义的正则表达式监控日志。您可以从命令行或后台运行它,使用daemon模式选项在后台运行。

请注意,该程序最初名为swatch(Simple Watcher翻译为简单的观察者),但在这家老牌瑞士手表公司要求更改名称时,开发人员将其名称改为swatchdog。

重要的是,swatchdog是从一个用于监视Unix syslog工具生成的日志的脚本发展起来的,它可以监视任何类型的日志。

2. 在Linux系统上如何安装Swatch

swatchdog安装程序可以从主流Linux发行版的官方软件仓库中通过包管理器安装swatch,如下所示。

基于Ubuntu/Debian系统

sudo apt install swatch

基于RHEL/CentOS系统

sudo yum install epel-release && sudo yum install swatch

Fedora 22+

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实时监控日志文件的变化程序之swatchdog

https://www.linuxrumen.com/cyml/1710.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux实时监控日志文件的swatchdog 的相关文章

  • Zabbix 系统监控(二)Linux 系统监控

    windows 系统硬件信息获取 linux 系统监控 linux 系统硬件信息获取 5 windows 系统硬件信息获取 本文通过在 OS 操作系统层面上 主要获取 windows 服务器下 CPU 信息 内存信息 硬盘信息 操作系统 服
  • Get value from agent failed:ZBX_TCP_READ() timed out(亲测)

    报错信息 Get value from agent failed ZBX TCP READ timed out 解决办法 1 查看服务和端口是否还在 2 查看zabbix agentd conf端配置文件 serverIP是否正确 3 查看
  • zabbix-agent自定义监控项

    用户定义参数可以用来帮助用户实现通过Zabbix agent执行非Zabbix原生的 agent check 一条用户自定义参数配置应当使用以下语法 UserParameter
  • Linux实时监控日志文件的swatchdog

    1 前言 本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化 swatchdog Simple WATCH DOG 是一个简单的Perl脚本 用于监视类Unix系统 比如Linux 上的活动日志文件 它根据可以
  • zabbix监控TCP连接状态

    一 zabbix监控TCP连接状态 1 取到TCP连接状态的值 root web01 netstat antp awk NR gt 2 print 6 grep TIME WAIT wc l 可以取到TIME WAIT的个数 依次类推 可以
  • 自动化Ansible常见命令

    举个例子备份Cisco交换机配置 查看CPU 占用率的统计信息 display cpu usage 查看内存的使用状态 display memory usage 查看电源的工作状态 display power 查看接口是否工作在正常状态 d
  • Zabbix---5 监控linux服务器目录大小

    例如监控 root data 目录 一 添加自己脚本 root localhost sbin pwd usr local sbin root localhost sbin cat dir size sh bin bash du m root
  • shell编写yum安装监控zabbix脚本

    bin bash zabbix 5 0 安装zabbix源 修改为aliyun源 cd etc yum repos d rpm Uvh https repo zabbix com zabbix 5 0 rhel 7 x86 64 zabbi
  • 使用ELK收集网络设备日志的案例

    简介 随着机房内的服务器和网络设备增加 日志管理和查询就成了让系统管理员头疼的事 系统管理员遇到的常见问题如下 1 日常维护过程中不可能登录到每一台服务器和设备上去查看日志 2 网络设备上的存储空间有限 不可能存储日期太长的日志 而系统出现
  • Zabbix监控MongoDB、Nignx、Redis、Php-fpm、SNMP(如打印机)

    Zabbix v3 4 MongoDB v3 4 MongoDB模板 感谢大神 MongoDB for Zabbix https share zabbix com databases mongodb mongodb for zabbix 3
  • Zabbix---2 监控主机CPU使用率

    一 监控CPU空闲率 在添加主机时 由于已经链接了Template OS Linux by Zabbix agent模板 该模板还链接了Template Module Linux CPU by Zabbix agent等若干个其他模板 Te
  • zabbix 调用api 批量删除主机

    脚本名称 zabbix api py 脚本内容如下 usr bin env python coding utf 8 import json import sys import urllib2 import argparse from url
  • 企业监控服务器Cacti、nagios服务器

    Cacti监控服务器入门详解 作为一名Linux SA 日常最重要的就是保证网站正常稳定的运行 我们需要实时监控网站 服务器的运行状态 这时需要借助开源软件 cacti nagios zabbix等 监控来实现 Cacti是用php语言实现
  • Zabbix 系统监控(三)VMware 虚拟平台监控、邮件告警、企业微信告警配置

    Vmware 虚拟平台监控 邮件告警 企业微信告警配置 8 Vmware 虚拟平台监控 阅读 zabbix 官方文档 官方提供了 Vmware 虚拟机监控模板 并对模板进行了解释说明 但未对相应名词做解释 如果不了解 Vmware 组件 可
  • zabbix如何监控linux磁盘性能IO

    前提环境 perl和python 以及zabbix agent已是可用状态 需要主要监控的指标 1 每秒IO数 即iops或tps 2 吞吐率 3 平均IO尺寸 avgrq sz 4 IO等待队列长度 avgqu sz 5 磁盘活动时间百分
  • Zabbix 4.0升级5.0 &&ES 6.1升级7.0

    Zabbix 4 0升级5 0 一 升级方案 1影响范围 升级期间 不会影响到现有的系统 系统将保持正常的运行 升级完成后 将进行一段时间的可用性测试 待系统稳定后将替换生产上的监控 2升级方法 本次升级采用蓝绿部署的方式 先在测试环境重新
  • CentOS 7安装zabbix-agent 5.0报错:依赖检测失败:libpcre.so.0()(64bit)/获取GPG密钥失败解决

    报错信息 root localhost wget https mirrors tuna tsinghua edu cn zabbix zabbix 5 0 rhel 6 x86 64 zabbix agent 5 0 0 1 el6 x86
  • Lack of free swap space on 192.168.3.1

    zabbix健康报错 Lack of free swap space on 192 168 3 1 解决办法 先查看磁盘swap磁盘容量 是因为Zabbix监控没有考虑虚拟主机的交换空间情况 解决办法修改配置 选择 Lack of free
  • zabbix使用Omsa来监控Dell服务器的硬件信息

    OMSA介绍 Dell OpenManage Server Administrator OMSA 是一款全面的一对一系统管理解决方案 OMSA可分为两种 集成式界面 基于Web浏览器的图形用户界面 GUI 命令行界面 CLI 通过操作系统访
  • zabbix 通过import批量导入新增主机和批量删除旧的主机

    通过import批量导入新增主机 本文采用zabbix的hosts页面的import 批量导入 zabbix3 2版本批量导入模板 bin bash filename zbx xml echo

随机推荐

  • react——state(状态机)

    h1 h1 h1 react state 状态 h1 p react把组件看成是一个状态机 state machines 通过与用户的交互 实现不同状态渲染UI 让用户界面和数据保持一致 p p react里 只需要更新组件的state 然
  • 【Qt教程】1.7 - Qt5带参数的信号、信号重载、带参数的槽函数、槽函数重载

    原理 与C 语法一致 信号 槽函数都可以发生重载 使其在名称不变的情况下 传递过程可以携带参数 示例说明 我们从一个最普通的信号槽工程中 来修改 对信号 槽进行重载 使信号 槽携带参数 1 普通信号 工程源码 widget h ifndef
  • rank、dense_rank、row_number函数的区别

    这四个 RANK DENSE RANK NTILE ROW NUMBER 函数 都是用来对数据库中的数据进行排名的 在他们的功能各有千秋 下面介绍一下这四个函数的功能和用法 首先创建一个Student表 CREATETABLEStudent
  • 树莓派安装opencv教程

    我使用的镜像版本为 Linux version 5 10 103 v7l dom buildbot arm linux gnueabihf gcc 8 Ubuntu Linaro 8 4 0 3ubuntu1 8 4 0 使用Python3
  • C++ 仿函数的分类

    一 概述 仿函数 functor 就是使一个类的使用看上去象一个函数 其实现就是类中实现一个operator 这个类就有了类似函数的行为 就是一个仿函数类了 有些功能的的代码 会在不同的成员函数中用到 想复用这些代码 1 公共的函数 可以
  • 普通人如何抓住AI这个风口

    随着科技的发展 人工智能 AI 已经成为当今社会的风口浪尖 越来越多的行业正在应用AI技术 新的职业和商业机会也随之出现 那么 作为普通人 我们应该如何抓住这个风口呢 来看看 AI硅基小助手 是如何解答的 1 学习AI相关技能 学习AI相关
  • Shiro和Spring Security的简单对比

    Shiro和Spring Security是Java中常用的两种安全认证框架 安全认证主要包括认证和授权鉴权两部分 认证指应用程序验证一个用户信息的过程 应用程序需要确认当前的用户是否是合法的用户 用户会向应用程序提供两部分数据 身份信息和
  • Java学习-冒泡排序

    冒泡排序 通俗的理解就是将一列无序的数字按照从大到小或者从小到大的顺序进行排序的一种简单的算法 在Java中一般是将数组使用冒泡排序的方法进行排序 大致原理是遍历数组元素 然后每两个之间进行比较 将较大值或者较小值按照自己想要的排序结果进行
  • YOLOV7调用本地USB摄像头和自己训练的权重文件实时检测目标

    作者新手 挣扎于毕业的菜鸡一枚 有问题欢迎讨论 最近在做课题时想直接调用本地摄像头来测试一下自己的训练结果 查到的文章多用到onnx openvino等格式转换部署 但作者没有这方面需求 折腾一会失败了 后来发现yolo系列自带了此功能 只
  • Linux xarges

    对于管道 之后的一部分命令可以用stdin进行输入 如 cat a grep test 但有些命令只能用参数形式 就要使用xargs了 xargs可以将stdin转化为参数 类似于find命令中的 exec选项 xargs也可以将单行或多行
  • 电赛经验分享

    2019 TI杯过程和经验分享 在这里我也是第一次写博客 看博客已经有一年多了吧 为什么要在这一次写博客呢 一是因为这一次比赛对我的影响很深 也算试一次经历和教训吧 二是因为最后一次参加TI杯大赛 在 比赛之前我们是做了充分的准备 把前两年
  • 如何用计算机名添加的打印机,如何添加打印机(如何在电脑上安装打印机)

    如何添加打印机 如何在电脑上安装打印机 平时在生活中 我们要将电子档的文件打印出来 都需要使用到打印机 传统的打印机都是以电脑为主 今天就教大家如何在电脑上安装打印机 电脑上安装打印机的详细步骤 1 双击打开桌面上的 控制面板 如果桌面上没
  • cadence布局布线常见问题详解

    cadence布局布线常见问题详解 1 怎样建立自己的元件库 建立了一个新的project后 画原理图的第一步就是先建立自己所需要的库 所采用的工具就是part developer 首先在建立一个存放元件库的目录 如mylib 然后用写字板
  • vue 前端调用摄像头上传压缩图片后端保存调用微信OCR识别身份证

    前端
  • iOS app签名机制

    前言 在移动开发中 iOS系统下的app和andorid系统下的app一个很大的区别是 android系统下 app的安装很方便 可以从多个应用商店下载 小米应用商店 华为应用商店 也可以直接下载apk的包安装 而在iOS系统下 对app的
  • 【CreateFile() Error 5】 权限问题解决

    CreateFile Error 5 权限问题解决 打开注册表 regedit HKEY LOCAL MACHINE Software Microsoft Windows CurrentVersion Policies System 修改这
  • git -C

    https git scm com docs git C
  • 谷歌技术"三宝"之BigTable

    谷歌技术 三宝 之BigTable 2006年的OSDI有 两篇google的论文 分别是BigTable和Chubby Chubby是一个分布式锁服务 基于Paxos算法 BigTable是一个用于管理结构化数据的分布式存储系统 构建在G
  • STM32F103ZET6 之 ADC+TIM+DMA+USART 综合实验

    1 实验目的 1 使用 TIM1 触发 ADC ADC 采集的数据通过DMA 传至内存 然后通过串口打印出采集的数据 2 学会 DMA 传输数据并将数据进行保存 3 验证ADC 的采样率与实际设置的是否相符 2 硬件资源 1 指示灯 2 A
  • Linux实时监控日志文件的swatchdog

    1 前言 本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化 swatchdog Simple WATCH DOG 是一个简单的Perl脚本 用于监视类Unix系统 比如Linux 上的活动日志文件 它根据可以