QuakeLink: Earthquake Distribution Server 2025.142#161133bc3
TOC
  • index
  • next
  • previous
  • Home
  • Server

quakelink¶

Earthquake distribution server

Description¶

Quakelink is an event server by gempa. Quakelink is part of the QuakeLink suite.

Architecture:¶

Quakelink is a server that collects data from SeisComP systems using plugins. The data is stored in the database and provided to clients. The clients may be other SeisComP systems, web browsers or other applications such as EQInfo.

../_images/quakelink.png

Figure 1: QuakeLink architecture.¶

Examples¶

See the examples for examples applications and setups.

Module Configuration¶

etc/defaults/global.cfg
etc/defaults/quakelink.cfg
etc/global.cfg
etc/quakelink.cfg
~/.seiscomp/global.cfg
~/.seiscomp/quakelink.cfg

quakelink inherits global options.

Note

Modules/plugins may require a license file. The default path to license files is @DATADIR@/licenses/ which can be overridden by global configuration of the parameter gempa.licensePath. Example:

gempa.licensePath = @CONFIGDIR@/licenses
QL.port¶

Default: 18010

Type: int

Port to listen for data requests

QL.pluginPort¶

Default: 18011

Type: int

Port to listen for plugin data feeds

QL.filebase¶

Default: @ROOTDIR@/var/lib/quakelink/archive

Type: path

Base path of the data storage

QL.maxConnections¶

Default: -1

Type: int

Maximum number of simultaneous data connections. Note: In addition to this configuration parameter an upper limit may be enforced by the license you obtained.

QL.maxRequestLines¶

Default: -1

Type: int

Maximum number of lines per request

QL.cacheLifeTime¶

Default: 1.0

Unit: h

Type: double

Time span in hours after which objects expire

QL.database¶

Default: @ROOTDIR@/var/lib/quakelink/archive/events.db

Type: path

Path to the SQLite database

QL.runAsUser¶

Type: string

Drop privileges to specified user

QL.users¶

Type: path

Path to the users database (same format Apache users file). The tool htpasswd can be used with switch "-d" to force usage of crypt() function. MD5 is currently not implemented.

QL.access-list¶

Default: @ROOTDIR@/etc/quakelink-access.cfg

Type: path

Path to the access control file. Format: Multiples lines of form ‘KEY = VALUE’.

KEY: ‘[DOMAIN].ALLOW|DENY’. VALUE: comma-separated list of IP addresses or network masks. DOMAIN: Allowed values: ‘PLUGINS, COMMANDS, URLS’. PLUGINS: Access control of plugin data connections. COMMANDS: Allowed values: ‘SET, FORMAT::[NATIVE, GZNATIVE, SUMMARY, XML, GZXML], INFO::[CLIENTS, EVENTS, OPTIONS]’.

QL.keepAliveInterval¶

Default: 30

Unit: s

Type: int

Interval to send out keep alive messages to connected clients. The purpose of these messages is to prevent TCP connections from being silently shutdown by intermediate communication infrastructure because of inactivity. A client still needs to request keep alive messages up on connection.

QL.enableKeepAlive¶

Default: false

Type: boolean

By default clients need to request keep alive messages up on connection. Set this flag to true to enable the sending of keep alive messages for the native QuakeLink protocol by default.

QL.maxRevisionsPerEvent¶

Default: 1000

Type: int

The maximum number of event revisions. All later revisions will be discarded silently.

QL.logStats¶

Default: -1

Type: int

Log performance statistics to file ql-stats. The interval is in seconds. Use -1 to disable the logging.

QL.plugins¶

Type: list:string

Registration of plugins

QL.SSL.port¶

Default: -1

Type: int

Port to listen for data requests with SSL

QL.SSL.pluginPort¶

Default: -1

Type: int

Port to listen for plugin data feeds with SSL

QL.SSL.certificate¶

Type: path

Path to SSL certificate file

QL.SSL.key¶

Type: path

Path to SSL private key file

QL.SSL.users¶

Type: path

