具体需求:
在后台持续读取指定文件,如果新的 log 条目包含指定的关键词,就发出提醒?
提醒方法:(按偏好程度排序)
1.访问特定 URL (例如 Bark )
2.Telegram Bot
3.发邮件
最好是开源项目。有大佬知道可实现上述功能的工具吗?
1
ClownFish 2022-09-08 13:35:23 +08:00
我写了个功能,不过没开源
|
2
serialt 2022-09-08 13:36:44 +08:00
loki?
|
3
aheadlead 2022-09-08 13:37:11 +08:00
也许可以看看 fail2ban ?不是很确定
|
4
0o0O0o0O0o 2022-09-08 13:37:34 +08:00 via iPhone
fail2ban 有 notify ,但不知道是否满足你的需求
|
5
DingJZ 2022-09-08 13:42:21 +08:00
我自己的场景是直接扔到腾讯云上,这一套都可以配置,懒得折腾。一个月用不了几块钱
|
6
Jirajine 2022-09-08 13:58:46 +08:00 3
这还需要什么工具,直接写个脚本 tail | grep | while readline ; send 不就完了。
|
7
nilai 2022-09-08 14:37:20 +08:00
zabbix 可以
|
9
bjzhush 2022-09-08 14:45:25 +08:00
我做过类似需求,监控 NGINXlog 的。
用 filebeat 监控 log ,然后推送到 redis 队列,PHP 读取 redis 队列实现业务逻辑。 报警和推送用钉钉机器人就可以,免费,实时,手机安装个钉钉允许 push 消息即可。 如果需要电话报警,就接个阿里云或第三方平台的接口,非常简单,一个请求而已。 全程开发 2-3 小时足够 |
11
byaiu 2022-09-08 14:50:52 +08:00
rsyslog 就能做,linux 自带的
|
12
cnoder 2022-09-08 14:55:06 +08:00 1
https://github.com/kasun/python-tail
这个挺简单的,聚合,时间间隔,关键词, 发企业微信 |
13
Jirajine 2022-09-08 14:59:25 +08:00
@julyclyde 够用不就行了,没必要把事情做那么复杂。严肃场景上 Prometheus grafana 那一整套监控套件呗。
|
14
wellsc 2022-09-08 15:08:28 +08:00
filebeat
|
15
tcsky 2022-09-08 15:10:25 +08:00
fail2ban 能满足
|
17
nmap 2022-09-08 16:48:49 +08:00
一个简单的 shell 脚本就可以了吧
|
18
msg7086 2022-09-08 16:53:12 +08:00
扫日志执行操作,这个就是 fail2ban 的专长了。
|
19
qooweds 2022-09-08 18:59:30 +08:00
日志文件不大的话,
写个 shell 脚本, 过滤当前分钟的日志(容错的话可以过滤最近几分钟的) 过滤你需要的关键词 提醒就用 curl 或者 sendmail 触发就好了 放到 crontab 里面每分钟执行一下 |
20
Zy143L 2022-09-08 19:37:01 +08:00 via Android
最简单就暴力轮日志 grep 过滤
出现就给你发通知 用 serverchat pushplus 这些 |
21
kidlj 2022-09-08 20:19:36 +08:00 via iPhone
Zabbix
|
22
neochen13 2022-09-08 22:57:59 +08:00
filebeat => logstash => httpserver
|
23
swulling 2022-09-09 07:09:26 +08:00 1
|
24
ainon 2022-09-09 09:07:55 +08:00
rsyslog ,过滤关键字
|
25
qW7bo2FbzbC0 2022-09-09 13:20:09 +08:00 2
grep 或者 tail 配合行号 基本就是 https://github.com/kasun/python-tail
|
26
anakinsky 2022-09-09 17:04:52 +08:00
loki + grafana
|