protected override void Run() { try { if (GlobalNodeConfig.NodeInfo.ifmonitor == 0) { return; } if (pcounts.Count <= 0) { return; } tb_nodeperformance model = new tb_nodeperformance(); string fileinstallpath = AppDomain.CurrentDomain.BaseDirectory.TrimEnd('\\'); double dirsizeM = -1; if (System.IO.Directory.Exists(fileinstallpath)) { long dirsize = IOHelper.DirSize(new DirectoryInfo(fileinstallpath)); dirsizeM = (double)dirsize / 1024 / 1024; model.installdirsize = (double)dirsizeM; } foreach (var p in pcounts) { var c = p.Collect(); if (p.Name.Contains("cpu")) { model.cpu = (double)c; } else if (p.Name.Contains("内存")) { model.memory = (double)c; } else if (p.Name.Contains("网络发送")) { model.networkupload = (double)c; } else if (p.Name.Contains("网络下载")) { model.networkdownload = (double)c; } else if (p.Name.Contains("物理磁盘读")) { model.ioread = (double)c; } else if (p.Name.Contains("物理磁盘写")) { model.iowrite = (double)c; } else if (p.Name.Contains("IIS请求")) { model.iisrequest = (double)c; } } model.nodeid = GlobalNodeConfig.NodeID; model.lastupdatetime = DateTime.Now; AddNodePerformanceRequest req = new AddNodePerformanceRequest() { NodePerformance = model, Source = Source.Node, MonitorClassName = this.GetType().Name }; var r = NodeProxy.PostToServer <EmptyResponse, AddNodePerformanceRequest>(ProxyUrl.AddNodePerformance_Url, req); if (r.Status != ResponesStatus.Success) { LogProxy.AddNodeErrorLog("节点性能上报出错,请求地址:" + ProxyUrl.AddNodePerformance_Url + ",请求内容:" + JsonConvert.SerializeObject(req) + ",返回结果:" + JsonConvert.SerializeObject(r)); } } catch (Exception ex) { LogProxy.AddNodeErrorLog("节点性能监控时出错:nodeid=" + GlobalNodeConfig.NodeID + ",异常信息:" + JsonConvert.SerializeObject(ex)); } }
public AddNodePerformanceRequest() { NodePerformance = new tb_nodeperformance(); }