Path to the SSL users database (same format Apache users file). The tool htpasswd can be used with switch "-d" to force usage of crypt() function. MD5 is currently not implemented.

Note

QL.plugin.$name.* $name is a placeholder for the name to be used and needs to be added to QL.plugins to become active.

QL.plugins = a,b
QL.plugin.a.value1 = ...
QL.plugin.b.value1 = ...
# c is not active because it has not been added
# to the list of QL.plugins
QL.plugin.c.value1 = ...
QL.plugin.$name.cmd¶

Type: string

Plugin command to execute

QL.http.port¶

Default: -1

Type: int

Port to listen for HTTP request

QL.http.maxWorkers¶

Default: 4

Type: int

Number of workers processing requests in parallel

QL.http.logAccess¶

Default: true

Type: boolean

Number of workers processing requests in parallel

QL.http.timeout¶

Default: -1

Unit: s

Type: integer

QuakeLink uses long polling for POST event requests. To allow returning an empty document (HTTP 204) rather than waiting forever this parameter can be used. It applies a no-data timeout in seconds. This setting might be useful if QuakeLink is being ran behind a proxy.

QL.http.rootURL¶

Type: string

Defines the root URL used to generate links. That option is only important if e.g. Apache with reverse proxy is used to forward QuakeLinks webpages.

QL.http.allowNativeAttributes¶

Default: false

Type: boolean

Expose sensitive information like author name

QL.http.path.media¶

Default: @DATADIR@/quakelink/www

Type: path

Path to HTTP media files

QL.http.path.templates¶

Default: @DATADIR@/quakelink/templates

Type: path

Path to HTTP templates

QL.https.port¶

Default: -1

Type: int

Port to listen for HTTPS request

QL.dyfi.database¶

Type: string

Defines the database connection used to store DYFI information. If no database connection is configured the DYFI service will be disabled. Supported database backends: MySQL and SQLite3.

Example: mysql://sysop:sysop@localhost/dyfi

Note

QL.dyfi.auth.* Access to DYFI information is restricted by username and password. For querying and pushing data the access can be defined independently in separate files. The DYFI GET and PUT user databases are in the extended Apache configuration format. The tool htpasswd can be used with the switch “-d” (forces the usage of the crypt() function) to fill up the database with users. MD5 is not yet implemented. Optionally a path to a BNA file may be given to limit the result set to one or more regions. Anonymous access can be granted by adding a new line with the content ‘guest’.

QL.dyfi.auth.get¶

Type: path

Path to the DYFI GET user database in an extended Apache configuration format.

QL.dyfi.auth.put¶

Type: path

Path to the DYFI PUT user database in an extended Apache configuration format.

Command-Line Options¶

quakelink [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 &.

-x, --expiry arg¶

Default: 1

Time span in hours after which objects expire

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.

--print-component arg¶

For each log entry print the component right after the log level. By default the component output is enabled for file output but disabled for console 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 .

--trace¶

Execute in trace mode. Equivalent to --verbosity=4 --console=1 --print-component=1 --print-context=1 .

--log-file arg¶

Use alternative log file.

server¶

-p, --server-port arg¶

Overrides configuration parameter QL.port.

--server-ssl-port arg¶

Overrides configuration parameter QL.SSL.port.

Default: -1

-P, --plugin-port arg¶

Overrides configuration parameter QL.pluginPort.

--plugin-ssl-port arg¶

Overrides configuration parameter QL.SSL.pluginPort.

--http-port arg¶

Overrides configuration parameter QL.http.port.

--https-port arg¶

Overrides configuration parameter QL.https.port.

----sync-db¶

Synchronize database with archive

--update-log¶

When synchronizing the database the log file will be updated as well

--check-archive¶

Check archive

Quick search

Table of Contents

  • quakelink
    • Description
    • Architecture:
    • Examples
    • Module Configuration
    • Command-Line Options
      • Generic
      • Verbosity
      • server

Previous topic

Server

Next topic

fdsnws2ql

This Page

  • Show Source
Release version 2025.142#161133bc3
© Copyright 2013, gempa GmbH.