You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
552 lines
12 KiB
Groff
552 lines
12 KiB
Groff
.\" Man page generated from reStructuredText.
|
|
.
|
|
.TH "SCMASTER" "1" "Jan 10, 2023" "5.3.0" "SeisComP"
|
|
.SH NAME
|
|
scmaster \- SeisComP Documentation
|
|
.
|
|
.nr rst2man-indent-level 0
|
|
.
|
|
.de1 rstReportMargin
|
|
\\$1 \\n[an-margin]
|
|
level \\n[rst2man-indent-level]
|
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
-
|
|
\\n[rst2man-indent0]
|
|
\\n[rst2man-indent1]
|
|
\\n[rst2man-indent2]
|
|
..
|
|
.de1 INDENT
|
|
.\" .rstReportMargin pre:
|
|
. RS \\$1
|
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
|
. nr rst2man-indent-level +1
|
|
.\" .rstReportMargin post:
|
|
..
|
|
.de UNINDENT
|
|
. RE
|
|
.\" indent \\n[an-margin]
|
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
.nr rst2man-indent-level -1
|
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
|
..
|
|
.sp
|
|
\fBThe messaging system\fP
|
|
.SH DESCRIPTION
|
|
.sp
|
|
scmaster is the implementation of the messaging
|
|
mediator.
|
|
.SH MESSAGE GROUPS
|
|
.sp
|
|
scmaster provides the message groups\&. Configure
|
|
.INDENT 0.0
|
|
.IP \(bu 2
|
|
\fI\%defaultGroups\fP: Add the groups which can be used by all queues.
|
|
.IP \(bu 2
|
|
\fI\%queues.$name.groups\fP: Set all groups which are used by the given
|
|
queue. You may inherit \fI\%defaultGroups\fP, e.g.:
|
|
.INDENT 2.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
queues.production.groups = ${defaultGroups},L1PICK
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
\fBWARNING:\fP
|
|
.INDENT 2.0
|
|
.INDENT 3.5
|
|
Setting any value without inheriting \fI\%defaultGroups\fP ignores all
|
|
values of \fI\%defaultGroups\fP\&.
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.SH QUEUES
|
|
.sp
|
|
scmaster provides \fIqueues\fP for separating the processing.
|
|
Typically, the default queue \fIproduction\fP is used. To add new queues
|
|
.INDENT 0.0
|
|
.IP 1. 3
|
|
Define a new queue by adding a new profile with some name,
|
|
.IP 2. 3
|
|
Configure the profile parameters \fBqueues.$name.*\fP,
|
|
.IP 3. 3
|
|
Register the queue in \fI\%queues\fP\&.
|
|
.UNINDENT
|
|
.SH SCHEME
|
|
.sp
|
|
scmaster provides unsecured and secured connection which is addressed by the
|
|
scheme values \fIscmp\fP and \fIscmps\fP, respectively, in \fBconnection.server\fP
|
|
when connecting to the messaging.
|
|
Read the concepts section for more details. \fIscmps\fP
|
|
is in use when configuring \fI\%interface.ssl.bind\fP\&.
|
|
.SH DATABASE ACCESS
|
|
.sp
|
|
scmaster reads from and writes to the database and reports the database connection
|
|
to the clients of the messaging system (compare with the concepts section).
|
|
.sp
|
|
The database is configured per queue.
|
|
.SS Single machine
|
|
.sp
|
|
When running all \fISeisComP\fP modules on a single machine, the read and write
|
|
parameters are typically configured with \fIlocalhost\fP as a \fIhost name\fP\&.
|
|
.sp
|
|
Example:
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
queues.production.processors.messages.dbstore.read = sysop:sysop@localhost/seiscomp
|
|
queues.production.processors.messages.dbstore.write = sysop:sysop@localhost/seiscomp
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.SS Multiple machines
|
|
.sp
|
|
If the clients are located on machines different from the messaging, the
|
|
\fIhost name\fP of the read parameter
|
|
must be available on the client machine and the client machine must be able to
|
|
connect to the host with its name. If the database is on the same machine as the
|
|
messaging, the \fIhost name\fP of the write connection typically remains \fIlocalhost\fP\&.
|
|
.sp
|
|
Example for connecting clients on computerB to the messaging on computerA (compare
|
|
with the concepts section).
|
|
.INDENT 0.0
|
|
.IP \(bu 2
|
|
Configuration of scmaster on computerA:
|
|
.INDENT 2.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
queues.production.processors.messages.dbstore.read = sysop:sysop@computerA/seiscomp
|
|
queues.production.processors.messages.dbstore.write = sysop:sysop@localhost/seiscomp
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.IP \(bu 2
|
|
Global configuration of client on computerB:
|
|
.INDENT 2.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
connection.server = computerA/production
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.SH MODULE CONFIGURATION
|
|
.nf
|
|
\fBetc/defaults/global.cfg\fP
|
|
\fBetc/defaults/scmaster.cfg\fP
|
|
\fBetc/global.cfg\fP
|
|
\fBetc/scmaster.cfg\fP
|
|
\fB~/.seiscomp/global.cfg\fP
|
|
\fB~/.seiscomp/scmaster.cfg\fP
|
|
.fi
|
|
.sp
|
|
.sp
|
|
scmaster inherits global options\&.
|
|
.INDENT 0.0
|
|
.TP
|
|
.B defaultGroups
|
|
Default: \fBAMPLITUDE, PICK, LOCATION, MAGNITUDE, FOCMECH, EVENT, QC, PUBLICATION, GUI, INVENTORY, CONFIG, LOGGING, SERVICE_REQUEST, SERVICE_PROVIDE, STATUS_GROUP\fP
|
|
.sp
|
|
Type: \fIlist:string\fP
|
|
.sp
|
|
The default set of message groups for each queue. Only used
|
|
if a queues group list is unset (note: empty is not unset).
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues
|
|
Default: \fBproduction, playback\fP
|
|
.sp
|
|
Type: \fIlist:string\fP
|
|
.sp
|
|
Enable messaging queues defined as profile in queues. The profile
|
|
names are the final queue names.
|
|
.UNINDENT
|
|
.sp
|
|
\fBNOTE:\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
\fBinterface.*\fP
|
|
\fIControl the messaging interface. The default protocol is\fP
|
|
\fI"scmp" but "scmps" (secure protocol) is\fP
|
|
\fIused when valid SSL certificate and key are configured.\fP
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B interface.bind
|
|
Default: \fB0.0.0.0:18180\fP
|
|
.sp
|
|
Type: \fIipbind\fP
|
|
.sp
|
|
Local bind address and port of the messaging system.
|
|
0.0.0.0:18180 accepts connections from all clients,
|
|
127.0.0.1:18180 only from localhost.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B interface.acl
|
|
Type: \fIlist:ipmask\fP
|
|
.sp
|
|
The IP access control list for clients which are allowed
|
|
to connect to the interface.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B interface.socketPortReuse
|
|
Default: \fBtrue\fP
|
|
.sp
|
|
Type: \fIboolean\fP
|
|
.sp
|
|
SO_REUSEADDR socket option for the TCP listening socket.
|
|
.UNINDENT
|
|
.sp
|
|
\fBNOTE:\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
\fBinterface.ssl.*\fP
|
|
\fISSL encryption is used if key and certificate are configured.\fP
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B interface.ssl.bind
|
|
Default: \fB0.0.0.0:\-1\fP
|
|
.sp
|
|
Type: \fIipbind\fP
|
|
.sp
|
|
Additional local bind address and port of the messaging
|
|
system in case SSL encryption is active.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B interface.ssl.acl
|
|
Type: \fIlist:ipmask\fP
|
|
.sp
|
|
The IP access control list for clients which are allowed
|
|
to connect to the interface.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B interface.ssl.socketPortReuse
|
|
Default: \fBtrue\fP
|
|
.sp
|
|
Type: \fIboolean\fP
|
|
.sp
|
|
SO_REUSEADDR socket option for the TCP listening socket.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B interface.ssl.key
|
|
Type: \fIpath\fP
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B interface.ssl.certificate
|
|
Type: \fIpath\fP
|
|
.UNINDENT
|
|
.sp
|
|
\fBNOTE:\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
\fBqueues.*\fP
|
|
\fISet the parameters for each messaging queue. The queues are used\fP
|
|
\fIwhen listed in the "queues" parameter. Several queues\fP
|
|
\fIcan be used in parallel. For queues with without databases leave\fP
|
|
\fIthe processor parameters empty.\fP
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.sp
|
|
\fBNOTE:\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
\fBqueues.$name.*\fP
|
|
$name is a placeholder for the name to be used and needs to be added to \fI\%queues\fP to become active.
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
.sp
|
|
.nf
|
|
.ft C
|
|
queues = a,b
|
|
queues.a.value1 = ...
|
|
queues.b.value1 = ...
|
|
# c is not active because it has not been added
|
|
# to the list of queues
|
|
queues.c.value1 = ...
|
|
.ft P
|
|
.fi
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.groups
|
|
Type: \fIlist:string\fP
|
|
.sp
|
|
Define the list of message groups added to the queue.
|
|
If unset, then the defaultGroups will be used.
|
|
A queue will always add the default group "STATUS_GROUP".
|
|
This parameter overrides defaultGroups.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.acl
|
|
Default: \fB0.0.0.0/0\fP
|
|
.sp
|
|
Type: \fIlist:ipmask\fP
|
|
.sp
|
|
The IP access control list for clients which are allowed
|
|
to join the queue.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.maximumPayloadSize
|
|
Default: \fB1048576\fP
|
|
.sp
|
|
Type: \fIint\fP
|
|
.sp
|
|
Unit: \fIB\fP
|
|
.sp
|
|
The maximum size in bytes of a message to be accepted.
|
|
Clients which send larger messages will be disconnected.
|
|
The default is 1MB.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.plugins
|
|
Type: \fIlist:string\fP
|
|
.sp
|
|
List of plugins required by this queue. This is just a
|
|
convenience parameter to improve configurations
|
|
readability. The plugins can also be added to the
|
|
global list of module plugins.
|
|
.sp
|
|
Example: dbstore
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.processors.messages
|
|
Type: \fIstring\fP
|
|
.sp
|
|
Interface name. For now, use "dbstore"to
|
|
use a database.
|
|
.sp
|
|
Use empty for testing or playbacks without a database.
|
|
.UNINDENT
|
|
.sp
|
|
\fBNOTE:\fP
|
|
.INDENT 0.0
|
|
.INDENT 3.5
|
|
\fBqueues.$name.processors.messages.dbstore.*\fP
|
|
\fIDefine the database connection parameters.\fP
|
|
.UNINDENT
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.processors.messages.dbstore.driver
|
|
Type: \fIstring\fP
|
|
.sp
|
|
Selected the database driver to use.
|
|
Database drivers are available through plugins.
|
|
The default plugin is dbmysql which supports
|
|
the MYSQL database server. It is activated
|
|
with the core.plugins parameter.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.processors.messages.dbstore.read
|
|
Type: \fIstring\fP
|
|
.sp
|
|
Set the database read connection which is
|
|
reported to clients that connect to this server.
|
|
If a remote setup should be implemented,
|
|
ensure that the hostname is reachable from
|
|
the remote computer.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.processors.messages.dbstore.write
|
|
Type: \fIstring\fP
|
|
.sp
|
|
Set the database write connection which is
|
|
private to scmaster.
|
|
A separate write connection enables different
|
|
permissions on the database level for scmaster
|
|
and clients.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B queues.$name.processors.messages.dbstore.strictVersionMatch
|
|
Default: \fBtrue\fP
|
|
.sp
|
|
Type: \fIboolean\fP
|
|
.sp
|
|
If enabled, the plugin will check the database
|
|
schema version and refuse to start if the
|
|
version doesn\(aqt match the latest version.
|
|
If disabled and the an object needs to be
|
|
stored, which is incompatible with the
|
|
database schema, this object is lost.
|
|
Leave this option enabled unless you know
|
|
exactly what are you doing and what the
|
|
consequences are.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B http.filebase
|
|
Default: \fB@DATADIR@/scmaster/http/\fP
|
|
.sp
|
|
Type: \fIpath\fP
|
|
.sp
|
|
The directory served by the http server at staticPath.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B http.staticPath
|
|
Default: \fB/\fP
|
|
.sp
|
|
Type: \fIstring\fP
|
|
.sp
|
|
The URL path at which html files and assets are available.
|
|
All files under filebase will be served at this URL path.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B http.brokerPath
|
|
Default: \fB/\fP
|
|
.sp
|
|
Type: \fIstring\fP
|
|
.sp
|
|
The URL path at which the broker websocket is available.
|
|
.UNINDENT
|
|
.SH COMMAND-LINE OPTIONS
|
|
.sp
|
|
\fBscmaster [options]\fP
|
|
.SS Generic
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-h, \-\-help
|
|
Show help message.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-V, \-\-version
|
|
Show version information.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-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.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-plugins arg
|
|
Load given plugins.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-D, \-\-daemon
|
|
Run as daemon. This means the application will fork itself
|
|
and doesn\(aqt need to be started with &.
|
|
.UNINDENT
|
|
.SS Verbosity
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-verbosity arg
|
|
Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
|
|
4:debug.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-v, \-\-v
|
|
Increase verbosity level (may be repeated, eg. \-vv).
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-q, \-\-quiet
|
|
Quiet mode: no logging output.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-component arg
|
|
Limit the logging to a certain component. This option can
|
|
be given more than once.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-s, \-\-syslog
|
|
Use syslog logging backend. The output usually goes to
|
|
/var/lib/messages.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-l, \-\-lockfile arg
|
|
Path to lock file.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-console arg
|
|
Send log output to stdout.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-debug
|
|
Execute in debug mode.
|
|
Equivalent to \-\-verbosity=4 \-\-console=1 .
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-log\-file arg
|
|
Use alternative log file.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-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.
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-trace
|
|
Execute in trace mode.
|
|
Equivalent to \-\-verbosity=4 \-\-console=1 \-\-print\-component=1
|
|
\-\-print\-context=1 .
|
|
.UNINDENT
|
|
.SS Wired
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-bind arg
|
|
The non\-encrypted bind address. Format [ip:]port
|
|
.UNINDENT
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \-\-sbind arg
|
|
The encrypted bind address. Format: [ip:]port
|
|
.UNINDENT
|
|
.SH AUTHOR
|
|
gempa GmbH, GFZ Potsdam
|
|
.SH COPYRIGHT
|
|
gempa GmbH, GFZ Potsdam
|
|
.\" Generated by docutils manpage writer.
|
|
.
|