Medivh监控系统-

系统介绍

本系统旨在提供业务监控实时数据和历史数据以及报表、阈值报警、同比增长分析等一体化的历史业务数据解决方案。

技术选型

sdk部门有C#版和java版,api和website采用golang语音开发,数据库采用mysql,数据传输采用socket+http

架构设计

系统源码

本系统主要分3个部分:即sdk(@2) api(@1) 和 website(@3) 。

3个分系统源代码下载地址:

@3 =>website https://github.com/larrymshi/medivh.website

@2 =>sdk .net版本 https://github.com/larrymshi/medivh.client-csharp

@2 =>sdk java版本 https://github.com/larrymshi/medivh.client-java

@1 =>api https://github.com/larrymshi/medivh.api

使用和接入文档整理中~!

接入示例 (C#)

code

//初始化日志记录器 并设置日志级别(0info 1debug) 
MedivhSdk.SetLogger(Log, 1); //初始化配置对象
MedivhConfig config = new MedivhConfig(); //设置应用信息(AppName,AppKey,AppSecret 是申请的,切AppKey不能重复)
config.Client = new ClientInfo() { AppName = "**监控测试NO1", AppKey = "aaaaaaaaaaaaaaaaaa", AppSecret = "..." }; config.ServerIp = "127.0.0.1";//api的地址 config.ServerPort = 5000;//api的端口 //初始化medivh引擎
MedivhSdk.Init(config); //以上是监控系统初始化完毕,现在开始使用业务计数器
//业务计数器,根据需要设置业务级别
MedivhSdk.OnceCounter.BusinessCounter("业务1", );
//自定义计数器
MedivhSdk.OnceCounter.CustomCounter("自定义" + i % , );

接入示例JAVA版

public class App {
public static void main(String[] args) throws InterruptedException { MedivhConfig config = new MedivhConfig(new ClientInfo("test", "qweasdzxc", "123"), "192.168.155.106", 5000); MedivhSdk.setLogger(new MedivhLog());
MedivhSdk.init(config); Loghelper.info("启动完成!");
test();
} private static void test() throws InterruptedException {
int i = 0;
while (true) {
i++;
//业务计数器
MedivhSdk.getOnceCounter().businessCounter("biz" + i % 7, 1);
////自定义计数器
MedivhSdk.getOnceCounter().cstcomCounter("cust" + i % 7, 1);
//Console.Write(". ");
Thread.sleep(50);
}
} static class MedivhLog implements IMedivhLogable {
@Override
public void log(String msg) {
System.out.println("Logger:" + msg);
}
}
}

以上代码完成了应用服务器sdk的接入,产生的数据会推送到api服务器上,并且由website定时获取同步到数据库中

API服务器配置

编译运行main.go(需设定golang环境,或直接运行编译后的文件).默认api占用8080端口作为http服务器,占用5000端口作为tcp服务。可在conf/app.conf里面修改。

website配置

1》website采用数据库为mysql(在conf/app.conf里面修)
2》编译或运行main.go.然后访问 http://localhost:8081 即可访问实时数据和历史数据报表。
3》外部报表仅提供api数据

原创作品,有不同的想法欢迎讨论。

最新文章

  1. CRL快速开发框架系列教程十一(大数据分库分表解决方案)
  2. 推荐的Android ORM框架
  3. 怎样把excel的数据导入到sqlserver2000数据库中
  4. redis集群同步迁移方法(一):通过redis replication实现
  5. C++: read SQL server data using System::Data::SqlClient
  6. Windows10易升下载
  7. gdal编译C#开发版本
  8. 将定时任务cron 解析成中文
  9. springMVC+JAP整合彻底摆脱persistence.xml配置文件
  10. having的用法以及与where区别介绍
  11. JavaWeb学习笔记之JSP(二)
  12. 跟我一起读postgresql源码(九)——Executor(查询执行模块之——Scan节点(上))
  13. 深入研究Spark SQL的Catalyst优化器(原创翻译)
  14. 【python 3】 文件操作
  15. [android] 开启新的activity获取他的返回值
  16. 多线程系列之五:Balking 模式
  17. ionic2 (真正)修改应用图标和启动画面
  18. android 颜色值参考,(有颜色图
  19. 通过设置代理,解决服务器禁止抓取,报“java.io.IOException: Server returned HTTP response code: 403 for URL”错误的方法
  20. 在win7/WINDOWS SERVER 2008 R2上安装 vmware POWERcli 6.5

热门文章

  1. 【VS开发】DLL和ocx的区别
  2. CentOS7设置集群环境SSH免密访问
  3. fid解释
  4. Python 集合的各种操作 数学运算 关系操作 增删改查 生成式
  5. P1224 [NOI2013]向量内积
  6. 新版 Scrapy 中 sys.conf.settings 的替代方法
  7. SQL语句优化 学习笔记
  8. mac osx sed 命令
  9. 在springmvc中使用requestContextListener获取全部的request对象
  10. thinkphp5服务器部署遇到的问题