protected override void Run() { SqlHelper.ExcuteSql(DbShardingHelper.GetDataBase(GlobalConfig.DataBaseConfigModels, DataBaseType.PlatformManage), (c) => { tb_cluster_dal dal = new tb_cluster_dal(); dal.UpdateOnLineTime(c, GlobalConfig.ServerIP); }); }
protected override void Run() { if (GlobalConfig.ClusterModel.ifmonitor == false) { return; } tb_performance_collect_model model = new tb_performance_collect_model(); foreach (var p in pcounts) { var c = p.Collect(); //Console.WriteLine(p.Name + ":" + c); if (p.Name.Contains("cpu")) { model.cpu = (decimal)c; } else if (p.Name.Contains("内存")) { model.memory = (decimal)c; } else if (p.Name.Contains("网络发送")) { model.networkupload = (decimal)c; } else if (p.Name.Contains("网络下载")) { model.networkdownload = (decimal)c; } else if (p.Name.Contains("物理磁盘读")) { model.ioread = (decimal)c; } else if (p.Name.Contains("物理磁盘写")) { model.iowrite = (decimal)c; } else if (p.Name.Contains("IIS请求")) { model.iisrequest = (decimal)c; } } model.serverid = GlobalConfig.ClusterModel.id; model.createtime = DateTime.Now; SqlHelper.ExcuteSql(DbShardingHelper.GetDataBase(GlobalConfig.DataBaseConfigModels, DataBaseType.Cluster), (c) => { model.createtime = c.GetServerDate(); tb_performance_collect_dal performancecollectdal = new tb_performance_collect_dal(); performancecollectdal.AddCollect(c, model); }); }
private readonly string sql = ""; // 日志sql语句 public DbLogEventHandler(LoggingDbOptions dbLogOptions) { _dbLogOptions = dbLogOptions; if (_dbLogOptions.IsDbSharding) { switch (_dbLogOptions.DbShardingRule) { case 1: tableName = tableName + "_" + DbShardingHelper.DayRule(DateTime.Now); break; case 2: tableName = tableName + "_" + DbShardingHelper.MonthRule(DateTime.Now); break; } } sql = string.Format(@"INSERT INTO {0} (Id,AddTime,ClassName,ProjectName, LogTag, LogType, LogMessage, IP) VALUES (@Id,@AddTime,@ClassName,@ProjectName, @LogTag, @LogType, @LogMessage, @IP)" , tableName); }
protected override void Run() { if (GlobalConfig.ClusterModel.ifmonitor == false) { return; } List <ClusterMonitorInfo> cmis = new List <ClusterMonitorInfo>(); foreach (var p in pcounts) { var c = p.Collect(); cmis.Add(new ClusterMonitorInfo(p.Name, c.ToString("F2"), (double)c)); } if (dct.IsCollect == true) { string msg = ""; double minfreespace = 1000000; foreach (var d in dct.Collect()) { minfreespace = Math.Min(minfreespace, d.FreeSpace); msg += string.Format("[{0}]:{1}(G)/{2}(G)\r\n", d.Name, d.FreeSpace.ToString("F2"), d.TotalSpace.ToString("F2")); } cmis.Add(new ClusterMonitorInfo(dct.Name, msg, minfreespace)); } if (mct.IsCollect == true) { var mper = mct.Collect(); cmis.Add(new ClusterMonitorInfo(mct.Name, string.Format("剩余/总量:{0}(M)/{1}(M) 已用:{2}%", ConvertHelper.ByteToM(mper.AvailablePhysicalMemory).ToString("F2"), ConvertHelper.ByteToM(mper.TotalPhysicalMemory).ToString("F2"), mper.UserdPercent), mper.UserdPercent)); } SqlHelper.ExcuteSql(DbShardingHelper.GetDataBase(GlobalConfig.DataBaseConfigModels.Select(c1 => (dynamic)c1).ToList(), DataBaseType.Cluster), (c) => { tb_cluster_monitorinfo_dal dal = new tb_cluster_monitorinfo_dal(); dal.AddOrUpdate(c, new tb_cluster_monitorinfo_model() { lastupdatetime = c.GetServerDate(), serverid = GlobalConfig.ClusterModel.id, monitorinfojson = new JsonHelper().Serializer(cmis) }); }); }
public void AddCollect(DbConn PubConn, tb_performance_collect_model model) { SqlHelper.Visit(ps => { //服务器id ps.Add("@serverid", model.serverid); //cpu信息 ps.Add("@cpu", model.cpu); //内存字节 ps.Add("@memory", model.memory); //网络上传字节 ps.Add("@networkupload", model.networkupload); //网络下载字节 ps.Add("@networkdownload", model.networkdownload); //io读字节 ps.Add("@ioread", model.ioread); //io写字节 ps.Add("@iowrite", model.iowrite); // ps.Add("@iisrequest", model.iisrequest); //创建时间 ps.Add("@createtime", model.createtime); return(PubConn.ExecuteSql(string.Format(@"insert into tb_performance_collect{0}(serverid,cpu,memory,networkupload,networkdownload,ioread,iowrite,iisrequest,createtime) values(@serverid,@cpu,@memory,@networkupload,@networkdownload,@ioread,@iowrite,@iisrequest,@createtime)" , DbShardingHelper.DayRule(DateTime.Now)), ps.ToParameters())); }); }