Exemplo n.º 1
0
        public override void Run()
        {
            GlobalConfig.MonitorPlatformManageConnectString = AppConfig["MonitorPlatformManageConnectString"];
            int EveryGrowErrorNum = Convert.ToInt32(AppConfig["EveryGrowErrorNum"]);

            SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
            {
                tb_database_config_dal dal = new tb_database_config_dal();
                var list = dal.GetModelList(c);
                UnityLogConnectString = XXF.BaseService.Monitor.SystemRuntime.DbShardingHelper.GetDataBase(list, XXF.BaseService.Monitor.SystemRuntime.DataBaseType.UnityLog);
            });

            int errornum = 0;

            SqlHelper.ExcuteSql(UnityLogConnectString, (c) =>
            {
                tb_error_log_dal dal = new tb_error_log_dal();
                errornum             = dal.GetGrawErrorNum(c, lastscantime);
            });
            if (errornum > EveryGrowErrorNum)
            {
                TaskLogHelper.Error("错误预警任务", string.Format("【{0}】-【{1}】期间平台错误日志增加{2}条", lastscantime, DateTime.Now, errornum), "错误预警任务");
            }
            lastscantime = DateTime.Now;
        }
        public bool CreateTable(out Dictionary <string, Exception> errordic)
        {
            errordic = new Dictionary <string, Exception>();
            Dictionary <string, string>     configDic    = new Dictionary <string, string>();
            List <tb_database_config_model> databaseList = new List <tb_database_config_model>();
            tb_database_config_dal          databaseDal  = new tb_database_config_dal();
            DateTime dateNow = new DateTime();

            using (DbConn PubConn = DbConfig.CreateConn(XXFConfig.MonitorPlatformConnectionString))
            {
                PubConn.Open();
                dateNow      = PubConn.GetServerDate();
                configDic    = new tb_keyvalue_config_dal().GetAll(PubConn);
                databaseList = databaseDal.GetModelList(PubConn);
            }
            if (configDic.Count > 0)
            {
                if (databaseList.Count > 0)
                {
                    string dayTableSuffix       = dateNow.ToString("yyyyMMdd");
                    string dayTableSuffixNext   = dateNow.AddDays(1).ToString("yyyyMMdd");
                    string monthTableSuffix     = dateNow.ToString("yyyyMM");
                    string monthTableSuffixNext = dateNow.AddMonths(1).ToString("yyyyMM");
                    foreach (tb_database_config_model m in databaseList)
                    {
                        string Connection = databaseDal.ReplaceConnectStringTemplate(m);
                        using (DbConn PubConn = DbConfig.CreateConn(Connection))
                        {
                            PubConn.Open();
                            try
                            {
                                if (m.dbtype == (int)DataBaseType.Cluster)
                                {
                                    CreateDayTable(PubConn, "tb_performance_collect", configDic["CreatePerCollectTable"], dayTableSuffix, dayTableSuffixNext);
                                }
                                if (m.dbtype == (int)DataBaseType.Timewatch)
                                {
                                    CreateDayTable(PubConn, "tb_timewatchlog_api", configDic["CreateTimeWatchApiLogTable"], dayTableSuffix, dayTableSuffixNext);
                                    CreateDayTable(PubConn, "tb_timewatchlog", configDic["CreateTimeWatchLogTable"], dayTableSuffix, dayTableSuffixNext);
                                }
                                if (m.dbtype == (int)DataBaseType.UnityLog)
                                {
                                    CreateMonthTable(PubConn, "tb_error_log", configDic["CreateErrorLogTable"], monthTableSuffix, monthTableSuffixNext);
                                    CreateMonthTable(PubConn, "tb_log", configDic["CreateLogTable"], monthTableSuffix, monthTableSuffixNext);
                                }
                            }
                            catch (Exception ex)
                            {
                                errordic.Add("创建表失败|连接" + Connection, ex);
                            }
                        }
                    }
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 3
0
 public ActionResult Update(int id)
 {
     using (DbConn PubConn = DbConfig.CreateConn(Config.PlatformManageConnectString))
     {
         PubConn.Open();
         tb_database_config_model model = new tb_database_config_dal().Get(PubConn, id);
         return(View(model));
     }
 }
Exemplo n.º 4
0
 private static void LoadConnectString()
 {
     if (string.IsNullOrWhiteSpace(UnityLogConnectString))
     {
         SqlHelper.ExcuteSql(CoreGlobalConfig.PlatformManageConnectString, (c) =>
         {
             tb_database_config_dal dal = new tb_database_config_dal();
             var list = dal.GetModelList(c);
             UnityLogConnectString = XXF.BaseService.Monitor.SystemRuntime.DbShardingHelper.GetDataBase(list, XXF.BaseService.Monitor.SystemRuntime.DataBaseType.UnityLog);
         });
     }
 }
Exemplo n.º 5
0
 static Config()
 {
     try
     {
         SqlHelper.ExcuteSql(XXF.Common.XXFConfig.MonitorPlatformConnectionString, (c) => {
             tb_database_config_dal configdal = new tb_database_config_dal();
             UnityLogConnectString            = DbShardingHelper.GetDataBase(configdal.GetModelList(c), DataBaseType.UnityLog);
         });
     }
     catch
     {
     }
 }
        public bool StatisApiMinitor()
        {
            tb_timewatchlog_api_dayreport_model staticDayReport = new tb_timewatchlog_api_dayreport_model();
            List <string> sqlConnList = new List <string>();
            string        day         = "";
            string        date        = "";

            using (DbConn PubConn = DbConfig.CreateConn(XXFConfig.MonitorPlatformConnectionString))
            {
                PubConn.Open();
                DateTime dateNow = PubConn.GetServerDate();
                day         = dateNow.ToString("yyyyMMdd");
                date        = dateNow.ToString("yyyy-MM-dd");
                sqlConnList = new tb_database_config_dal().GetDataBaseSqlConnList(PubConn, (int)DataBaseType.Timewatch);
            }
            foreach (string conn in sqlConnList)
            {
                using (DbConn PubConn = DbConfig.CreateConn(conn))
                {
                    PubConn.Open();
                    int oldMaxID = GetOldDayReportMaxID(PubConn, date);
                    Dictionary <string, tb_timewatchlog_api_dayreport_model> oldDayReportList = GetOldDayReport(PubConn, date);
                    List <tb_timewatchlog_api_dayreport_model> newDayReportList = GetNewDayReport(PubConn, day, oldMaxID);
                    foreach (tb_timewatchlog_api_dayreport_model m in newDayReportList)
                    {
                        if (oldDayReportList.Keys.Contains(m.url))
                        {
                            tb_timewatchlog_api_dayreport_model oldStaticDayReport = oldDayReportList[m.url];
                            tb_timewatchlog_api_dayreport_model newStaticDayReport = new tb_timewatchlog_api_dayreport_model()
                            {
                                id             = oldStaticDayReport.id,
                                avgtime        = (oldStaticDayReport.avgtime * oldStaticDayReport.count + m.avgtime * m.count) / (oldStaticDayReport.count + m.count),
                                maxtime        = oldStaticDayReport.maxtime > m.maxtime ? oldStaticDayReport.maxtime : m.maxtime,
                                mintime        = oldStaticDayReport.mintime < m.mintime ? oldStaticDayReport.mintime : m.mintime,
                                lastmaxid      = m.lastmaxid,
                                url            = m.url,
                                count          = oldStaticDayReport.count + m.count,
                                lastupdatetime = DateTime.Now
                            };
                            Update(PubConn, newStaticDayReport);
                        }
                        else
                        {
                            Insert(PubConn, m);
                        }
                    }
                }
            }
            return(true);
        }
Exemplo n.º 7
0
 public override void Run()
 {
     GlobalConfig.MonitorPlatformManageConnectString = AppConfig["MonitorPlatformManageConnectString"];
     SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
     {
         tb_database_config_dal dal = new tb_database_config_dal();
         var list = dal.GetModelList(c);
         MonitorClusterConnectString = XXF.BaseService.Monitor.SystemRuntime.DbShardingHelper.GetDataBase(list, XXF.BaseService.Monitor.SystemRuntime.DataBaseType.Cluster);
     });
     CheckMonitorInfoWarning();
     if (lastclusterruntime.Date != DateTime.Now.Date && DateTime.Now.Hour > 18)//每天18点后运行,每天运行一次足矣。
     {
         CheckPerformanceOfCluster();
         lastclusterruntime = DateTime.Now;
     }
 }
Exemplo n.º 8
0
        public override void Run()
        {
            GlobalConfig.MonitorPlatformManageConnectString = AppConfig["MonitorPlatformManageConnectString"];

            SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
            {
                tb_database_config_dal dal = new tb_database_config_dal();
                var list = dal.GetModelList(c);
                UnityLogConnectString = XXF.BaseService.Monitor.SystemRuntime.DbShardingHelper.GetDataBase(list, XXF.BaseService.Monitor.SystemRuntime.DataBaseType.UnityLog);
            });

            List <tb_user_model> users = new List <tb_user_model>();

            SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
            {
                tb_user_dal dal = new tb_user_dal();
                users           = dal.GetAllUsers(c);
            });
            foreach (var u in users)
            {
                if (!string.IsNullOrWhiteSpace(u.useremail))
                {
                    if (u.lastsenderrortime.AddMinutes(u.errorsendintervaltime) < DateTime.Now)
                    {
                        List <tb_error_log_model> errors = new List <tb_error_log_model>();
                        SqlHelper.ExcuteSql(UnityLogConnectString, (c) =>
                        {
                            tb_error_log_dal dal = new tb_error_log_dal();
                            if (u.userrole == (byte)XXF.BaseService.Monitor.SystemRuntime.EnumUserRole.Admin)
                            {
                                errors = dal.GetUserErrors(c, u.lastsenderrortime, "", "", 50);
                            }
                            else
                            {
                                errors = dal.GetUserErrors(c, u.lastsenderrortime, u.username.Trim(), u.userstaffno.Trim(), 50);
                            }
                        });
                        SendEmail(errors, u.useremail);
                        SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
                        {
                            tb_user_dal dal = new tb_user_dal();
                            dal.UpdateLastErrorSendTime(c, u.id, DateTime.Now);
                        });
                    }
                }
            }
        }
