/// <summary> /// Check if all required monitors exists in monitis API /// </summary> /// <returns></returns> public Boolean CheckCustomMonitors() { CustomMonitorAPI customMonitorAPI = new CustomMonitorAPI(this.APIKey, this.APIType); IEnumerable <Monitor> monitorList = customMonitorAPI.GetMonitorList(); foreach (String monitorName in CustomMonitorList.Singleton.MonitorNames) { String name = monitorName; Monitor monitor = monitorList.FirstOrDefault(f => f.Name.Equals(name)); if (monitor == null) { return(false); } CustomMonitorList.Singleton.GetConfigByMonitorName(monitor.Name).MonitorID = monitor.ID; } return(true); }
/// <summary> /// Create monitors for Azure metrics and counters in Monitis service /// </summary> public List <string> CreateAzureMonitors() { CustomMonitorAPI customMonitorAPI = new CustomMonitorAPI(this.APIKey, this.APIType); List <String> notAddedMonitors = new List <String>(); IEnumerable <Monitor> monitorList = customMonitorAPI.GetMonitorList(); foreach (var monitorName in CustomMonitorList.Singleton.MonitorNames.Except(monitorList.Select(f => f.Name))) { AddMonitorResponse addMonitorResponse = customMonitorAPI.AddMonitor(CurrentAuthToken, CustomMonitorList.Singleton.GetConfigByMonitorName(monitorName).Descriptor); if (!addMonitorResponse.IsOk) { notAddedMonitors.Add(monitorName); } } return(notAddedMonitors); }