public MetricScrapingJob(ScrapeDefinition <AzureResourceDefinition> metric, IMetricsDeclarationProvider metricsDeclarationProvider, IPrometheusMetricWriter prometheusMetricWriter, IRuntimeMetricsCollector runtimeMetricsCollector, MetricScraperFactory metricScraperFactory, ILogger logger, IExceptionTracker exceptionTracker) { Guard.NotNull(metric, nameof(metric)); Guard.NotNull(metricsDeclarationProvider, nameof(metricsDeclarationProvider)); Guard.NotNull(prometheusMetricWriter, nameof(prometheusMetricWriter)); Guard.NotNull(runtimeMetricsCollector, nameof(runtimeMetricsCollector)); Guard.NotNull(metricScraperFactory, nameof(metricScraperFactory)); Guard.NotNull(logger, nameof(logger)); Guard.NotNull(exceptionTracker, nameof(exceptionTracker)); _metric = metric; _metricsDeclarationProvider = metricsDeclarationProvider; _prometheusMetricWriter = prometheusMetricWriter; _runtimeMetricsCollector = runtimeMetricsCollector; _exceptionTracker = exceptionTracker; _logger = logger; _metricScraperFactory = metricScraperFactory; ConfigureJob(); }
/// <summary> /// Constructor /// </summary> /// <param name="azureMetadata">Metadata concerning the Azure resources</param> /// <param name="azureCredentials">Credentials used to authenticate to Microsoft Azure</param> /// <param name="exceptionTracker">Exception tracker</param> protected Scraper(AzureMetadata azureMetadata, AzureCredentials azureCredentials, IExceptionTracker exceptionTracker) { Guard.NotNull(exceptionTracker, nameof(exceptionTracker)); _exceptionTracker = exceptionTracker; AzureMetadata = azureMetadata ?? throw new ArgumentNullException(nameof(azureMetadata)); AzureCredentials = azureCredentials ?? throw new ArgumentNullException(nameof(azureCredentials)); }
public MetricScraperFactory(IConfiguration configuration, ILogger logger, IExceptionTracker exceptionTracker) { Guard.NotNull(configuration, nameof(configuration)); Guard.NotNull(logger, nameof(logger)); Guard.NotNull(exceptionTracker, nameof(exceptionTracker)); _logger = logger; _configuration = configuration; _exceptionTracker = exceptionTracker; }
public MetricScrapingJob(IMetricsDeclarationProvider metricsDeclarationProvider, ILogger logger, IExceptionTracker exceptionTracker) { Guard.NotNull(metricsDeclarationProvider, nameof(metricsDeclarationProvider)); Guard.NotNull(exceptionTracker, nameof(exceptionTracker)); Guard.NotNull(logger, nameof(logger)); _metricsDeclarationProvider = metricsDeclarationProvider; _exceptionTracker = exceptionTracker; _logger = logger; ConfigureJob(); }
/// <summary> /// Constructor /// </summary> protected Scraper(ScraperConfiguration scraperConfiguration) { Guard.NotNull(scraperConfiguration, nameof(scraperConfiguration)); _logger = scraperConfiguration.Logger; _exceptionTracker = scraperConfiguration.ExceptionTracker; _scraperConfiguration = scraperConfiguration; _prometheusMetricWriter = scraperConfiguration.PrometheusMetricWriter; AzureMetadata = scraperConfiguration.AzureMetadata; AzureMonitorClient = scraperConfiguration.AzureMonitorClient; }
/// <summary> /// Constructor /// </summary> /// <param name="azureMetadata">Metadata concerning the Azure resources</param> /// <param name="azureMonitorClient">Client to communicate with Azure Monitor</param> /// <param name="logger">General logger</param> /// <param name="exceptionTracker">Exception tracker</param> protected Scraper(AzureMetadata azureMetadata, AzureMonitorClient azureMonitorClient, ILogger logger, IExceptionTracker exceptionTracker) { Guard.NotNull(exceptionTracker, nameof(exceptionTracker)); Guard.NotNull(azureMetadata, nameof(azureMetadata)); Guard.NotNull(azureMonitorClient, nameof(azureMonitorClient)); _logger = logger; _exceptionTracker = exceptionTracker; AzureMetadata = azureMetadata; AzureMonitorClient = azureMonitorClient; }
/// <summary> /// Constructor /// </summary> /// <param name="azureMetadata">Metadata concerning the Azure resources</param> /// <param name="azureMonitorClient">Client to communicate with Azure Monitor</param> /// <param name="prometheusMetricWriter">Metrics collector for our Prometheus scraping endpoint</param> /// <param name="logger">General logger</param> /// <param name="exceptionTracker">Exception tracker</param> public ScraperConfiguration(AzureMetadata azureMetadata, AzureMonitorClient azureMonitorClient, IPrometheusMetricWriter prometheusMetricWriter, ILogger logger, IExceptionTracker exceptionTracker) { Guard.NotNull(azureMetadata, nameof(azureMetadata)); Guard.NotNull(azureMonitorClient, nameof(azureMonitorClient)); Guard.NotNull(prometheusMetricWriter, nameof(prometheusMetricWriter)); Guard.NotNull(logger, nameof(logger)); Guard.NotNull(exceptionTracker, nameof(exceptionTracker)); AzureMetadata = azureMetadata; AzureMonitorClient = azureMonitorClient; PrometheusMetricWriter = prometheusMetricWriter; Logger = logger; ExceptionTracker = exceptionTracker; }
public MetricScrapingJob(MetricDefinition metric, IMetricsDeclarationProvider metricsDeclarationProvider, IRuntimeMetricsCollector runtimeMetricsCollector, ILogger logger, IExceptionTracker exceptionTracker) { Guard.NotNull(metric, nameof(metric)); Guard.NotNull(exceptionTracker, nameof(exceptionTracker)); Guard.NotNull(logger, nameof(logger)); _metric = metric; _metricsDeclarationProvider = metricsDeclarationProvider; _runtimeMetricsCollector = runtimeMetricsCollector; _exceptionTracker = exceptionTracker; _logger = logger; ConfigureJob(); }
/// <summary> /// Creates a scraper that is capable of scraping a specific resource type /// </summary> /// <param name="azureMetadata">Metadata concerning the Azure resources</param> /// <param name="metricDefinitionResourceType">Resource type to scrape</param> /// <param name="logger">General logger</param> /// <param name="exceptionTracker">Tracker used to log exceptions</param> public static IScraper <MetricDefinition> CreateScraper(ResourceType metricDefinitionResourceType, AzureMetadata azureMetadata, ILogger logger, IExceptionTracker exceptionTracker) { var azureCredentials = DetermineAzureCredentials(); var azureMonitorClient = CreateAzureMonitorClient(azureMetadata, azureCredentials, logger); switch (metricDefinitionResourceType) { case ResourceType.ServiceBusQueue: return(new ServiceBusQueueScraper(azureMetadata, azureMonitorClient, logger, exceptionTracker)); case ResourceType.Generic: return(new GenericScraper(azureMetadata, azureMonitorClient, logger, exceptionTracker)); case ResourceType.StorageQueue: return(new StorageQueueScraper(azureMetadata, azureMonitorClient, logger, exceptionTracker)); case ResourceType.ContainerInstance: return(new ContainerInstanceScraper(azureMetadata, azureMonitorClient, logger, exceptionTracker)); case ResourceType.VirtualMachine: return(new VirtualMachineScraper(azureMetadata, azureMonitorClient, logger, exceptionTracker)); case ResourceType.NetworkInterface: return(new NetworkInterfaceScraper(azureMetadata, azureMonitorClient, logger, exceptionTracker)); case ResourceType.ContainerRegistry: return(new ContainerRegistryScraper(azureMetadata, azureMonitorClient, logger, exceptionTracker)); case ResourceType.CosmosDb: return(new CosmosDbScraper(azureMetadata, azureMonitorClient, logger, exceptionTracker)); default: throw new ArgumentOutOfRangeException(); } }
public VirtualMachineScraper(AzureMetadata azureMetadata, AzureMonitorClient azureMonitorClient, ILogger logger, IExceptionTracker exceptionTracker) : base(azureMetadata, azureMonitorClient, logger, exceptionTracker) { }
public ServiceBusQueueScraper(AzureMetadata azureMetadata, AzureCredentials azureCredentials, IExceptionTracker exceptionTracker) : base(azureMetadata, azureCredentials, exceptionTracker) { }
public CosmosDbScraper(AzureMetadata azureMetadata, AzureMonitorClient azureMonitorClient, ILogger logger, IExceptionTracker exceptionTracker) : base(azureMetadata, azureMonitorClient, logger, exceptionTracker) { }
public GenericScraper(AzureMetadata azureMetadata, MetricDefaults metricDefaults, AzureMonitorClient azureMonitorClient, ILogger logger, IExceptionTracker exceptionTracker) : base(azureMetadata, metricDefaults, azureMonitorClient, logger, exceptionTracker) { }
public StorageQueueScraper(AzureMetadata azureMetadata, AzureMonitorClient azureMonitorClient, ILogger logger, IExceptionTracker exceptionTracker) : base(azureMetadata, azureMonitorClient, logger, exceptionTracker) { _azureStorageQueueClient = new AzureStorageQueueClient(logger); }
public GenericScraper(AzureMetadata azureMetadata, AzureCredentials azureCredentials, IExceptionTracker exceptionTracker) : base(azureMetadata, azureCredentials, exceptionTracker) { }
public ContainerRegistryScraper(AzureMetadata azureMetadata, AzureMonitorClient azureMonitorClient, ILogger logger, IExceptionTracker exceptionTracker) : base(azureMetadata, azureMonitorClient, logger, exceptionTracker) { }
public ServiceBusQueueScraper(AzureMetadata azureMetadata, AzureMonitorClient azureMonitorClient, ILogger logger, IExceptionTracker exceptionTracker) : base(azureMetadata, azureMonitorClient, logger, exceptionTracker) { }
public NetworkInterfaceScraper(AzureMetadata azureMetadata, AzureMonitorClient azureMonitorClient, ILogger logger, IExceptionTracker exceptionTracker) : base(azureMetadata, azureMonitorClient, logger, exceptionTracker) { }
/// <summary> /// Creates a scraper that is capable of scraping a specific resource type /// </summary> /// <param name="azureMetadata">Metadata concerning the Azure resources</param> /// <param name="metricDefinitionResourceType">Resource type to scrape</param> /// <param name="metricDefaults">Default configuration for metrics</param> /// <param name="logger">General logger</param> /// <param name="exceptionTracker">Tracker used to log exceptions</param> public static IScraper <MetricDefinition> CreateScraper(ResourceType metricDefinitionResourceType, AzureMetadata azureMetadata, MetricDefaults metricDefaults, ILogger logger, IExceptionTracker exceptionTracker) { var azureCredentials = DetermineAzureCredentials(); var azureMonitorClient = CreateAzureMonitorClient(azureMetadata, azureCredentials, logger); switch (metricDefinitionResourceType) { case ResourceType.ServiceBusQueue: return(new ServiceBusQueueScraper(azureMetadata, metricDefaults, azureMonitorClient, logger, exceptionTracker)); case ResourceType.Generic: return(new GenericScraper(azureMetadata, metricDefaults, azureMonitorClient, logger, exceptionTracker)); case ResourceType.StorageQueue: return(new StorageQueueScraper(azureMetadata, metricDefaults, azureMonitorClient, logger, exceptionTracker)); default: throw new ArgumentOutOfRangeException(); } }
public AzureMonitorScrapingTask(IMetricsDeclarationProvider metricsDeclarationProvider, ILogger logger, IExceptionTracker exceptionTracker) { _metricsDeclarationProvider = metricsDeclarationProvider; _logger = logger; _exceptionTracker = exceptionTracker; }
/// <summary> /// Creates a scraper that is capable of scraping a specific resource type /// </summary> /// <param name="azureMetadata">Metadata concerning the Azure resources</param> /// <param name="metricDefinitionResourceType">Resource type to scrape</param> /// <param name="exceptionTracker">Tracker used to log exceptions</param> internal static IScraper <MetricDefinition> CreateScraper(AzureMetadata azureMetadata, ResourceType metricDefinitionResourceType, IExceptionTracker exceptionTracker) { var azureCredentials = DetermineAzureCredentials(); switch (metricDefinitionResourceType) { case ResourceType.ServiceBusQueue: return(new ServiceBusQueueScraper(azureMetadata, azureCredentials, exceptionTracker)); case ResourceType.Generic: return(new GenericScraper(azureMetadata, azureCredentials, exceptionTracker)); default: throw new ArgumentOutOfRangeException(); } }