7.0.0

# scalert

Real time alert template.

## Description

This module executes custom scripts upon arrival of objects or updates. It provides as template for custom modification and is not a replacement for scvoice.

There are four possible trigger mechanisms for calling scripts:

- Event creation/update,

- Amplitude creation,

- Origin creation (with status = preliminary),

- Pick creation with filter for phase hint.

Note

People started modifying scvoice to send emails or other alert messages. Then, the name scvoice is then just wrong. If you want to customize scvoice, use scalert instead.

## Module Configuration

`etc/defaults/global.cfg`
`etc/defaults/scalert.cfg`
`etc/global.cfg`
`etc/scalert.cfg`
`~/.seiscomp/global.cfg`
`~/.seiscomp/scalert.cfg`

scalert inherits global options.

firstNew

  Default: `false`

  Type: boolean

  Treat an event as new event when it is seen the first time.

agencyIDs

  Type: list:string

  List of agency IDs to consider picks and origins. The agency ID is extracted from the pick or the preferred origin of the event and compared with the configured IDs.

  unset (=): use agencyID defined in global, default

  empty list (=""): all agencies are allowed

authors

  Type: list:string

  List of authors to consider picks and origins. The author is extracted from the pick or the preferred origin of the event and compared with the configured authors. empty list (=""): all authors are allowed

poi.message

  Type: string

  The default message string for the event-script is "earthquake, [HOURS] hours [MINS] minutes ago, [DESC], magnitude [MAG], depth [DEP] kilometers" whereas [DESC] is the string given in the event.description attribute. This string can be overwritten using one of the following options. There are three placeholders that can be used: @region@, @dist@ and @poi@. Example: "@region@, @dist@ kilometers from @poi@ away".

poi.maxDist

  Default: `20`

  Type: double

  Unit: deg

  When using the nearest point of interest (city) as part of the message string, specify the maximum distance in degrees from the event. Any point of interest farther away will be ignored.

poi.minPopulation

  Default: `50000`

  Type: double

  Minimum population for a city to become a point of interest.

scripts.pick

  Type: file

  The script to be called when a pick arrives. Network-, station code, pick publicID are passed as parameters $1, $2, $3.

scripts.amplitude

  Type: file

  The script to be called when an amplitude arrives. Network-, station code, amplitude and amplitude public ID are passed as parameters $1, $2, $3, $4.

scripts.alert

  Type: file

  The script to be called when a preliminary origin arrives. Latitude and longitude are passed as parameters $1 and $2.

scripts.event

  Type: file

  The script to be called when an event has been declared. The message string, a flag (1=new event, 0=update event), the EventID, the arrival count and the magnitude (optional when set) are passed as parameters $1, $2, $3, $4 and $5.

Note

constraints.* Constraints for executing scripts

constraints.phaseHints

  Default: `P,S`

  Type: list::string

  Start the pick script only when the phaseHint of the received pick has one of the value(s).

constraints.phaseStreams

  Type: list::string

  Start the pick script only when the stream (NET.STA.LOC.CHA) of the received pick belongs to the list of stream IDs. If empty, all picks are accepted, otherwise only the ones whose stream ID matches one of the entry of this comma separated list. Each entry must follow the NET.STA.LOC.CHA format, but the special characters ? * | ( ) are also accepeted. E.g. "CH.*,GR.STA??.*,*.*.*.HH?,*.*.*.??(Z|1)"

constraints.phaseNumber

  Default: `1`

  Type: int

  Start the pick script only when a minimum number of phases ‘phaseNumber’ is received within ‘phaseInterval’.

constraints.phaseInterval

  Default: `1`

  Type: int

  Unit: s

  Start the pick script only when a minimum number of phases ‘phaseNumber’ is received within ‘phaseInterval’.

## Command-Line Options

scalert [options]

### Generic

-h, --help

  Show help message.

-V, --version

  Show version information.

--config-file arg

  Use alternative configuration file. When this option is used the loading of all stages is disabled. Only the given configuration file is parsed and used. To use another name for the configuration create a symbolic link of the application or copy it. Example: scautopick -> scautopick2.

--plugins arg

  Load given plugins.

-D, --daemon

  Run as daemon. This means the application will fork itself and doesn’t need to be started with &.

--auto-shutdown arg

  Enable/disable self-shutdown because a master module shutdown. This only works when messaging is enabled and the master module sends a shutdown message (enabled with --start-stop-msg for the master module).

--shutdown-master-module arg

  Set the name of the master-module used for auto-shutdown. This is the application name of the module actually started. If symlinks are used, then it is the name of the symlinked application.

--shutdown-master-username arg

  Set the name of the master-username of the messaging used for auto-shutdown. If "shutdown-master-module" is given as well, this parameter is ignored.

--first-new

  Overrides configuration parameter `firstNew`.

### Verbosity

--verbosity arg

  Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug.

-v, --v

  Increase verbosity level (may be repeated, eg. -vv).

-q, --quiet

  Quiet mode: no logging output.

--component arg

  Limit the logging to a certain component. This option can be given more than once.

-s, --syslog

  Use syslog logging backend. The output usually goes to /var/lib/messages.

-l, --lockfile arg

  Path to lock file.

--console arg

  Send log output to stdout.

--debug

  Execute in debug mode. Equivalent to --verbosity=4 --console=1 .

--log-file arg

  Use alternative log file.

### Messaging

-u, --user arg

  Overrides configuration parameter `connection.username`.

-H, --host arg

  Overrides configuration parameter `connection.server`.

-t, --timeout arg

  Overrides configuration parameter `connection.timeout`.

-g, --primary-group arg

  Overrides configuration parameter `connection.primaryGroup`.

-S, --subscribe-group arg

  A group to subscribe to. This option can be given more than once.

--content-type arg

  Overrides configuration parameter `connection.contentType`.

  Default: `binary`

--start-stop-msg arg

  Default: `0`

  Set sending of a start and a stop message.

### Database

--db-driver-list

  List all supported database drivers.

-d, --database arg

  The database connection string, format: service://user:pwd@host/database. "service" is the name of the database driver which can be queried with "--db-driver-list".

--config-module arg

  The config module to use.

--inventory-db arg

  Load the inventory from the given database or file, format: [service://]location .

--db-disable

  Do not use the database at all

### Alert

--amp-type arg

  Default: `snr`

  Specify the amplitude type to listen to.

--amp-script arg

  Overrides configuration parameter `scripts.amplitude`.

--alert-script arg

  Overrides configuration parameter `scripts.alert`.

--event-script arg

  Overrides configuration parameter `scripts.event`.

### Cities

--max-dist arg

  Overrides configuration parameter `poi.maxDist`.

--min-population arg

  Overrides configuration parameter `poi.minPopulation`.

### Debug

-E, --eventid arg

  Specify event ID that is used for testing. After running the alert scripts scvoice will exit.