public MonitoringPeriodsProvider(
     IMonitoringSettings monitoringSettings,
     IDateTimeProvider dateTimeProvider)
 {
     _monitoringSettings = monitoringSettings;
     _dateTimeProvider   = dateTimeProvider;
 }
예제 #2
0
 public MonitoringWorker(
     ILogger <MonitoringWorker> logger,
     IEnumerable <Lazy <IMonitoringProcess, MonitoringProcessMetadata> > monitoringProcesses,
     IRepository <MonitoringEntity> monitoringEntityRepository,
     IMonitoringSettings monitoringSettings,
     IMonitoringPeriodsProvider monitoringPeriodsProvider)
 {
     _logger = logger;
     _monitoringProcesses        = monitoringProcesses;
     _monitoringEntityRepository = monitoringEntityRepository;
     _monitoringSettings         = monitoringSettings;
     _monitoringPeriodsProvider  = monitoringPeriodsProvider;
 }
        public CreatePingMonitoringEntityCommandValidator(IMonitoringSettings monitoringSettings, IValidator <ISiteId> siteIdValidator)
        {
            RuleFor(i => i.Entity).NotNull();

            RuleFor(i => i.Entity.Type).Equal(MonitoringType.Ping).WithMessage(
                $"{nameof(MonitoringEntity)} must have {nameof(MonitoringEntity.Type)}: {MonitoringType.Ping}");

            RuleFor(i => i.Entity).ChildRules(i => i.Include(siteIdValidator));

            var validPeriods = monitoringSettings.CombinedMonitoringPeriodsInMinutes;

            RuleFor(i => i.Entity.PeriodInMinutes)
            .Must(i => monitoringSettings.CombinedMonitoringPeriodsInMinutes.Contains(i))
            .WithMessage(
                $"{nameof(MonitoringEntity.PeriodInMinutes)} should have one of the following values: {string.Join(", ", validPeriods)}");

            RuleFor(i => i.Entity.Address)
            .Must(i => Regex.IsMatch(i, ValidHostnameRegex))
            .WithMessage($"{nameof(MonitoringEntity.Address)} should be valid DNS address");
        }
 public MonitoringService(IMonitoringSettings monitoringSettings, ILog logger)
 {
     _monitoringSettings = monitoringSettings;
     _logger             = logger;
 }