Пример #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);
            }
        }
Пример #3
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);
         });
     }
 }
Пример #4
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
     {
     }
 }
Пример #5
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;
     }
 }
Пример #6
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);
                        });
                    }
                }
            }
        }
Пример #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);
         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 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);
     }
 }