[業務監控系統]MEDIVH架構設計和接入方案

Medivh監控系統-

系統介紹

本系統旨在提供業務監控實時數據和歷史數據以及報表、閾值報警、同比增加分析等一體化的歷史業務數據解決方案。java

技術選型mysql

sdk部門有C#版和java版,api和website採用golang語音開發,數據庫採用mysql,數據傳輸採用socket+httpgit

架構設計github

系統源碼

本系統主要分3個部分:即sdk(@2) api(@1) 和 website(@3) 。golang

3個分系統源代碼下載地址:web

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

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

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

@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數據

 

原創做品,有不一樣的想法歡迎討論。

相關文章
相關標籤/搜索