private static Terms mapTerms(TermsConfiguration termsConfiguration) { return Terms.builder() .duration(String.valueOf(termsConfiguration.getDurationTerm().getDuration())) .operator(termsConfiguration.getOperatorTerm().name().toLowerCase()) .priority(termsConfiguration.getPriorityTerm().name().toLowerCase()) .threshold(String.valueOf(termsConfiguration.getThresholdTerm())) .timeFunction(termsConfiguration.getTimeFunctionTerm().name().toLowerCase()) .build(); }
private static Terms mapNrqlTerms(NrqlTermsConfiguration termsConfiguration) { return Terms.builder() .duration(String.valueOf(termsConfiguration.getDurationTerm().getDuration())) .operator(termsConfiguration.getOperatorTerm().name().toLowerCase()) .priority(termsConfiguration.getPriorityTerm().name().toLowerCase()) .threshold(String.valueOf(termsConfiguration.getThresholdTerm())) .timeFunction(termsConfiguration.getTimeFunctionTerm().name().toLowerCase()) .build(); } }
private static TermsConfiguration.TermsConfigurationBuilder createTermsConfiguration() { return TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .priorityTerm(PriorityTerm.CRITICAL) .thresholdTerm(0.5f) .timeFunctionTerm(TimeFunctionTerm.ALL); }
private static NrqlTermsConfiguration.NrqlTermsConfigurationBuilder createTermsConfiguration() { return NrqlTermsConfiguration.builder() .durationTerm(NrqlDurationTerm.DURATION_1) .operatorTerm(OperatorTerm.ABOVE) .priorityTerm(PriorityTerm.CRITICAL) .thresholdTerm(0.5f) .timeFunctionTerm(TimeFunctionTerm.ALL); }
@Override protected AlertsCondition convertFromConfigItem(Condition condition) { return AlertsCondition.builder() .type(condition.getType().getTypeString()) .name(condition.getConditionName()) .enabled(condition.isEnabled()) .entities(entityResolver.resolveEntities(api, condition)) .metric(condition.getMetricAsString()) .conditionScope(condition.getConditionScopeAsString()) .runbookUrl(condition.getRunBookUrl()) .terms(TermsUtils.createTerms(condition.getTerms())) .violationCloseTimer(condition.getViolationCloseTimerAsString()) .userDefined(UserDefinedUtils.createUserDefined(condition.getUserDefinedMetric())) .gcMetric(condition.getGcMetricAsString()) .build(); }
@Override protected AlertsExternalServiceCondition convertFromConfigItem(ExternalServiceCondition condition) { return AlertsExternalServiceCondition.builder() .type(condition.getTypeString()) .name(condition.getConditionName()) .enabled(condition.isEnabled()) .entities(entityResolver.resolveEntities(api, condition)) .metric(condition.getMetric()) .externalServiceUrl(condition.getExternalServiceUrl()) .runbookUrl(condition.getRunBookUrl()) .terms(TermsUtils.createTerms(condition.getTerms())) .build(); }
@Override protected AlertsNrqlCondition convertFromConfigItem(NrqlCondition condition) { return AlertsNrqlCondition.builder() .name(condition.getConditionName()) .enabled(condition.isEnabled()) .runbookUrl(condition.getRunBookUrl()) .terms(TermsUtils.createNrqlTerms(condition.getTerms())) .valueFunction(condition.getValueFunction().getValueString()) .nrql(Nrql.builder() .sinceValue(String.valueOf(condition.getSinceValue().getSince())) .query(condition.getQuery()) .build()) .build(); }
private static TermsConfiguration.TermsConfigurationBuilder createTermsConfiguration() { return TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_10) .operatorTerm(OperatorTerm.ABOVE) .priorityTerm(PriorityTerm.WARNING) .timeFunctionTerm(TimeFunctionTerm.ANY) .thresholdTerm(1f); }
private static AlertsExternalServiceCondition.AlertsExternalServiceConditionBuilder createConditionBuilder() { return AlertsExternalServiceCondition.builder() .type(ExternalServiceConditionType.APM.getTypeString()) .name(CONDITION_NAME) .enabled(ENABLED) .entity(APPLICATION_ENTITY_ID) .metric(METRIC.name().toLowerCase()) .externalServiceUrl(EXTERNAL_SERVICE_URL) .term(Terms.builder() .duration(String.valueOf(TERMS_CONFIGURATION.getDurationTerm().getDuration())) .operator(TERMS_CONFIGURATION.getOperatorTerm().name().toLowerCase()) .priority(TERMS_CONFIGURATION.getPriorityTerm().name().toLowerCase()) .threshold(String.valueOf(TERMS_CONFIGURATION.getThresholdTerm())) .timeFunction(TERMS_CONFIGURATION.getTimeFunctionTerm().name().toLowerCase()) .build() ); } }
private static AlertsNrqlCondition.AlertsNrqlConditionBuilder createConditionBuilder() { return AlertsNrqlCondition.builder() .name(CONDITION_NAME) .enabled(ENABLED) .term(Terms.builder() .duration(String.valueOf(TERMS_CONFIGURATION.getDurationTerm().getDuration())) .operator(TERMS_CONFIGURATION.getOperatorTerm().name().toLowerCase()) .priority(TERMS_CONFIGURATION.getPriorityTerm().name().toLowerCase()) .threshold(String.valueOf(TERMS_CONFIGURATION.getThresholdTerm())) .timeFunction(TERMS_CONFIGURATION.getTimeFunctionTerm().name().toLowerCase()) .build()) .valueFunction(VALUE_FUNCTION.getValueString()) .nrql(Nrql.builder() .query(QUERY) .sinceValue(String.valueOf(SINCE_VALUE.getSince())) .build()); }
public static NrqlCondition healthCheckCondition(String applicationName) { return NrqlCondition.builder() .conditionName("Health Check") .enabled(true) .valueFunction(NrqlCondition.ValueFunction.SINGLE_VALUE) .term(NrqlTermsConfiguration.builder() .priorityTerm(PriorityTerm.CRITICAL) .durationTerm(NrqlDurationTerm.DURATION_1) .timeFunctionTerm(TimeFunctionTerm.ANY) .operatorTerm(OperatorTerm.ABOVE) .thresholdTerm(0f) .build()) .sinceValue(NrqlCondition.SinceValue.SINCE_5) .query("SELECT count(*) FROM `" + applicationName + ":HealthStatus` WHERE healthy IS false") .build(); }
private static TermsConfiguration.TermsConfigurationBuilder createTermsConfiguration() { return TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .priorityTerm(PriorityTerm.CRITICAL) .thresholdTerm(0.5f) .timeFunctionTerm(TimeFunctionTerm.ALL); }
private static AlertsCondition.AlertsConditionBuilder createConditionBuilder() { return AlertsCondition.builder() .type(ConditionType.APM_APP.getTypeString()) .name(CONDITION_NAME) .enabled(ENABLED) .entity(APPLICATION_ENTITY_ID) .metric(APP_METRIC.name().toLowerCase()) .conditionScope(CONDITION_SCOPE.name().toLowerCase()) .violationCloseTimer(VIOLATION_CLOSE_TIMER.getDuration()) .term(Terms.builder() .duration(String.valueOf(TERMS_CONFIGURATION.getDurationTerm().getDuration())) .operator(TERMS_CONFIGURATION.getOperatorTerm().name().toLowerCase()) .priority(TERMS_CONFIGURATION.getPriorityTerm().name().toLowerCase()) .threshold(String.valueOf(TERMS_CONFIGURATION.getThresholdTerm())) .timeFunction(TERMS_CONFIGURATION.getTimeFunctionTerm().name().toLowerCase()) .build()); } }
private static TermsConfiguration.TermsConfigurationBuilder createTermsConfiguration() { return TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .priorityTerm(PriorityTerm.CRITICAL) .thresholdTerm(85.0f) .timeFunctionTerm(TimeFunctionTerm.ALL); }
public static BrowserCondition jsErrorsCondition(String applicationName) { return BrowserCondition.builder() .conditionName("Page views with JS errors") .enabled(true) .application(applicationName) .metric(BrowserCondition.Metric.PAGE_VIEWS_WITH_JS_ERRORS) .term(TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .priorityTerm(PriorityTerm.WARNING) .thresholdTerm(1f) .timeFunctionTerm(TimeFunctionTerm.ANY) .build() ) .build(); }
public static Condition heapUsageCondition(String applicationName) { return ApmJvmCondition.builder() .conditionName("Heap usage") .enabled(true) .application(applicationName) .metric(ApmJvmCondition.Metric.HEAP_MEMORY_USAGE) // Raise critical if in the last 5 minutes heap memory usage was above 85% .term(TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .priorityTerm(PriorityTerm.CRITICAL) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(85f) .build() ) // Raise warning if in the last 5 minutes heap memory usage was above 65% .term(TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .priorityTerm(PriorityTerm.WARNING) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(65f) .build() ) .violationCloseTimer(ViolationCloseTimer.DURATION_24) .build(); }
public static Condition apdexCondition(String applicationName) { return ApmAppCondition.builder() .conditionName("Apdex") .enabled(true) .application(applicationName) .metric(ApmAppCondition.Metric.APDEX) .conditionScope(ApmAppCondition.ConditionScope.APPLICATION) // Raise critical if in the last 5 minutes apdex was below 0.7 .term(TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.BELOW) .priorityTerm(PriorityTerm.CRITICAL) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(0.7f) .build() ) // Raise warning if in the last 5 minutes apdex was below 0.85 .term(TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.BELOW) .priorityTerm(PriorityTerm.WARNING) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(0.85f) .build() ) .build(); }
public static Condition diskSpaceCondition(String... serverNames) { return ServersMetricCondition.builder() .conditionName("Fullest Disk %") .enabled(true) .servers(Arrays.asList(serverNames)) .metric(ServersMetricCondition.Metric.FULLEST_DISK_PERCENTAGE) // Raise critical if in the last 5 minutes disk was over 80% full .term(TermsConfiguration.builder() .priorityTerm(PriorityTerm.CRITICAL) .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(80.0f) .build() ) // Raise warning if in the last 5 minutes disk was over 65% full .term(TermsConfiguration.builder() .priorityTerm(PriorityTerm.WARNING) .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(65.0f) .build() ) .build(); }
public static Condition cpuUsageCondition(String... serverNames) { return ServersMetricCondition.builder() .conditionName("CPU Usage %") .enabled(true) .servers(Arrays.asList(serverNames)) .metric(ServersMetricCondition.Metric.CPU_PERCENTAGE) // Raise critical if in the last 5 minutes cpu was over 90% .term(TermsConfiguration.builder() .priorityTerm(PriorityTerm.CRITICAL) .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(90.0f) .build() ) // Raise warning if in the last 5 minutes cpu was over 70% .term(TermsConfiguration.builder() .priorityTerm(PriorityTerm.WARNING) .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.ABOVE) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(70.0f) .build() ) .build(); }