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); }
/// <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); }
/// <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); }