Example #1
0
        private MonitorResult CheckMonitor(NcMonitor monitor)
        {
            if (monitor.Enabled)
            {
                int timeout = (int)monitor.Timeout.TotalMilliseconds;
                switch (monitor.VerificationEnum())
                {
                case MonitorVerification.Keyword:
                    return(FindKeywordOnWebsite(monitor.Url, monitor.VerificationValue, timeout));

                case MonitorVerification.StatusCode:
                    return(CheckStatusCode(monitor.Url, monitor.VerificationValue, timeout));
                }

                return(MonitorResult.Failed($"{nameof(monitor.VerificationType)} '{monitor.VerificationTypeId} - {monitor.VerificationType}' not found."));
            }

            return(MonitorResult.Success);
        }
Example #2
0
        /// <summary>
        /// Prida notifikaci o vypadku do fronty.
        /// </summary>
        /// <param name="monitor"></param>
        /// <returns></returns>
        public async Task AddNotifyDownAsync(NcMonitor monitor)
        {
            NcMonitorRecord monitorRecord = monitorManager.LastOpenedMonitorRecord(monitor.Id);

            if (monitorRecord == null)
            {//vsechny zaznamy jsou j*z uzavreny, uz neni error.
                return;
            }

            await NotifyAsync(monitor,
                              $"[MONITORING DOWN] {monitor.Name}",
                              $"Monitor '{monitor.Name}' for url '{monitor.Url}' with verificaiton rule '{monitor.VerificationEnum()}={monitor.VerificationValue}' is now down." +
                              $"\n\nRecord note: {monitorRecord.Note}",
                              notifyUp : false);
        }
Example #3
0
 /// <summary>
 /// Prida notifikaci o nahozeni do fronty.
 /// </summary>
 /// <param name="monitor"></param>
 /// <returns></returns>
 public async Task AddNotifyUpAsync(NcMonitor monitor)
 {
     await NotifyAsync(monitor,
                       $"[MONITORING UP] {monitor.Name}",
                       $"Monitor '{monitor.Name}' for url '{monitor.Url}' with verificaiton rule '{monitor.VerificationEnum()}={monitor.VerificationValue}' is now up.",
                       notifyUp : true);
 }