推荐一款国产开源监控系统!真不错!

共 2270字,需浏览 5分钟

 ·

2020-10-11 15:29

前言

《手写“SpringBoot”:几十行代码基于Netty搭建一个 HTTP Server》这篇原创好文是国庆期间写的,内容通俗易懂,还有我的手绘图,花了两天才写(其他的时间都出去嗨皮了)。还是想让更多人看到,这里就再推荐一遍。

开始正文!来推荐一个叫做 xrkmonitor 的国产开源监控系统给大家!

项目简介

集监控点监控、日志监控、数据可视化以及监控告警为一体的国产开源监控系统,直接部署即可使用。监控数据类型丰富,提供多种富有表现力的图表,满足对数据可视化的需要,目前支持折线图、饼图、地理位置图,后续会引入 更多富有表现力的图表以加强对数据可视化的支持。

项目地址https://gitee.com/xrkmonitorcom/open

项目演示地址: http://open.xrkmonitor.com/

在线文档地址: http://xrkmonitor.com/monitor/dmt_open_doc.html

相比其它开源监控系统优势

  1. 支持插件功能, 监控插件无需开发,自由选择监控插件,安装即可使用
  2. 集成告警功能, 支持多种告警方式
  3. 集成分布式日志系统功能
  4. 支持多种部署方式 a.集中部署(全部服务部署在一台机器,适合个人或者小团队开发者) b.分布式部署(分布式部署在多台机器,适合小中型企业大规模监控需求)
  5. 支持自动化配置(机器部署agent后自动注册到监控系统无需在控制台配置、视图根据上报自动绑定相关上报机器)
  6. 支持多用户访问(子账号由管理员账号在控制台添加)
  7. 上报接口支持主流开发语言,数据上报api 提供类似公共库接口的便捷

特色功能推荐

  1. IP地址库: 支持通过IP地址上报时将IP地址转为物理地址,相同物理地址归并展示一个监控API 即可轻松生成监控 数据的物理地址分布图,插件示例:monitor_apache_log

  2. 监控插件市场: 让监控成为可以复用的组件,更多监控插件持续开发中

  3. 分布式日志系统: 支持大规模系统日志上报,日志上报支持频率限制、日志染色、自定义字段等高级功能,控制台 日志查看支持按关键字、排除关键字、上报时间、上报机器等方式过滤日志,从茫茫日志中轻松找到您需要的日志

  1. 视图机制: 监控图表支持视图定制模式,视图可按上报服务器、监控点随意组合,轻松定制您需要的监控视图,并 可在监控图表上直接设置告警值

  1. 告警集成: 集成告警功能, 支持邮件、短信、微信、PC客户端等告警方式,告警功能无需开发直接可用

在线部署

安装脚本会先检查当前系统是否支持在线安装, 如不支持您可以下载源码后在系统上编译安装。

在线部署目前只支持集中部署方式, 即所有服务部署在一台机器上, 该机器上需要安装 mysql/apache

安装脚本使用中文 utf8 编码, 安装过程请将您的终端设置为 utf8, 以免出现乱码。

安装脚本同时支持 root 账号和普通账号操作, 使用普通账号执行安装部署要求如下:

  1. 在线部署使用动态链接库, 需要在指定目录下执行安装脚本, 目录为: /home/mtreport
  2. 普通账号某些目录可能无权操作, 需要授权才能正常安装

我们强烈建议您先在本地虚拟机上执行在线安装, 熟悉安装流程后在实际部署到您的服务器上。

离线部署(自行编译源码)

如果在线安装失败或者需要二次开发, 可以使用源码编译方式安装

三部完成部署:

  1. 执行 make 完成源码编译
  2. 进入 tools_sh 目录,执行 make_all.sh 生成部署包
  3. 在安装目录解压部署包,执行 local_install.sh 完成安装

监控系统卸载脚本: uninstall_xrkmonitor.sh,移除彻底不留丝毫痕迹

安装环境变量同在线安装一样, 具体可以查看说明文档: 源码编译-集中部署控制台默认账号密码: sadmin/sadmin

使用的技术方案

  1. apache + mysql(监控点数据、配置信息使用 mysql 存储, 支持分布式部署)
  2. 前端 web 控制台采用 dwz 开源框架
  3. 前端监控图表采用开源 echarts 绘制
  4. 后台 cgi 使用开源的cgi模板引擎 - clearsilver, 所有cgi支持以fastcgi方式部署
  5. 后台服务使用了开源的 socket 开发框架 - C++ Sockets

当前监控上报API支持的语言如下(更多语言支持在开发中)

  1. c/c++ 开发接口
  2. php 开发接口
  3. linux shell 开发接口
  4. javascript 开发接口


往期推荐



手写“SpringBoot”:几十行代码基于Netty搭建一个 HTTP Server

手写“SpringBoot”近况:IoC模块已经完成

聊一下简易版的“Spring Boot”写的咋样了

最常用的Java框架或者开源项目有哪些?

小县城还是住着很舒服的,物价挺便宜,房价有点尴尬。

还在写Bug?GitHub官方代码扫描工具上线,免费查找漏洞

闲聊

抓住国庆的尾巴,和大学同学出去嗨了一波,大半年没玩英雄联盟了。之前大学的时候还偶尔和同学去附近的网吧通宵,像是过去了好久一样

支持原创!文章有帮助可以点个「在看」或「分享」,我都会开心很久!

我是Guide哥,Java后端开发,会一点前端知识,喜欢烹饪,自由的少年。一个三观比主角还正的技术人。我们下期再见!

浏览 74
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报