Basic Alerting

Description

For a customer we need a quick / basic approach for alerting.

Design decisions for a very basic alerting:
Source:

  • alerting shall be generic to any metric (even metrics that are not collected by inspectIT e.g. collectd)

  • all data, the alerting shall work on must be in influxDB

Definition:

  • alerts shall be sent if a threshold is exceeded by any single measurement

  • Time range (interval) of checking the metrics

Action:

  • for now only e-mail notification

  • for a series of subsequent intervals in which the threshold is exceeded an e-mail is only sent for the first and the last interval (start and end).

Step:

  • DTO Objects (XML files)

  • Services for UI - CMR configuration

  • extend InfluxDAO for querying

  • Alerting Component (responsible for the scheduled checks)

  • UI

    • config of e-mail server (CMR properties)

    • additional view for configuring alerts

Environment

None

Activity

Show:
Stefan Siegl
October 4, 2016, 10:49 AM

is the tag "needs_rework" still necessary?

Technical User
October 24, 2016, 4:21 PM

FAILURE: Integrated in

inspectIT - Integration #206
INSPECTIT-1953: Basic Alerting (ivan.senic: 4192baa45b610811371ab3f508fe5203950aa07d)

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/alerting/action/AlertingActionServiceTest.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/mail/impl/EMailSenderTest.java

  • (add) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/communication/data/cmr/AlertClosingReason.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/property/control/impl/StringPropertyControl.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/wizard/AbstractAlertDefinitionWizard.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/ThresholdChecker.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/alerting/util/AlertingUtilsTest.java

  • (edit) inspectit.server/src/main/external-resources/config/default.xml

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/util/LineNumbersStyleListener.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/editor/table/input/AlertInvocInputController.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/alerting/AlertTest.java

  • (add) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/ci/AlertingDefinition.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/formatter/TextFormatter.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/tester/CmrOnlineStatusTester.java

  • (add) inspectit.ui.rcp/src/main/resources/icons/fugue/flag.png

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/template/AlertEMailTemplateType.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/provider/IAlertDefinitionProvider.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/influx/dao/InfluxQueryFactoryTest.java

  • (edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/core/impl/CoreService.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/alerting/AlertingStateLifecycleManagerTest.java

  • (add) inspectit.server/src/main/external-resources/templates/alert-bt-closed.txt

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/editor/inputdefinition/extra/InputDefinitionExtrasMarkerFactory.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/model/SensorTypeEnum.java

  • (edit) inspectit.server/src/main/java/rocks/inspectit/server/influx/dao/impl/InfluxDBDao.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/AlertRegistry.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/ci/event/AbstractAlertingDefinitionEvent.java

  • (add) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/service/IAlertService.java

  • (edit) inspectit.server/src/main/java/rocks/inspectit/server/influx/dao/IInfluxDBDao.java

  • (edit) inspectit.server/src/main/java/rocks/inspectit/server/service/ConfigurationInterfaceService.java

  • (add) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/exception/enumeration/AlertErrorCodeEnum.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/wizard/page/AlertSourceDefinitionWizardPage.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/provider/IApplicationProvider.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/dialog/DetailsDialog.java

  • (add) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/util/ExecutorServiceUtils.java

  • (add) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/property/configuration/validator/impl/EMailListValidator.java

  • (add) inspectit.server/src/main/external-resources/templates/alert-bt-closed.html

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/wizard/CreateAlertDefinitionWizard.java

  • (edit) inspectit.ui.rcp/src/main/resources/plugin.xml

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/view/AlertLabelProvider.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/view/AlertManagerViewPart.java

  • (edit) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/ci/AbstractCiData.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/template/TemplateManagerTest.java

  • (add) inspectit.server/src/main/external-resources/templates/alert-open.html

  • (add) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/property/configuration/validator/impl/EMailValidator.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/service/AlertAccessService.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/repository/service/cmr/CmrServiceProvider.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/editor/preferences/PreferenceControlFactory.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/influx/util/QueryResultWrapper.java

  • (edit) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/service/IConfigurationInterfaceService.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/action/impl/EmailAlertAction.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/editor/preferences/FormPreferencePanel.java

  • (edit) inspectit.server/src/main/java/rocks/inspectit/server/service/InvocationDataAccessService.java

  • (add) inspectit.server/src/main/external-resources/templates/alert-bt-open.txt

  • (edit) inspectit.server/src/main/external-resources/config/schema/configurationSchema.xsd

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/handler/DeleteAlertDefinitionHandler.java

  • (edit) inspectit.server/src/main/java/rocks/inspectit/server/ci/ConfigurationInterfaceManager.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/formatter/ImageFormatter.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/dialog/AlertSelectionDialog.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/InspectITImages.java

  • (edit) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/property/configuration/SingleProperty.java

  • (add) inspectit.server/src/main/external-resources/templates/alert-closed.html

  • (add) inspectit.shared.cs/src/test/java/rocks/inspectit/shared/cs/ci/AlertingDefinitionTest.java

  • (add) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/service/IInfluxDBService.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/handlers/OpenAlertHandler.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/alerting/AlertRegistryTest.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/influx/dao/InfluxQueryFactory.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/alerting/action/impl/EmailAlertActionTest.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/wizard/EditAlertDefinitionWizard.java

  • (edit) inspectit.server/src/test/java/rocks/inspectit/server/service/ConfigurationInterfaceServiceTest.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/state/AlertingState.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/repository/service/storage/StorageInvocationDataAccessService.java

  • (edit) inspectit.server/src/main/java/rocks/inspectit/server/ci/ConfigurationInterfacePathResolver.java

  • (edit) inspectit.server/src/test/java/rocks/inspectit/server/ci/ConfigurationInterfaceManagerTest.java

  • (edit) inspectit.server/src/main/resources/spring/spring-context-jetty.xml

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/alerting/ThresholdCheckerTest.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/listener/IAlertDefinitionChangeListener.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/editor/root/FormRootEditor.java

  • (edit) dependencies.gradle

  • (edit) inspectit.ui.rcp/src/main/resources/META-INF/spring/spring-context-model-main.xml

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/mail/impl/EMailSender.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/InspectITConfigurationInterfaceManager.java

  • (add) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/util/FifoMap.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/mail/IEMailSender.java

  • (edit) inspectit.server/src/main/external-resources/ci/schema/ciSchema.xsd

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/action/AlertingActionService.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/editor/SubViewFactory.java

  • (edit) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/storage/serializer/SerializationManagerPostProcessor.java

  • (add) inspectit.shared.all/src/main/java/rocks/inspectit/shared/all/util/EMailUtils.java

  • (edit) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/cmr/service/IInvocationDataAccessService.java

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/repository/CmrRepositoryDefinition.java

  • (edit) inspectit.server/.gitignore

  • (add) inspectit.server/src/main/external-resources/templates/alert-bt-open.html

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/wizard/AlertDefinitionWizard.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/service/InfluxDBService.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/AlertingScheduler.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/model/ci/AlertDefinitionLeaf.java

  • (add) inspectit.server/src/main/external-resources/templates/alert-open.txt

  • (edit) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/perspective/ConfigurationInterfacePerspective.java

  • (add) inspectit.shared.cs/src/main/java/rocks/inspectit/shared/cs/communication/data/cmr/Alert.java

  • (edit) inspectit.server/src/test/java/rocks/inspectit/server/influx/builder/BusinessTransactionPointBuilderTest.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/template/ITemplateType.java

  • (edit) license/THIRDPARTYLICENSE.txt

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/action/IAlertAction.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/template/TemplateManager.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/ci/wizard/page/AlertDetailsWizardPage.java

  • (add) inspectit.ui.rcp/src/main/java/rocks/inspectit/ui/rcp/editor/inputdefinition/extra/AlertInputDefinitionExtra.java

  • (add) inspectit.server/src/main/external-resources/templates/alert-closed.txt

  • (edit) inspectit.server/src/main/java/rocks/inspectit/server/processor/impl/InfluxProcessor.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/util/AlertingUtils.java

  • (add) inspectit.server/src/main/java/rocks/inspectit/server/alerting/AlertingStateLifecycleManager.java

  • (add) inspectit.server/src/test/java/rocks/inspectit/server/alerting/AlertingSchedulerTest.java

  • (add) inspectit.ui.rcp/src/main/resources/icons/fugue/invocFlag.png

Ivan Senic
October 24, 2016, 6:59 PM

We need user documentation for this feature:

  • How to activate alerting

  • How to define alerting definitions

  • How to chnage email templates

  • How to open alert dialog and use ID from the mail

Does not have to be anything special and too long, but we should have good docs and some screen shots as well. Maybe you can take care of this tomorrow while Alex and I finish the HTTP status thingy.

Assignee

Marius Oehler

Reporter

Stefan Siegl

Labels

None

Integrator

Ivan Senic

Components

Sprint

None

Fix versions

Priority

Medium
Configure