Skip to content
Charly edited this page Nov 19, 2020 · 12 revisions

🔗 Contents

Welcome to the terraform-signalfx-detectors wiki!

Goal

This repository is a collection of generic detectors usable in most of the situations. This goal will restrict the scope of available detectors.

It also provides an opinionated way to configure and manage his monitoring with SignalFx. First because it uses Terraform as deployment tool but also because it tries to enforce patterns, follow templating rules and provide a common and repeatable foundation for all detectors.

It does not aim to cover too specific usage, setup or implementation because it will not be reusable or does not address a more common need.

It is a good start for a new project, to detect known anomalies and usual problems, in common situations. Each module is focused on monitor one target from its own internal view.

Why

When designing detectors, it is good to understand this:

  • using highly complex formulas on multiple metrics from the same source is not a problem while it remains easy to setup and could be used in common situations.
  • but a very simple detector using only two metrics from different sources could be too difficult to setup or require dependencies not available for most of the people.

For example, correlate a simple CPU usage of an host (fully generic) with the latency of his own application (collected by a custom or apm metric): the detector is simple, easy to deploy but requirements cannot be generic by design.

Limits

Given this scope and because we want to preserve homogeneity and maintainability, some propositions do not belong here.

The behavior which fits to most of the people will always be favored compared to a better or more accurate approach which will only work in few situations.

This is also why we always recommend to create your own detectors, specific to your use case, data sources and situations. It will be always be a good complement and will provides a better monitoring coverage.

Where to start?

Check the Getting started documentation first, try to import one of the existing module and configure it to suit your needs.

Then, we recommend to check the other documentations in the Usage section of this wiki, especially the Guidance.

If you are not satisfied with the way it works or it cannot fit your needs but you are still interesting by the approach and the goal of this project, please open an issue to discuss.

If you want to go further, use advanced customization features or simply propose a change or contribute yourself, please take a look at the Development_ section of this wiki which describe a module Structure and a detector Templating.

Clone this wiki locally