[业务监控系统]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数据

 

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

posted @ 2016-03-24 15:45  Liffey  Views(1608)  Comments(0Edit  收藏  举报