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); } }
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)); } }
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); }); } }
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); }
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; } }
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); }); } } } }
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 })); } }
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); } }); }); }
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); } }
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("没有找到耗时库连接!"); } }
// // 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); }