public ServerDataViewModel ServerData(int serverId) { ServerLogic sl = new ServerLogic(); ServerDataViewModel sdvm = sl.GetServerData(serverId); return(sdvm); }
public ActionResult Index() { UserLogic gl = new UserLogic(); RequestLogic rl = new RequestLogic(); ServerLogic sl = new ServerLogic(); //Different models RequestDataViewModel rdvm = rl.GetRequestResponseTimeGraphData(); ServerDataViewModel sdvm = sl.GetServerData(10); SettingLogic s = new SettingLogic(); //events EventViewModel evm = new EventViewModel(); evm.Events = new EventLogic().GetLastEvents(5); evm.NotificationCount = Facade.NotificationDomainController.GetAll().Where(x => x.Seen == false).ToList().Count; //MasterViewModel DashBoardViewModel dbvm = gl.GetUsersGraphData(); dbvm.RequestDataViewModel = rdvm; dbvm.ServerDataViewModel = sdvm; dbvm.SettingsModel = s.GetSettings(); dbvm.EventViewModel = evm; // DashBoardViewModel dbvm = gl.GetGraphDataOneHourInterval(); return(View(dbvm)); }
private void CreateServerDownEvent(ServerDataViewModel sdvm) { try { Model.EventType type = Facade.EventTypeDomainController.GetTypeByName(StaticStrings.ServerDown); int serverInterval = Facade.SettingDomainController.GetValueByName(StaticStrings.ServerDetailInterval); RequestSummary requestSummary = Facade.RequestSummaryDomainController.GetRequestSummaryLastMinutes(serverInterval); ServerDetail latestServerDetailSummary = Facade.ServerDetailDomainController.GetLatestServerDetailByInterval(serverInterval + (serverInterval / 2)); Notification n = new Notification(); n.Seen = false; n = Facade.NotificationDomainController.Create(n); Model.Event e = new Model.Event(); e.Created = DateTime.Now; e.Value = 1; e.EventTypeId = type.Id; e.RequestSummaryId = requestSummary == null ? 0 : requestSummary.Id; e.ServerDetailId = latestServerDetailSummary == null ? 0 : latestServerDetailSummary.Id; e.NotificationId = n.Id; Facade.EventDomainController.Create(e); sdvm.Uptime = CalculateUpTime(0); sdvm.CurrentStatus = false; } catch (Exception e) { log.Error("ServerLogic - CreateServerDownEvent: " + e); } }
private void UpdateValueAndUptime(ServerDataViewModel sdvm, Model.Event lastUpOrDownEvent) { try { if (lastUpOrDownEvent != null) { TimeSpan ts = DateTime.Now.Subtract(lastUpOrDownEvent.Created); //the time between the event was created and now. decimal time = Convert.ToDecimal(ts.TotalSeconds); //convert to totalminutes lastUpOrDownEvent.Value = Convert.ToInt32(ts.TotalMinutes); //update current value sdvm.Uptime = CalculateUpTime(time); //update uptime Facade.EventDomainController.UpdateEvent(lastUpOrDownEvent); } } catch (Exception e) { log.Error("ServerLogic - UpdateValueAndUptime: " + e); } }
public ServerDataViewModel GetServerData(int serverId) { ServerDataViewModel sdvm = new ServerDataViewModel(); try { sdvm.NetworkViewModel = new NetworkViewModel(); //Graph data sdvm.CPUUtilizationGraphData = GenerateGraphData(serverId); //Servers available (for dropdown) sdvm.Servers = GetServers(); // USER ID LATER sdvm.Created = DateTime.Now; //SHOW SUMMARY - USE THIS CODE //int serverInterval = Facade.SettingDomainController.GetValueByName(StaticStrings.ServerDetailInterval); //ServerDetail latestServerDetails = Facade.ServerDetailDomainController.GetLatestServerDetailByInterval(serverInterval); ServerDetailCurrent latestServerDetails = Facade.ServerDetailCurrentDomainController.GetLatest(); if (latestServerDetails != null) { sdvm.CurrentStatus = true; sdvm.Handles = latestServerDetails.Handles; sdvm.Threads = latestServerDetails.Thread; // sdvm.Uptime = CalculateUpTime(latestServerDetails.UpTime); The computer uptime, sdvm.RAMAvailable = Convert.ToInt32(latestServerDetails.RAMAvailable); sdvm.Processes = latestServerDetails.Processes; sdvm.RAMTotal = Convert.ToInt32(latestServerDetails.RAMTotal); sdvm.NetworkViewModel.NetworkUtilization = latestServerDetails.NetworkUtilization; } //Should refactors int interval = Facade.SettingDomainController.GetValueByName(StaticStrings.ServerDetailInterval); List <ServerDetail> serverDetail = Facade.ServerDetailDomainController.GetOneDayServerDetail(serverId); if (serverDetail != null && serverDetail.Count > 0) { sdvm.NetworkViewModel.Download = serverDetail.Sum(x => x.BytesReceived); sdvm.NetworkViewModel.Upload = serverDetail.Sum(x => x.BytesSent); int totalReceived = serverDetail.Max(x => x.BytesReceived); int totalSent = serverDetail.Max(x => x.BytesSent); string totalReceivedFormatted = SizeSuffix(totalReceived, 1) + "/S"; string totalSentFormatted = SizeSuffix(totalSent, 1) + "/S"; sdvm.NetworkViewModel.PeakDownloadString = totalReceivedFormatted; sdvm.NetworkViewModel.PeakUploadString = totalSentFormatted; sdvm.NetworkViewModel.NetworkUtilization = Convert.ToInt32(serverDetail.Average(x => x.NetworkUtilization)); } bool dataLastMinut = Facade.ServerDetailCurrentDomainController.HasAchievedDataLastFifteenSeconds(); //get last up/down event and assign ServerStatus to this. var lastDown = Facade.EventDomainController.GetLatestServerDownEvent(); var lastUp = Facade.EventDomainController.GetLatestServerUpEvent(); bool ServerStatus = dataLastMinut; if (lastUp != null && lastDown != null) { if (lastDown.Created > lastUp.Created) { ServerStatus = false; } else { ServerStatus = true; } } if (!dataLastMinut) //Server considered down { if (ServerStatus) // If serverstatus was up, then it just went down and should create event { ServerStatus = false; CreateServerDownEvent(sdvm); //Create event, and finish last server up event Model.Event lastUpEvent = Facade.EventDomainController.GetLatestServerUpEvent(); if (lastUpEvent != null) { TimeSpan ts = DateTime.Now.Subtract(lastUpEvent.Created); lastUpEvent.Value = Convert.ToInt32(ts.TotalMinutes); Facade.EventDomainController.UpdateEvent(lastUpEvent); } else { CreateServerUpEvent(sdvm); } } else //Server down and last serverstatus was false, we just update the last downevents value, and the "downtime" { Model.Event lastDownEvent = Facade.EventDomainController.GetLatestServerDownEvent(); if (lastDownEvent != null) { UpdateValueAndUptime(sdvm, lastDownEvent); } else { CreateServerDownEvent(sdvm); } } } else //Server is up { if (!ServerStatus) // If serverstatus was down, then it just went up and should create event { ServerStatus = true; CreateServerUpEvent(sdvm); //Create event, and finish last server up event Model.Event lastDownEvent = Facade.EventDomainController.GetLatestServerDownEvent(); if (lastDownEvent != null) { TimeSpan ts = DateTime.Now.Subtract(lastDownEvent.Created); lastDownEvent.Value = Convert.ToInt32(ts.TotalMinutes); Facade.EventDomainController.UpdateEvent(lastDownEvent); } else { CreateServerDownEvent(sdvm); } } else { //just update the value Model.Event lastUpEvent = Facade.EventDomainController.GetLatestServerUpEvent(); if (lastUpEvent != null) { UpdateValueAndUptime(sdvm, lastUpEvent); } else { CreateServerUpEvent(sdvm); } } } sdvm.CurrentStatus = ServerStatus; } catch (Exception e) { log.Error("ServerLogic - GetServerData: " + e); } return(sdvm); }