项目简介
一款集 监控点监控、日志监控、数据可视化、监控告警 于一体的分布式开源监控系统。
- 采用 插件化架构,常用监控需求通过插件实现,无需开发
- 插件支持 一键部署、移除、启用、禁用
- 提供 丰富的图表类型与多维数据展示,满足多样化可视化需求
演示地址(Windows 访问需代理):open.xrkmonitor.com
代理客户端:从源码目录下载
AccessDaemon.rar,解压后以管理员权限运行(自动将域名解析至本地回环)
核心优势(相比其他开源监控系统)
1、插件即服务:无需编码,控制台安装插件即可使用
2、内置分布式日志系统:高性能日志上报、过滤、染色、字段扩展,控制台支持多维日志检索
3、自动化配置:Agent 部署后自动注册,视图自动绑定上报机器
4、多用户支持:管理员可创建子账号,分配不同权限
5、双角色友好:
- 运维/产品人员:直接使用现成插件快速搭建监控
- 开发者:提供 API 接口,支持深度定制
6、内网友好:支持完全内网部署,插件仍可从云端下载;Agent 支持 UDP 代理,可调用云端告警等服务
特色功能推荐
IP 地址库:自动将 IP 转为物理地址,生成地域分布图(如插件 monitor_apache_log)
插件市场:监控能力组件化,持续扩展中
分布式日志系统:支持频率限制、日志染色、自定义字段;控制台支持关键字/排除词/时间/机器等多条件过滤
灵活视图机制:图表可按服务器、监控点自由组合,支持在图上直接设置告警阈值
多通道告警:邮件、短信、微信、PC 客户端等,开箱即用
实时表格插件:横向对比分布式集群中各节点指标,支持排序
部署方式
1、集中部署
所有服务部署于单机,适合个人或小团队
2、分布式部署
服务分散于多台机器,适用于中小型企业大规模监控场景
Docker 部署指南(以宿主机 IP 192.168.128.210 为例)
1、拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/xrkmonitor/release:latest
2、启动容器
docker run -idt \ -p27000:27000/udp \ -p38080:38080/udp \ -p28080:28080/udp \ -p80:80 \ --env xrk_http_port=80 \ -v /data/xrkmonitor/docker_mysql:/var/lib/mysql \ -v /data/xrkmonitor/docker_slog:/home/mtreport/slog \ --env xrk_host_ip=192.168.128.210 \ <镜像ID>
参数说明:
端口映射:日志(27000)、监控点(38080)、接入服务(28080)、Web 控制台(80)
挂载目录:MySQL 数据、日志存储
xrk_host_ip:必须设为宿主机真实 IP
3、启动服务
docker attach <容器ID>cd /home/mtreport./start_docker.sh
4、访问控制台
浏览器打开:http://192.168.128.210
默认账号密码:sadmin / sadmin
5、停止服务
/home/mtreport/stop_docker.sh
注意:升级时若 MySQL 表结构变更,需更换或清空挂载的 MySQL 目录,避免兼容问题。
Agent 部署说明
- Agent 包位于容器内:
/home/mtreport/slog_mtreport_client.tar.gz - 拷贝至目标机器,解压后修改
SERVER_MASTER为宿主机 IP - 若在宿主机部署 Agent,需指定
AGENT_CLIENT_IP为容器网卡 IP - 不建议在容器内部署插件,易与宿主机冲突
源码编译(支持离线部署)
方式一:使用 Docker 编译镜像
# 拉取编译镜像docker pull registry.cn-hangzhou.aliyuncs.com/xrkmonitor/compile:latest# 启动并进入容器docker run -idt <镜像ID>docker attach <容器ID># 编译cd /home/xrkmonitor/openmake# 生成部署包cd tools_sh./make_all.sh # 生成 slog_all.tar.gz
建议挂载宿主机目录进行二次开发,避免代码丢失
方式二:本地编译
git clone https://gitee.com/xrkmonitorcom/open.gitcd openmakecd tools_sh./make_all.sh # 生成 slog_all.tar.gz# 安装tar -zxvf slog_all.tar.gz -C /home/mtreportcd /home/mtreport./local_install.sh# 卸载./uninstall_xrkmonitor.sh
OpenSUSE 用户可直接使用源码中的
slog_all.tar.gz离线包
技术栈
- 后端存储:Apache + MySQL(监控数据、配置信息)
- 前端框架:DWZ(Web 控制台)
- 可视化图表:ECharts
- CGI 引擎:ClearSilver(支持 FastCGI 部署)
- 网络通信:C++ Sockets 开源框架
- API 支持语言:C/C++、PHP、Linux Shell、JavaScript(更多语言开发中)
插件市场(部分示例)
| 插件名称 | 语言 | 功能 |
|---|---|---|
linux_base | C/C++ | 监控 CPU、内存、磁盘、网络等系统资源 |
monitor_apache_log | C/C++ | 分析 Apache 日志,统计流量、访客地域 |
linux_file_monitor | Shell | 监控文件/目录增删改 |
monitor_website | JavaScript | 前端网站监控(访客、异常) |
open_source_star | C/C++ | 聚合 Gitee/GitHub 粉丝数据 |
common_log | C/C++ | 通用日志监控,构建分布式日志系统 |
common_log演示视频:www.bilibili.com/video/BV18i…
项目源码
项目演示:open.xrkmonitor.com
在线文档:xrkmonitor.com/monitor/dmt…
关键词
#开源监控、#插件化架构、#分布式日志、#数据可视化、#监控告警、#一键部署、#IP地址库、#自动化注册、#多协议支持、#内网可用
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
优秀是一种习惯,欢迎大家留言学习!