一款能够监测告警邮件、采集syslog日志的实时推送至钉钉、企业微信、飞书、短信等的告警推送平台开源软件,含syslog发送测试工具
一个功能完整的syslog日志接收和告警推送系统,支持钉钉、企业微信、飞书和阿里云短信等多种告警方式。
功能特性
- 🔍 实时日志监控: 接收并显示syslog日志
- 🚨 智能告警推送: 基于关键词匹配自动发送告警
- 📱 多平台支持: 支持钉钉、企业微信、飞书群机器人和阿里云短信
- 📊 统计分析: 实时统计接收日志数、告警发送成功/失败数量
- 🎛️ Web管理界面: 现代化的Web界面管理系统
- 🧪 测试功能: 内置告警测试功能
- ⚙️ 灵活配置: 支持在线配置各种参数
系统要求
- Python 3.7+
- Windows/Linux/macOS
- 网络连接(用于发送告警)
安装步骤
1. 安装依赖
pip install -r requirements.txt
2. 配置系统
启动系统后,通过Web界面进行配置:
- 基础配置: Syslog端口(默认514)、Web端口(默认5000)
- 告警关键词: 设置触发告警的关键词(如:error, critical, alert)
- 钉钉配置: 钉钉群机器人Webhook URL
- 企业微信配置: 企业微信群机器人Webhook URL
- 飞书配置: 飞书群机器人Webhook URL和签名密钥
- 阿里云短信: Access Key、签名、模板代码、手机号码
3. 启动系统
python app.py
系统启动后:
- Syslog服务器监听端口:514(可配置)
- Web管理界面:http://localhost:5000
使用说明
Web管理界面
访问 http://localhost:5000 打开管理界面,包含以下功能模块:
- 实时日志: 查看接收到的syslog日志
- 告警事件: 查看触发的告警事件
- 服务状态: 管理syslog服务的启停,查看服务日志
- 系统配置: 配置各种告警推送参数
- 测试功能: 测试告警推送是否正常工作
界面截图
主界面 - 实时日志监控

告警事件管理

服务状态监控

系统配置界面

告警测试功能

配置告警推送
钉钉群机器人
- 在钉钉群中添加自定义机器人
- 获取Webhook URL
- 在系统配置中填入URL
企业微信群机器人
- 在企业微信群中添加群机器人
- 获取Webhook URL
- 在系统配置中填入URL
飞书群机器人
- 在飞书群中添加自定义机器人
- 获取Webhook URL
- 配置签名密钥(可选,用于消息验证)
- 设置@用户列表(可选,格式:user_id1,user_id2)
- 在系统配置中填入相关信息
阿里云短信
- 开通阿里云短信服务
- 创建短信签名和模板
- 获取Access Key ID和Secret
- 在系统配置中填入相关信息
发送测试日志
可以使用以下方法向系统发送测试syslog消息:
使用logger命令(Linux/macOS)
logger -n localhost -P 514 "This is a test error message"
使用Python脚本
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(b"Test error message from python", ('localhost', 514))
sock.close()
使用PowerShell(Windows)
$udpClient = New-Object System.Net.Sockets.UdpClient
$bytes = [System.Text.Encoding]::UTF8.GetBytes("Test error message")
$udpClient.Send($bytes, $bytes.Length, "localhost", 514)
$udpClient.Close()
告警规则
系统会检查接收到的syslog消息,如果消息内容包含配置的关键词(默认:error, critical, alert, emergency),则会触发告警推送。
系统架构
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────────┐
│ Syslog源 │───▶│ Syslog服务器 │───▶│ 告警推送 │
│ (设备/应用) │ │ (UDP 514端口) │ │ (钉钉/微信/飞书/短信) │
└─────────────────┘ └──────────────────┘ └─────────────────────┘
│
▼
┌──────────────────┐
│ Web管理界面 │
│ (HTTP 5000端口) │
└──────────────────┘
故障排除
常见问题
-
端口被占用
- 检查514端口是否被其他程序占用
- 可以修改配置使用其他端口
-
告警发送失败
- 检查网络连接
- 验证Webhook URL是否正确(钉钉/企业微信/飞书)
- 检查飞书签名密钥配置是否正确
- 检查阿里云短信配置是否正确
-
权限问题
- Linux下监听514端口需要root权限
- 可以使用其他端口(如5140)避免权限问题
日志查看
系统运行日志可以通过以下方式查看:
- Web界面的"服务状态"页面
- 控制台输出
安全建议
- 不要在公网暴露syslog端口
- 定期更换API密钥
- 限制Web管理界面的访问
- 使用防火墙限制访问来源
许可证
MIT License
贡献
https://gitee.com/jiuchang-longshan-shanxi_0/Alarmpush
欢迎提交Issue和Pull Request来改进这个项目。
安装包下载链接
已打包成exe,支持windows系统,双击运行即可;
https://gitee.com/jiuchang-longshan-shanxi_0/Alarmpush/tree/master/dist

3500

被折叠的 条评论
为什么被折叠?