Exemplo n.º 9
0
 public JsonResult Delete(int id)
 {
     try
     {
         tb_database_config_dal dal = new tb_database_config_dal();
         using (DbConn PubConn = DbConfig.CreateConn(Config.PlatformManageConnectString))
         {
             PubConn.Open();
             dal.Delete(PubConn, id);
             return(Json(new { code = 1, msg = "Success" }));
         }
     }
     catch (Exception ex)
     {
         return(Json(new { code = -1, msg = ex.Message }));
     }
 }
Exemplo n.º 10
0
 public override void Run()
 {
     GlobalConfig.MonitorPlatformManageConnectString = AppConfig["MonitorPlatformManageConnectString"];
     SqlHelper.ExcuteSql(GlobalConfig.MonitorPlatformManageConnectString, (c) =>
     {
         tb_database_config_dal dal = new tb_database_config_dal();
         var list = dal.GetModelList(c);
         list.ForEach(o =>
         {
             if (o.dbtype == (byte)XXF.BaseService.Monitor.SystemRuntime.DataBaseType.Timewatch)
             {
                 var connectstring = XXF.BaseService.Monitor.SystemRuntime.DbShardingHelper.GetDataBase(o);
                 CheckPerformanceOfApi(connectstring, o);
                 CheckPerformanceOfSql(connectstring, o);
             }
         });
     });
 }
