Skip to content

Configuration Guide

Leon Rosenberg edited this page Jul 21, 2024 · 10 revisions

MoSKito can be configured via external configuration file. This configuration is based on ConfigureMe - annotation based configuration framework with json configuration files.

MoSKito Config is build of different configuration objects, which makes it easier to change and maintain. Each object can be configured separately.

ConfigureMe watches the configuration files and reloads the content automatically. Most of the configured parameter can be changed without restart.

The configuration is in a json file, which is called moskito.json and must be on the classpath. An example configuration file is located here

Hint: It is easier to change some of the configuration option via the interface, goto Everything Else | Config navigation item, and store the current config in the file.

Configuration Objects

This are the objects in the Configuration class and hence sections in the configuration file.

Section Description Usage
applicationName Application name, attribute Used for logging output
intervals Monitoring intervals, array Intervals in which data is collected
killSwitch Disables collection of metrics Switches off tracing and metrics if required
thresholdsAlertsConfig Alerting configuration
thresholdsConfig Thresholds
gaugesConfig Gauges
dashboardsConfig Dashboards Configuration of the dashboards
loadFactorsConfig Loadfactors Used in the load factors feature
accumulatorsConfig Accumulators config Configuration of accumulators, auto-accumulators and accumulator sets
pluginsConfig Plugins Which plugins are to be loaded
mbeanProducersConfig MBean producers
builtinProducersConfig Builtin producers configuration Turn on/off builtin producers
tomcatRequestProcessorProducerConfig TODO
tracingConfig Tracing configuration
journeyConfig Journey configuration
errorHandlingConfig Error Handling config
filterConfig Configuration of filters Filters used for http request processing.
taggingConfig Tagging Configuration

..

The sections are explained in more detail here. The naming of the attribute is kept. Please remember that configureme requires objects to be named with @ prefix.

applicationName

intervals

killSwitch

Allows to disable metric collection and/or tracing via configuration. This will only help if you are paranoid and what to reduce moskito's effect on throughput, which is minimal anyway. But in case you want to, you can disable collection of metrics without removing moskito from your application.

Example:

  "@killSwitch": {
    "disableMetricCollection": false,
    "disableTracing": false
  },
Attribute Meaning Default
disableMetricCollection if true no data is collected in aop or proxy producers false
disableTracing if true tracing is disabled false

thresholdsAlertsConfig

thresholdsConfig

gaugesConfig

dashboardsConfig

loadFactorsConfig

accumulatorsConfig

pluginsConfig

mbeanProducersConfig

builtinProducersConfig

Example:

  "@builtinProducersConfig": {
    "javaMemoryProducers": true,
    "javaMemoryPoolProducers": true,
    "javaThreadingProducers": true,
    "osProducer": true,
    "runtimeProducer": true,
    "mbeanProducers": true,
    "gcProducer": true,
    "errorProducer": true,
    "requestStatisticProducer": true
  },

With this configuration it is possible to disable some builtin producers. Builtin producers provide information about memory usage, thread states, garbage collection etc.

Attribute Meaning Default
javaMemoryProducers Monitors basic memory values like free/used true (on)
javaMemoryPoolProducers Monitors every singular GC pool (G1, oldgen, etc) true (on)
javaThreadingProducers Monitors thread states, i.e. RUNNABLE, BLOCKED etc true (on)
osProducer Provides general information about the OS true (on)
runtimeProducer Provides uptime and other runtime statistics true (on)
mbeanProducers Creates a producer for every mbean, configured via separate config. true (on)
gcProducer Monitors garbage collection true (on)
errorProducer Monitors uncaught errors and exceptions in the application true (on)
requestStatisticProducer Collects general information about the system entropy ( true (on)

tomcatRequestProcessorProducerConfig

tracingConfig

journeyConfig

errorHandlingConfig

filterConfig

taggingConfig