Netdata配置服务器登录Telegram告警求助
配置Netdata服务器登录告警步骤
1. 确认systemd-logind监控状态
Netdata默认自带systemd-logind监控模块,先确认是否启用:
- 打开
/etc/netdata/netdata.conf,找到[plugins]段,确保有systemd-logind = yes,没有的话直接添加。 - 重启Netdata生效:
sudo systemctl restart netdata - 登录Netdata仪表盘验证,应该能找到
systemd-logind相关的会话统计图表。
2. 编写登录告警配置文件
在/etc/netdata/health.d/下创建system_login.conf,复制以下内容(可根据实际场景调整阈值):
# 服务器登录会话告警 template: server_new_login_alert on: systemd_logind_sessions lookup: sum -1m of current warn: $this > $avgc(1h) critical: $this > $avgc(1h) + 1 title: 服务器检测到新登录会话 info: 当前活跃会话数: {{ $this }}, 近1小时平均会话数: {{ $avgc(1h) }} exec: telegram.sh # 直接用你之前配置好的Telegram告警脚本 to: admin
关键参数说明:
on: systemd_logind_sessions:指定监控Netdata生成的systemd-logind会话统计图表,模块启用后这个图表默认存在。lookup: sum -1m of current:统计最近1分钟内的当前活跃会话数总和。warn规则:当当前会话数超过近1小时的平均值时触发警告(适合平时无人登录的场景,有人登录就会触发)。critical规则:可根据需求调整,比如会话数比平均值多1个以上时触发严重告警。exec直接复用你之前CPU、磁盘告警的Telegram脚本,无需重新配置。
3. 测试告警
- 新开一个SSH会话登录服务器。
- 查看Netdata的
Alerts页面,或者检查/var/log/netdata/health.log,确认告警是否触发。 - 如果没触发,先检查配置文件语法(Netdata启动时会校验,日志里会报错),也可以临时把warn规则改成
$this > 0,只要有活跃会话就触发,方便测试。
额外说明
你看到的python.d.conf相关内容无需理会,systemd-logind是Netdata的原生监控模块,不需要依赖Python插件。
内容的提问来源于stack exchange,提问作者arellak
相关产品推荐
相关产品推荐