Exemplo n.º 11
0
        public ActionResult Update(tb_database_config_model model)
        {
            tb_database_config_dal dal = new tb_database_config_dal();

            try
            {
                using (DbConn PubConn = DbConfig.CreateConn(Config.PlatformManageConnectString))
                {
                    PubConn.Open();
                    dal.Edit(PubConn, model);
                    return(RedirectToAction("index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error", ex.Message);
                return(View(model));
            }
        }
        public bool SqlHashContrast(int sqljudgmentbase)
        {
            string day = "";
            tb_sqlhash_consult_dal condal      = new tb_sqlhash_consult_dal();
            tb_sqlhash_noparam_dal nodal       = new tb_sqlhash_noparam_dal();
            List <string>          sqlConnList = new List <string>();

            using (DbConn PubConn = DbConfig.CreateConn(XXFConfig.MonitorPlatformConnectionString))
            {
                PubConn.Open();
                day         = PubConn.GetServerDate().ToString("yyyyMMdd");
                sqlConnList = new tb_database_config_dal().GetDataBaseSqlConnList(PubConn, (int)DataBaseType.Timewatch);
            }
            foreach (string conn in sqlConnList)
            {
                using (DbConn PubConn = DbConfig.CreateConn(conn))
                {
                    PubConn.Open();
                    condal.DeleteAll(PubConn);
                    nodal.DeleteAll(PubConn);
                    List <tb_sqlhash_consult_model> sqlHashList = Contrast(PubConn, day);
                    foreach (tb_sqlhash_consult_model m in sqlHashList)
                    {
                        if (m.count > sqljudgmentbase)
                        {
                            condal.Add(PubConn, m);
                        }
                        else
                        {
                            tb_sqlhash_noparam_model nomodel = new tb_sqlhash_noparam_model()
                            {
                                sql     = m.sql,
                                sqlhash = m.sqlhash,
                                count   = m.count,
                            };
                            nodal.Add(PubConn, nomodel);
                        }
                    }
                }
            }
            return(true);
        }
 public static void LoadBaseConfig()
 {
     try
     {
         DataBaseConfigModels = new List <tb_database_config_model>();
         SqlHelper.ExcuteSql(CoreGlobalConfig.PlatformManageConnectString, (c) =>
         {
             tb_database_config_dal databasedal = new tb_database_config_dal();
             var modellist = databasedal.GetModelList(c);
             if (modellist != null)
             {
                 DataBaseConfigModels = modellist;
             }
         });
     }
     catch (Exception exp)
     {
         LogHelper.Error(string.Format("服务器[id:{0}] ", GlobalConfig.ServerIP.NullToEmpty()) + "LoadBaseConfig", exp);
     }
 }
Exemplo n.º 14
0
        public ActionResult ConnVisit(int connid, Func <string, ActionResult> action)
        {
            Dictionary <int, timewatchConnModel> timeWatchConn = new Dictionary <int, timewatchConnModel>();

            using (DbConn PubConn = DbConfig.CreateConn(Config.PlatformManageConnectString))
            {
                PubConn.Open();
                timeWatchConn = new tb_database_config_dal().GetDataBaseSqlConnDic(PubConn, (int)DataBaseType.Timewatch);
            }
            if (timeWatchConn.Count > 0)
            {
                ViewBag.TimeWatchConn = timeWatchConn;
                ViewBag.Connid        = connid;
                string pointConn = connid == 0 ? timeWatchConn.First().Value.connect : timeWatchConn[connid].connect;
                return(action.Invoke(pointConn));//.Replace("10.251.248.64", "121.40.29.71")
            }
            else
            {
                throw new Exception("没有找到耗时库连接!");
            }
        }
Exemplo n.º 15
0
        //
        // GET: /Manage/DataBaseConfig/

        public ActionResult Index(string keyword, int dbtype = -1, int pageindex = 1, int pagesize = 10)
        {
            ViewBag.keyword   = keyword;
            ViewBag.dbtype    = dbtype;
            ViewBag.pagesize  = pagesize;
            ViewBag.pageindex = pageindex;
            tb_database_config_dal dal = new tb_database_config_dal();
            PagedList <tb_database_config_model> pageList = null;
            int count = 0;

            using (DbConn PubConn = DbConfig.CreateConn(Config.PlatformManageConnectString))
            {
                PubConn.Open();
                List <tb_database_config_model> List = dal.GetList(PubConn, keyword, dbtype, pagesize, pageindex, out count);
                pageList = new PagedList <tb_database_config_model>(List, pageindex, pagesize, count);
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("List", pageList));
            }
            return(View(pageList));
        }
        public bool GenerationTask()
        {
            string        day         = "";
            List <string> sqlConnList = new List <string>();

            using (DbConn PubConn = DbConfig.CreateConn(XXFConfig.MonitorPlatformConnectionString))
            {
                PubConn.Open();
                day         = PubConn.GetServerDate().ToString("yyyyMMdd");
                sqlConnList = new tb_database_config_dal().GetDataBaseSqlConnList(PubConn, (int)DataBaseType.Timewatch);
            }
            foreach (string conn in sqlConnList)
            {
                using (DbConn PubConn = DbConfig.CreateConn(conn))
                {
                    PubConn.Open();
                    DeleteAll(PubConn);
                    Generation(PubConn, day);
                }
            }
            return(true);
        }