public async Task <bool> UpdateDevOpsMonitoringEvent(string requestBody) { MonitoringEvent monitoringEvent = new MonitoringEvent(requestBody); string url = $"/api/TableStorage/UpdateDevOpsMonitoringEvent"; return(await PostResponse(Client, url, monitoringEvent)); }
/// <summary> /// Gets the alarm data. /// </summary> /// <param name="monitoringEvent">The monitoring event.</param> /// <returns>AlarmData.</returns> public static AlarmData GetAlarmData(this MonitoringEvent monitoringEvent) { using (StringReader sr = new StringReader(monitoringEvent.EventData)) { XmlSerializer xz = new XmlSerializer(typeof(AlarmData)); return(xz.Deserialize(sr) as AlarmData); } }
internal void SetErrorTestResult(EventId eventId, string strMessage) { this.SetResult(false, -1.0); MonitoringEvent item = new MonitoringEvent("MSExchange Monitoring ExchangeSearch", (int)eventId, EventTypeEnumeration.Error, strMessage, this.Database); this.Error = strMessage; this.DetailEvents.Add(item); }
internal void SetErrorTestResultWithTestThreadTimeOut() { this.SetResult(false, 0.0); this.resultTimeout = true; MonitoringEvent item = new MonitoringEvent("MSExchange Monitoring ExchangeSearch", 1020, EventTypeEnumeration.Error, Strings.TestSearchTestThreadTimeOut, this.Database); this.Error = Strings.TestSearchTestThreadTimeOut; this.DetailEvents.Add(item); }
public async Task AzureMonitorProcessingTest() { //Arrange TableStorageAuth tableStorageAuth = Common.GenerateTableAuthorization(Configuration); MonitoringEvent monitoringEvent = new MonitoringEvent(@" { ""schemaId"": ""AzureMonitorMetricAlert"", ""data"": { ""version"": ""2.0"", ""properties"": null, ""status"": ""Activated"", ""context"": { ""timestamp"": ""2020-05-25T00:11:28.7763615Z"", ""id"": ""/subscriptions/07db7d0b-a6cb-4e58-b07e-e1d541c39f5b/resourceGroups/SamLearnsAzureFeatureFlags/providers/microsoft.insights/metricAlerts/ServerErrors%20featureflags-data-eu-service"", ""name"": ""ServerErrors featureflags-data-eu-service"", ""description"": """", ""conditionType"": ""SingleResourceMultipleMetricCriteria"", ""severity"": ""3"", ""condition"": { ""windowSize"": ""PT5M"", ""allOf"": [ { ""metricName"": ""Http5xx"", ""metricNamespace"": ""Microsoft.Web/sites"", ""operator"": ""GreaterThan"", ""threshold"": ""10"", ""timeAggregation"": ""Total"", ""dimensions"": [ { ""name"": ""ResourceId"", ""value"": ""featureflags-data-eu-service.azurewebsites.net"" } ], ""metricValue"": 11.0, ""webTestName"": null } ] }, ""subscriptionId"": ""07db7d0b-a6cb-4e58-b07e-e1d541c39f5b"", ""resourceGroupName"": ""SamLearnsAzureTest"", ""resourceName"": ""featureflags-data-eu-service"", ""resourceType"": ""Microsoft.Web/sites"", ""resourceId"": ""/subscriptions/07db7d0b-a6cb-4e58-b07e-e1d541c39f5b/resourceGroups/SamLearnsAzureFeatureFlags/providers/Microsoft.Web/sites/featureflags-data-eu-service"", ""portalLink"": ""https://portal.azure.com/#resource/subscriptions/07db7d0b-a6cb-4e58-b07e-e1d541c39f5b/resourceGroups/SamLearnsAzureFeatureFlags/providers/Microsoft.Web/sites/featureflags-data-eu-service"" } } } "); //Act AzureTableStorageDA da = new AzureTableStorageDA(); bool result = await da.UpdateDevOpsMonitoringEvent(tableStorageAuth, monitoringEvent); //Assert Assert.IsTrue(result == true); }
public void Handle(MonitoringEvent evt) { var heartbeatEvent = evt as HeartbeatEvent; if (heartbeatEvent != null) { _repository.SaveOrUpdate(heartbeatEvent); // notify the clients (signalr) MonitoringHub.Heartbeat(heartbeatEvent); } }
public void Handle(MonitoringEvent evt) { var logEvent = evt as LogEvent; if (logEvent != null) { _repository.SaveOrUpdate(logEvent); // notify the clients (signalr) MonitoringHub.Log(logEvent); } }
private void OnMonitoringEvent(ResourceMonitorEventArgs e) { try { MonitoringEvent?.Invoke(this, e); } catch (Exception ex) { _logger.LogCritical(0, ex, "The event handler has thrown an exception. The Exception will be re-thrown and the Monitoring will stop."); throw; } }
internal void SetTestResult(bool bResult, double SearchTimeInSeconds) { if (bResult) { MonitoringEvent item = new MonitoringEvent("MSExchange Monitoring ExchangeSearch", 1000, EventTypeEnumeration.Success, Strings.TestSearchSucceeded(this.Database), this.Database); this.DetailEvents.Add(item); } else if (!this.resultTimeout) { MonitoringEvent item = new MonitoringEvent("MSExchange Monitoring ExchangeSearch", 1001, EventTypeEnumeration.Error, Strings.TestSearchFailed(this.Mailbox, this.Database, this.Server), this.Database); this.Error = Strings.TestSearchFailed(this.Mailbox, this.Database, this.Server); this.DetailEvents.Add(item); } this.SetResult(bResult, SearchTimeInSeconds); }
public async Task UpdateDevOpsMonitoringEventTest() { //Arrange Mock <IConfiguration> mockConfig = new Mock <IConfiguration>(); Mock <IAzureTableStorageDA> mockDA = new Mock <IAzureTableStorageDA>(); mockDA.Setup(repo => repo.UpdateDevOpsMonitoringEvent(It.IsAny <TableStorageAuth>(), It.IsAny <MonitoringEvent>())).Returns(Task.FromResult(true)); TableStorageController controller = new TableStorageController(mockConfig.Object, mockDA.Object); MonitoringEvent newEvent = new MonitoringEvent(); //Act bool result = await controller.UpdateDevOpsMonitoringEvent(newEvent); //Assert Assert.AreEqual(true, result); }
private void ReportDkmAclStatus(bool aclStatusCorrect, StringBuilder detailStatus) { if (!string.IsNullOrEmpty(this.earrfNotExistsWarning)) { detailStatus.Append(this.earrfNotExistsWarning); } if (this.MonitoringContext) { MonitoringEvent item = new MonitoringEvent("MSExchange Monitoring DataCenterDKMAccess", aclStatusCorrect ? 1000 : 1001, aclStatusCorrect ? EventTypeEnumeration.Information : EventTypeEnumeration.Error, detailStatus.ToString()); this.monitoringData.Events.Add(item); base.WriteObject(this.monitoringData); return; } TestDataCenterDKMAccessResult sendToPipeline = new TestDataCenterDKMAccessResult(aclStatusCorrect, detailStatus.ToString()); base.WriteObject(sendToPipeline); }
private void ReportMomStatus(List <EdgeSubscriptionStatus> statusList) { int num = 1000; EventTypeEnumeration eventType = EventTypeEnumeration.Success; StringBuilder stringBuilder = null; foreach (EdgeSubscriptionStatus edgeSubscriptionStatus in statusList) { switch (edgeSubscriptionStatus.SyncStatus) { case ValidationStatus.NoSyncConfigured: num = 1004; eventType = EventTypeEnumeration.Warning; break; case ValidationStatus.Failed: num = 1001; eventType = EventTypeEnumeration.Error; break; case ValidationStatus.Inconclusive: if (num == 1000) { num = 1003; eventType = EventTypeEnumeration.Information; } break; } if (stringBuilder == null) { string text = edgeSubscriptionStatus.ToStringForm(); stringBuilder = new StringBuilder(text.Length * statusList.Count + 256); stringBuilder.Append(text); } else { stringBuilder.Append(edgeSubscriptionStatus.ToStringForm()); } } MonitoringEvent item = new MonitoringEvent("MSExchange Monitoring EdgeSynchronization", num, eventType, stringBuilder.ToString()); this.monitoringData.Events.Add(item); base.WriteObject(this.monitoringData); }
private async Task <bool> PostResponse(HttpClient client, string url, MonitoringEvent monitoringEvent) { if (client != null && url != null) { StringContent content = new StringContent(JsonConvert.SerializeObject(monitoringEvent), Encoding.UTF8, "application/json"); Debug.WriteLine("Running url: " + client.BaseAddress.ToString() + url); using (HttpResponseMessage response = await client.PostAsync(url, content)) { response.EnsureSuccessStatusCode(); //string responseBody = await response.Content.ReadAsStringAsync(); //if (string.IsNullOrEmpty(responseBody) == false) //{ // obj = JsonConvert.DeserializeObject<T>(responseBody); //} } } return(true); }
private void ReportMomStatus(EdgeSyncRecord record) { int eventIdentifier = 1000; EventTypeEnumeration eventType = EventTypeEnumeration.Success; switch (record.Status) { case ValidationStatus.NoSyncConfigured: eventIdentifier = 1005; eventType = EventTypeEnumeration.Warning; break; case ValidationStatus.Warning: eventIdentifier = 1001; eventType = EventTypeEnumeration.Warning; break; case ValidationStatus.Failed: eventIdentifier = 1002; eventType = EventTypeEnumeration.Error; break; case ValidationStatus.Inconclusive: eventIdentifier = 1004; eventType = EventTypeEnumeration.Information; break; case ValidationStatus.FailedUrgent: eventIdentifier = 1006; eventType = EventTypeEnumeration.Error; break; } MonitoringEvent item = new MonitoringEvent(this.CmdletMonitoringEventSource, eventIdentifier, eventType, record.ToString()); this.monitoringData.Events.Add(item); }
public async Task <bool> UpdateDevOpsMonitoringEvent(TableStorageAuth tableStorageAuth, MonitoringEvent monitoringEvent) { string partitionKey = monitoringEvent.PartitionKey; string rowKey = monitoringEvent.RowKey; string json = monitoringEvent.RequestBody; AzureStorageTableModel newItem = new AzureStorageTableModel(partitionKey, rowKey, json); TableStorageCommonDA tableDA = new TableStorageCommonDA(tableStorageAuth, tableStorageAuth.TableMTTR); return(await tableDA.SaveItem(newItem)); }
public async Task <bool> UpdateDevOpsMonitoringEvent([FromBody] MonitoringEvent monitoringEvent) { TableStorageAuth tableStorageAuth = Common.GenerateTableAuthorization(Configuration); return(await AzureTableStorageDA.UpdateDevOpsMonitoringEvent(tableStorageAuth, monitoringEvent)); }