public ActionResult Agents() { ListModuleService module = ListFactoryService.Create(ListMethodType.AGENT); AgentDataModel model = (module.DoGetList <object>(null, Language.NotSet) as AgentDataModel); return(View(model)); }
public Agent GetAgent(int agentNr) { Agent agent = null; try { List <Type> typeList = GetTypes(); AgentDataModel agentData = _databaseConnection.GetAgentFromDatabase(agentNr); Type type = null; foreach (Type temp in typeList) { if (temp.TypeNr == agentData.Type.TypeNr) { type = temp; } } agent = new Agent(agentData.AgentNr, agentData.Name, agentData.IPAddress, type, agentData.Port, agentData.Status, agentData.SysDescription, agentData.SysName, agentData.SysUptime); } catch (SqlException e) { ExceptionCore.HandleException(ExceptionCategory.Fatal, e); } catch (InvalidCastException e) { ExceptionCore.HandleException(ExceptionCategory.High, e); } catch (Exception e) { ExceptionCore.HandleException(ExceptionCategory.Normal, e); } return(agent); }
public void Configuration(IAppBuilder app) { var _applicationConfig = new ApplicationConfig(); var _cacheHelper = new RedisHelper(_applicationConfig); var _queueDataModel = new QueueDataModel(_cacheHelper); var _agentDataModel = new AgentDataModel(_cacheHelper); var chatHub = new ChatHub(_applicationConfig, _cacheHelper, _queueDataModel, _agentDataModel); GlobalHost.DependencyResolver.Register( typeof(ChatHub), () => chatHub); GlobalHost.DependencyResolver.Register( typeof(AgentHub), () => new AgentHub(_agentDataModel, _queueDataModel, chatHub)); // Branch the pipeline here for requests that start with "/signalr" app.Map("/signalr", map => { map.UseCors(CorsOptions.AllowAll); var hubConfiguration = new HubConfiguration { // You can enable JSONP by uncommenting line below. // JSONP requests are insecure but some older browsers (and some // versions of IE) require JSONP to work cross domain // EnableJSONP = true }; hubConfiguration.EnableDetailedErrors = true; map.RunSignalR(hubConfiguration); }); }
public override object DoGetList <TFilter>(TFilter model, Language language) { AgentDataModel data = new AgentDataModel(); var agent = this.DB.WBAGENT.FirstOrDefault(); if (agent != null) { data.Content = agent.AGENT_CONTENT; } return(data); }
public void TestUpdateAgentInDatabase() { AgentDataModel newAgent = new AgentDataModel("Test-Server", "10.10.10.10", new TypeDataModel(1, "Server"), 161); // Add new Agent to Database databaseConnection.AddAgentToDatabase(newAgent, false, false); // Get AgentNr for new added Agent List <AgentDataModel> agentsAfterAdd = databaseConnection.GetAgentsFromDatabase(); int agentNr = agentsAfterAdd[agentsAfterAdd.Count - 1].AgentNr; // Check MonitoringType for inserted Agent List <MonitoringTypeDataModel> monitoringTypesExpectedBeforeUpdate = new List <MonitoringTypeDataModel>(); monitoringTypesExpectedBeforeUpdate.Add(new MonitoringTypeDataModel(1, "sysDesc", "1.3.6.1.2.1.1.1")); monitoringTypesExpectedBeforeUpdate.Add(new MonitoringTypeDataModel(9, "sysName", "1.3.6.1.2.1.1.5")); monitoringTypesExpectedBeforeUpdate.Add(new MonitoringTypeDataModel(10, "sysUptime", "1.3.6.1.2.1.25.1.1")); List <MonitoringTypeDataModel> monitoringTypesActualBeforeUpdate = databaseConnection.GetMonitoringTypesForAgentFromDatabase(agentNr); for (int i = 0; i < monitoringTypesActualBeforeUpdate.Count; i++) { Assert.AreEqual(monitoringTypesExpectedBeforeUpdate[i].MonitoringTypeNr, monitoringTypesActualBeforeUpdate[i].MonitoringTypeNr); Assert.AreEqual(monitoringTypesExpectedBeforeUpdate[i].Description, monitoringTypesActualBeforeUpdate[i].Description); Assert.AreEqual(monitoringTypesExpectedBeforeUpdate[i].ObjectID, monitoringTypesActualBeforeUpdate[i].ObjectID); } // Update new Agent databaseConnection.UpdateAgentInDatabase(agentsAfterAdd[agentsAfterAdd.Count - 1], true, true); // Check MonitoringType for updated Agent List <MonitoringTypeDataModel> monitoringTypesExpectedAfterUpdate = new List <MonitoringTypeDataModel>(); monitoringTypesExpectedAfterUpdate.Add(new MonitoringTypeDataModel(1, "sysDesc", "1.3.6.1.2.1.1.1")); monitoringTypesExpectedAfterUpdate.Add(new MonitoringTypeDataModel(9, "sysName", "1.3.6.1.2.1.1.5")); monitoringTypesExpectedAfterUpdate.Add(new MonitoringTypeDataModel(10, "sysUptime", "1.3.6.1.2.1.25.1.1")); monitoringTypesExpectedAfterUpdate.Add(new MonitoringTypeDataModel(11, "cpuUsage", "1.3.6.1.2.1.25.3.3")); monitoringTypesExpectedAfterUpdate.Add(new MonitoringTypeDataModel(12, "hrDiskStorageTable", "1.3.6.1.2.1.25.3.2")); List <MonitoringTypeDataModel> monitoringTypesActualAfterUpdate = databaseConnection.GetMonitoringTypesForAgentFromDatabase(agentNr); for (int i = 0; i < monitoringTypesActualAfterUpdate.Count; i++) { Assert.AreEqual(monitoringTypesExpectedAfterUpdate[i].MonitoringTypeNr, monitoringTypesActualAfterUpdate[i].MonitoringTypeNr); Assert.AreEqual(monitoringTypesExpectedAfterUpdate[i].Description, monitoringTypesActualAfterUpdate[i].Description); Assert.AreEqual(monitoringTypesExpectedAfterUpdate[i].ObjectID, monitoringTypesActualAfterUpdate[i].ObjectID); } // Delete new Agent databaseConnection.DeleteAgentInDatabase(agentNr); }
public void UpdateAgentInDatabase(Agent agent, bool cpuCheck, bool discCheck) { AgentDataModel agentData = new AgentDataModel(agent.AgentNr, agent.Name, agent.IPAddress, new TypeDataModel(agent.Type.TypeNr, agent.Type.Name), agent.Port, agent.Status, "undefined", "undefined", "undefined"); try { _databaseConnection.UpdateAgentInDatabase(agentData, cpuCheck, discCheck); } catch (SqlException e) { ExceptionCore.HandleException(ExceptionCategory.Fatal, e); } catch (Exception e) { ExceptionCore.HandleException(ExceptionCategory.Normal, e); } }
public void AddAgentToDatabase(Agent agent, bool cpuCheck, bool discCheck) { AgentDataModel agentData = new AgentDataModel(agent.Name, agent.IPAddress, new TypeDataModel(agent.Type.TypeNr, agent.Type.Name), agent.Port); try { _databaseConnection.AddAgentToDatabase(agentData, cpuCheck, discCheck); } catch (SqlException e) { ExceptionCore.HandleException(ExceptionCategory.Fatal, e); } catch (Exception e) { ExceptionCore.HandleException(ExceptionCategory.Normal, e); } }
public void TestGetAgents() { List <AgentDataModel> agents = databaseConnection.GetAgentsFromDatabase(); if (agents.Count > 0) { AgentDataModel testAgent = agents[0]; Assert.AreEqual(1, testAgent.AgentNr); Assert.AreEqual("sinv-56075.edu.hsr.ch", testAgent.Name); Assert.AreEqual("152.96.56.75", testAgent.IPAddress); Assert.AreEqual(1, testAgent.TypeNr); Assert.AreEqual(40001, testAgent.Port); Assert.AreEqual(1, testAgent.Status); } Assert.AreEqual(1, agents.Count); }
public void Update(AgentDomainModel agentDomainModel) { var agentDataModel = new AgentDataModel() { Id = agentDomainModel.Id, Name = agentDomainModel.Name, Address = agentDomainModel.Address, City = agentDomainModel.City, State = agentDomainModel.State, ZipCode = agentDomainModel.ZipCode, Tier = agentDomainModel.Tier, Phone = new AgentDataModel.AgentPhone() { Primary = agentDomainModel.Phone.Primary, Mobile = agentDomainModel.Phone.Mobile } }; _agentRepository.Update(agentDataModel); }
public void TestGetAgentsFromDatabase() { List <AgentDataModel> agents = databaseConnection.GetAgentsFromDatabase(); if (agents.Count > 0) { AgentDataModel testAgent = agents[0]; Assert.AreEqual(1, testAgent.AgentNr); Assert.AreEqual("sinv-56075.edu.hsr.ch", testAgent.Name); Assert.AreEqual("152.96.56.75", testAgent.IPAddress); TypeDataModel testAgentType = testAgent.Type; Assert.AreEqual(1, testAgentType.TypeNr); Assert.AreEqual(40001, testAgent.Port); Assert.AreEqual(1, testAgent.Status); Assert.AreEqual("{\n \"Results\": [\n {\n \"OID\": \"1.3.6.1.2.1.1.1.0\",\n \"Type\": \"OctetString\",\n \"Value\": \"Hardware: Intel64 Family 6 Model 62 Stepping 4 AT/AT COMPATIBLE - Software: Windows Version 6.3 (Build 9600 Multiprocessor Free)\"\n }\n ]\n}".Replace("\n", Environment.NewLine), testAgent.SysDescription); Assert.AreEqual("{\n \"Results\": [\n {\n \"OID\": \"1.3.6.1.2.1.1.5.0\",\n \"Type\": \"OctetString\",\n \"Value\": \"sinv-56075\"\n }\n ]\n}".Replace("\n", Environment.NewLine), testAgent.SysName); } Assert.AreEqual(1, agents.Count); }
public void TestAddAndDeleteAgent() { List <AgentDataModel> agentsBeforeAdd = databaseConnection.GetAgentsFromDatabase(); AgentDataModel newAgent = new AgentDataModel(1, "Test-Server", "10.10.10.10", 1, 161, 1, "", "", ""); databaseConnection.AddAgentToDatabase(newAgent, false, false); List <AgentDataModel> agentsAfterAdd = databaseConnection.GetAgentsFromDatabase(); Assert.AreEqual(agentsBeforeAdd.Count + 1, agentsAfterAdd.Count); // Check old Agents int i; for (i = 0; i < agentsBeforeAdd.Count; i++) { Assert.AreEqual(agentsBeforeAdd[i].AgentNr, agentsAfterAdd[i].AgentNr); Assert.AreEqual(agentsBeforeAdd[i].Name, agentsAfterAdd[i].Name); Assert.AreEqual(agentsBeforeAdd[i].IPAddress, agentsAfterAdd[i].IPAddress); Assert.AreEqual(agentsBeforeAdd[i].TypeNr, agentsAfterAdd[i].TypeNr); Assert.AreEqual(agentsBeforeAdd[i].Port, agentsAfterAdd[i].Port); Assert.AreEqual(agentsBeforeAdd[i].Status, agentsAfterAdd[i].Status); Assert.AreEqual(agentsBeforeAdd[i].SysDescription, agentsAfterAdd[i].SysDescription); Assert.AreEqual(agentsBeforeAdd[i].SysName, agentsAfterAdd[i].SysName); Assert.AreEqual(agentsBeforeAdd[i].SysUptime, agentsAfterAdd[i].SysUptime); } // Check new Agent Assert.AreEqual(newAgent.Name, agentsAfterAdd[i].Name); Assert.AreEqual(newAgent.IPAddress, agentsAfterAdd[i].IPAddress); Assert.AreEqual(newAgent.TypeNr, agentsAfterAdd[i].TypeNr); Assert.AreEqual(newAgent.Port, agentsAfterAdd[i].Port); Assert.AreEqual(newAgent.Status, agentsAfterAdd[i].Status); // Delete new Agent databaseConnection.DeleteAgentInDatabase(agentsAfterAdd[i].AgentNr); List <AgentDataModel> agentsAfterDelete = databaseConnection.GetAgentsFromDatabase(); Assert.AreEqual(agentsAfterDelete.Count, agentsBeforeAdd.Count); }
public void Patch(int id, JsonPatchDocument <AgentDomainModel> agentDomainModel) { var agentToPatchDataModel = _agentRepository.FindById(id); var agentToPatchDomainModel = new AgentDomainModel(); agentToPatchDomainModel.Id = agentToPatchDataModel.Id; agentToPatchDomainModel.Name = agentToPatchDataModel.Name; agentToPatchDomainModel.Address = agentToPatchDataModel.Address; agentToPatchDomainModel.City = agentToPatchDataModel.City; agentToPatchDomainModel.State = agentToPatchDataModel.State; agentToPatchDomainModel.ZipCode = agentToPatchDataModel.ZipCode; agentToPatchDomainModel.Tier = agentToPatchDataModel.Tier; agentToPatchDomainModel.Phone = new AgentDomainModel.AgentPhone() { Primary = agentToPatchDataModel.Phone.Primary, Mobile = agentToPatchDataModel.Phone.Mobile }; agentDomainModel.ApplyTo(agentToPatchDomainModel); var patchedAgentDataModel = new AgentDataModel() { Id = agentToPatchDomainModel.Id, Name = agentToPatchDomainModel.Name, Address = agentToPatchDomainModel.Address, City = agentToPatchDomainModel.City, State = agentToPatchDomainModel.State, ZipCode = agentToPatchDomainModel.ZipCode, Tier = agentToPatchDomainModel.Tier, Phone = new AgentDataModel.AgentPhone() { Primary = agentToPatchDomainModel.Phone.Primary, Mobile = agentToPatchDomainModel.Phone.Mobile } }; _agentRepository.Update(patchedAgentDataModel); }
private void GetSNMPDataFromSingleAgent(AgentDataModel agent) { try { DatabaseConnectionManager connection = new DatabaseConnectionManager(_connectionString); OctetString community = new OctetString("public"); AgentParameters param = new AgentParameters(community); param.Version = SnmpVersion.Ver2; IpAddress agentIpAddress = new IpAddress(agent.IPAddress); UdpTarget target = new UdpTarget((IPAddress)agentIpAddress, agent.Port, 2000, 1); try { this.WalkThroughOid(target, connection, agent); } finally { target.Close(); } } catch (SnmpException e) { DatabaseConnectionManager connection = new DatabaseConnectionManager(_connectionString); connection.UpdateStatusOfAgent(agent.AgentNr, 3); ExceptionCore.HandleException(ExceptionCategory.Low, e); } catch (SqlException e) { ExceptionCore.HandleException(ExceptionCategory.Fatal, e); } catch (Exception e) { ExceptionCore.HandleException(ExceptionCategory.Normal, e); } }
private void WalkThroughOid(UdpTarget target, DatabaseConnectionManager connection, AgentDataModel agent) { List <MonitoringTypeDataModel> MonitoringTypeList = connection.GetMonitoringTypesForAgentForCheckFromDatabase(agent.AgentNr); if (MonitoringTypeList.Count > 0) { List <KeyValuePair <string, string> > resultList = new List <KeyValuePair <string, string> >(); foreach (MonitoringTypeDataModel type in MonitoringTypeList) { SNMPWalk walk = new SNMPWalk(target, type.ObjectID); JObject results = walk.Walk(); resultList.Add(new KeyValuePair <string, string>(type.ObjectID, results.ToString())); } connection.AddMonitorDataToDatabase(agent.AgentNr, resultList); connection.UpdateStatusOfAgent(agent.AgentNr, 1); } }
public void Update(AgentDataModel agentDataModel) { _agentRepository.Update(agentDataModel); }
public void Add(AgentDataModel agentDataModel) { _agentRepository.Add(agentDataModel); }