原始需求是如果系统的密码被修改,或者创建了新用户,就告警出来。本质上,只需要监控 /etc/shadow 文件变化即可。但是在指标监控体系里,这个事情就比较棘手,只能把文件的 mtime 作为指标的值上报,服务端再利用 delta 或者 increase 函数来判断 mtime 是否发生了变化。告警出来的文本也会比较简陋。,使用 catpaw 搭配 FlashDuty 则可以很好的解决这个问题。告警的样例效果如下:,
,下面我们来看看如何实现。,最新版本是 0.6.0,下载地址是:https://download.flashcat.cloud/catpaw-v0.6.0-linux-amd64.tar.gz 目前只提供了 linux-amd64 版本,如有其他版本的需求可以联系我。,解压后可以看到如下内容:,其中 catpaw 是二进制文件,conf.d 目录下是各个插件的配置文件,scripts 目录下是一些示例脚本。,这里最核心的配置是conf.d/config.toml,需要配置一下 flashduty.url,您需要先注册 FlashDuty,注册地址是:https://console.flashcat.cloud/signup。,注册 FlashDuty 之后,系统会引导你创建协作空间,您可以在协作空间下面添加一个自定义集成:,
,完事点击这个自定义集成,就可以拿到 url 了,拷贝一下 url,贴到 catpaw 的 conf.d/config.toml 中即可。,监控文件变化,可以使用 filechange 插件,配置文件在 conf.d/p.filechange/filechange.toml,样例如下:,我这里简单测试,使用 nohup 启动,如果生产环境,自然是建议 systemd 或者 supervisor 托管:,手工创建个用户,比如 sudo useradd qinxiaohui,就会导致 /etc/shadow 文件发生变化,进而产生告警,大家可以自行尝试一下。效果如下:,![]()
© 版权声明
文章版权归作者所有,未经允许请勿转载。