你的位置:首页 > ASP.net教程

[ASP.net教程][业务监控系统]MEDIVH架构设计和接入方案


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", 1);//自定义计数器MedivhSdk.OnceCounter.CustomCounter("自定义" + i % 5, 1);

接入示例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数据

 

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