public IActionResult GetMetricsAgentFromAgent([FromRoute] int agentId, [FromRoute] DateTimeOffset fromTime, [FromRoute] DateTimeOffset toTime) { _logger.LogInformation($"starting new request to metrics agent"); var metrics = _metricsAgentClient.GetAllHddMetrics(new GetAllHddMetricsApiRequest { ClientBaseAddress = _uriAdress.GetUri(agentId), FromTime = fromTime, ToTime = toTime }); if (metrics != null) { foreach (var item in metrics.Metrics) { _repository.Create(new HddMetrics { AgentId = agentId, Time = item.Time, Value = item.Value }); } ; } return(Ok(metrics)); }
public Task Execute(IJobExecutionContext context) { foreach (var agent in GetAllAgentsAsync()) { var request = new AllMetricsApiRequestModel() { AgentId = agent.AgentId, ClientBaseAddress = agent.AgentUrl.ToString(), FromTime = _cpuRepository.GetAll().OrderBy(e => e.Time).LastOrDefault()?.Time ?? 0, ToTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds() }; var metrics = _metricsAgentClient.GetAllCpuMetrics(request); SaveCpuMetrics(metrics, _cpuRepository); metrics = null; metrics = _metricsAgentClient.GetAllRamMetrics(request); SaveRamMetrics(metrics, _ramRepository); metrics = null; metrics = _metricsAgentClient.GetAllHddMetrics(request); SaveHddMetrics(metrics, _hddRepository); metrics = null; metrics = _metricsAgentClient.GetAllNetworkMetrics(request); SaveNetworkMetrics(metrics, _networkRepository); metrics = null; metrics = _metricsAgentClient.GetAllDotnetMetrics(request); SaveDotnetMetrics(metrics, _dotnetRepository); } return(Task.CompletedTask); }
public Task Execute(IJobExecutionContext context) { var adress = new AdressAgentFormTable(); List <AgentInfo> uriAdress = adress.GetAllAdress(); foreach (var adressAgent in uriAdress) { var fromTimeTable = new LastDate(); var fromTimeFromTable = fromTimeTable.GetTimeFromTable("hddmetrics", adressAgent.AgentId); AllHddMetricsApiResponse hddMetrics = null; if (fromTimeFromTable == null) { DateTimeOffset fromTime = DateTimeOffset.UnixEpoch; DateTimeOffset toTime = DateTimeOffset.UtcNow; hddMetrics = _metricsAgent.GetAllHddMetrics(new Requests.GetAllHddMetricsApiRequest { ClientBaseAddress = new Uri(adressAgent.AgentAddress), ToTime = toTime, FromTime = fromTime }); } else { DateTimeOffset toTime = DateTimeOffset.UtcNow; hddMetrics = _metricsAgent.GetAllHddMetrics(new Requests.GetAllHddMetricsApiRequest { ClientBaseAddress = new Uri(adressAgent.AgentAddress), ToTime = toTime, FromTime = fromTimeFromTable }); } if (hddMetrics != null) { foreach (var item in hddMetrics.Metrics) { _repository.Create(new HddMetrics { AgentId = adressAgent.AgentId, Time = item.Time, Value = item.Value }); } } } return(Task.CompletedTask); }
public Task Execute(IJobExecutionContext context) { var agentsList = _agentsRepository.GetAgentList(); if (agentsList.Count == 0) { return(Task.CompletedTask); } foreach (var agent in agentsList) { DateTimeOffset fromTime = _repository.GetLastTime(agent.AgentId); DateTimeOffset toTime = DateTimeOffset.UtcNow; var request = new GetAllHddMetricsApiRequest { ClientBaseAddress = agent.AgentAddress, FromTime = fromTime, ToTime = toTime }; var metrics = _agentClient.GetAllHddMetrics(request); if (metrics.Metrics.Count == 0) { return(Task.CompletedTask); } foreach (var metric in metrics.Metrics) { _repository.Create(new HddMetricApi { Time = metric.Time, Value = metric.Value, AgentId = agent.AgentId }); } } return(Task.CompletedTask); }
public Task Execute(IJobExecutionContext context) { var agentsList = _repositoryAgents.GetAll(); foreach (var agent in agentsList) { var metricsList = _metricsAgentClient.GetAllHddMetrics(new GetAllHddMetricsApiRequest { FromTime = _repository.GetMaxDate(agent.AgentId), ToTime = DateTimeOffset.UtcNow, ClientBaseAddress = agent.AgentURL }); if (!object.ReferenceEquals(metricsList, null)) { foreach (var metric in metricsList.Metrics) { _repository.Create(metric, agent.AgentId); } } } return(Task.CompletedTask); }