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.

465 lines
25 KiB
HTML

<!DOCTYPE html>
<html >
<head>
<meta charset="utf-8" />
<title>scconfig &#8212; SeisComP Release documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/seiscomp.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css" />
<script type="text/javascript" src="../_static/seiscomp.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="scdb" href="scdb.html" />
<link rel="prev" title="sccnv" href="sccnv.html" />
</head>
<body>
<div class="header">
<div class="container">
<div class="brand">
<img class="logo" src="../_static/brands/seiscomp/text/white.svg"/>
<!-- span class="title">SeisComP Release</span -->
<span class="version">5.3.0</span>
</div>
</div>
</div>
<div class="nav">
<div class="container">
<div class="content"><a class="pull-right" id="sidebar-toggle">TOC</a>
<div class="related" role="navigation" aria-label="related navigation">
<ul>
<li class="right">
<a href="../genindex.html" title="General Index"
accesskey="I">
index
</a>
</li>
<li class="right">
<a href="scdb.html" title="scdb"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="sccnv.html" title="sccnv"
accesskey="P">
previous
</a>
</li>
<li class="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
<li class="nav-item nav-item-1">
<a href="../modules.html" >Modules</a>
</li>
<li class="nav-item nav-item-2">
<a href="../toc/utilities.html" accesskey="U">Utilities</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<div class="section" id="scconfig">
<span id="id1"></span><h1>scconfig<a class="headerlink" href="#scconfig" title="Permalink to this headline"></a></h1>
<p><strong>Configuration and system managment frontend.</strong></p>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>scconfig is a graphical user interface which allows to configure all SeisComP
modules for which descriptions are provided.</p>
<p>The modules are usually programs part of the SeisComP system and have two
distinct types of configuration:</p>
<ol class="arabic simple">
<li><p>Modules configuration, or just program configuration (like the <code class="file docutils literal notranslate"><span class="pre">scautopick.cfg</span></code> file).</p></li>
<li><p>Station bindings, that are set of parameters to configure how the module will treat a certain station. I.e. Station specific configurations per module.</p></li>
</ol>
<p>The bindings configuration can be done using profiles, or directly per station.</p>
<p>A profile is a named set of parameters for a certain module that can be
attributed for more than one station. Using profiles makes it easiear to
maintain large number of station configuration. When two stations are configured
by the same profile, both will have the same parameter set for a certain module.</p>
<p>scconfig does not know anything about the SeisComP database, the only thing it
can do is actually read and write the content of files from <code class="file docutils literal notranslate"><span class="pre">etc/</span></code> and
<code class="file docutils literal notranslate"><span class="pre">~/.seiscomp</span></code> folder and allow you to manage this information in organized
and friendly manner. Also, it relies on other application (like the proper
<strong class="program">seiscomp</strong> command) to complete the system configuration. The main
tasks that it can handle today are:</p>
<ul class="simple">
<li><p>start/stop/check all registered modules</p></li>
<li><p>import station metadata from various sources</p></li>
<li><p>configure modules</p></li>
<li><p>configure module bindings</p></li>
</ul>
<p>In the future, it could accumulate more tasks like inventory editor and even
more advanced system monitoring and log inspection.</p>
<div class="section" id="first-start">
<span id="scconfig-first-start"></span><h3>First start<a class="headerlink" href="#first-start" title="Permalink to this headline"></a></h3>
<p>If scconfig is started for the first time it will ask the user to setup
its new installation.</p>
<div class="figure align-center">
<img alt="../_images/first-start.png" src="../_images/first-start.png" />
</div>
<p>If done already with the <a class="reference internal" href="../base/getting-started.html#getting-started"><span class="std std-ref">command line interface</span></a>
this step can be skipped. If the setup has been run already is indicated by
the presence of the file <code class="file docutils literal notranslate"><span class="pre">var/run/seiscomp.init</span></code>.</p>
<p>If pressing yes, the setup wizard will be started and will configure exactly
the same parameters as described in <a class="reference internal" href="../base/getting-started.html#getting-started"><span class="std std-ref">Getting Started with SeisComP</span></a>.</p>
<div class="figure align-center">
<img alt="../_images/wizard-start.png" src="../_images/wizard-start.png" />
</div>
<div class="figure align-center">
<img alt="../_images/wizard-finish.png" src="../_images/wizard-finish.png" />
</div>
<p>Pressing Finish will run the setup and report the progress.</p>
<div class="figure align-center">
<img alt="../_images/wizard-done.png" src="../_images/wizard-done.png" />
</div>
<p>Pressing Close will launch the main configuration window.</p>
</div>
<div class="section" id="main-window">
<span id="scconfig-mainwindow"></span><h3>Main Window<a class="headerlink" href="#main-window" title="Permalink to this headline"></a></h3>
<p>The layout of the main window is always the same regardless of what panel
is selected.</p>
<div class="figure align-center" id="id2">
<span id="fig-scconfig-mainwindow"></span><img alt="../_images/mainwindow.png" src="../_images/mainwindow.png" />
<p class="caption"><span class="caption-text">Main window of scconfig: mode switch (red), panel selection (yellow),
panel title and description (green),
panel content (blue)</span><a class="headerlink" href="#id2" title="Permalink to this image"></a></p>
</div>
<p>It is divided into 4 areas:</p>
<ul class="simple">
<li><p>red: the mode switch (user vs. system)</p></li>
<li><p>yellow: panel switch</p></li>
<li><p>green: title and description of current panel</p></li>
<li><p>blue: the content and interactive screen of the current panel</p></li>
</ul>
<p>The main menu contains two entries: <span class="guilabel">File</span> and <span class="guilabel">Edit</span>.</p>
<p>The file menu allows to run the setup wizard (<span class="guilabel">Wizard</span>), to reload
the configuration (<span class="guilabel">Reload</span>), to save the
configuration (<span class="guilabel">Save</span>) and to close the configuration (<span class="guilabel">Quit</span>).</p>
<p>The edit menu allows to switch the current configuration mode. Pressing the
switch button in the upper left corner (red box) is a shortcut for this operation.</p>
</div>
<div class="section" id="information-panel">
<span id="scconfig-information"></span><h3>Information panel<a class="headerlink" href="#information-panel" title="Permalink to this headline"></a></h3>
<p>This panel shows information about the SeisComP environment
(see figure <a class="reference internal" href="#fig-scconfig-mainwindow"><span class="std std-ref">main window</span></a>). All variables (except PATH) can
be used as placeholders in most of the configuration parameters which define
directories or files, e.g.:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>autoloc.grid <span class="o">=</span> @CONFIGDIR@/autoloc/local.grid
</pre></div>
</div>
</div>
<div class="section" id="system-panel">
<span id="scconfig-system"></span><h3>System panel<a class="headerlink" href="#system-panel" title="Permalink to this headline"></a></h3>
<p>The system panel is a graphical frontend for the <a class="reference internal" href="../base/management.html#system-management"><span class="std std-ref">seiscomp</span></a> script.</p>
<div class="figure align-center">
<img alt="../_images/system-overview.png" src="../_images/system-overview.png" />
</div>
<p>It is divided into 3 parts: the toolbar on the top (red), the module list (green)
and the log window (blue).
The log window shows the output of all external programs called such as <strong class="program">seiscomp</strong>.
The standard output is colored black and standard error is colored brown.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Due to the buffering of the GUI it can happen that standard output and
standard error logs are not in perfect order.</p>
</div>
<p>The toolbar gives access to the available operations. All operations
will affect the currently selected modules (rows). If no row is selected, all
modules are affected and the corresponding call to <strong class="program">seiscomp &lt;arg&gt;</strong> is done
without any module.</p>
<dl class="simple">
<dt><em>Update</em></dt><dd><p>Updates the current module state by calling <strong class="program">seiscomp --csv status</strong>.</p>
</dd>
<dt><em>Start</em></dt><dd><p>Calls <strong class="program">seiscomp start</strong>.</p>
</dd>
<dt><em>Stop</em></dt><dd><p>Calls <strong class="program">seiscomp stop</strong>.</p>
</dd>
<dt><em>Restart</em></dt><dd><p>Calls <strong class="program">seiscomp restart</strong>.</p>
</dd>
<dt><em>Check</em></dt><dd><p>Calls <strong class="program">seiscomp check</strong>.</p>
</dd>
<dt><em>Enable module(s)</em></dt><dd><p>Enables all selected modules for autostart.
At least one module must be selected.</p>
</dd>
<dt><em>Disable module(s)</em></dt><dd><p>Disables all selected modules for autostart.
At least one module must be selected.</p>
</dd>
<dt><em>Update configuration</em></dt><dd><p>Calls <strong class="program">seiscomp update-config</strong>. This is important after the
module configuration or bindings have changed and before restarting the
affected modules.</p>
</dd>
</dl>
</div>
<div class="section" id="inventory-panel">
<span id="scconfig-inventory"></span><h3>Inventory panel<a class="headerlink" href="#inventory-panel" title="Permalink to this headline"></a></h3>
<p>The inventory panel allows to import and synchronize inventory files. It shows
a list of inventory XML files located in folder <code class="file docutils literal notranslate"><span class="pre">etc/inventory</span></code>. Only
SeisComP XML files be used as source for inventory data but various importers
exist to integrate inventory data from other formats. After the first start
the list is empty and contains only a README file.</p>
<div class="figure align-center">
<img alt="../_images/inventory-empty.png" src="../_images/inventory-empty.png" />
</div>
<p>One source of importing inventory information is ArcLink as run at
<a class="reference external" href="http://www.webdc.eu">http://www.webdc.eu</a>. After downloading the inventory XML file from ArcLink it
can be imported into SeisComP by pressing the Import button in the toolbar
on the top.</p>
<p>It will open a popup which allows to select for input format.</p>
<div class="figure align-center">
<img alt="../_images/inventory-import-format.png" src="../_images/inventory-import-format.png" />
</div>
<p>If ArcLink is selected, the source location should then point to the ArcLink
XML file downloaded before.</p>
<div class="figure align-center">
<img alt="../_images/inventory-import-source.png" src="../_images/inventory-import-source.png" />
</div>
<p>If successfully imported a window will popup with the execution result and
the import output.</p>
<div class="figure align-center">
<img alt="../_images/inventory-import-finished.png" src="../_images/inventory-import-finished.png" />
</div>
<p>After closing the popup the new file will show up in the list.</p>
<div class="figure align-center">
<img alt="../_images/inventory-arclink.png" src="../_images/inventory-arclink.png" />
</div>
<p>The toolbar support 3 additional actions:</p>
<dl>
<dt><em>Test sync</em></dt><dd><p>The inventory XML files are not used directly with SeisComP. They need to
be synchronized with the database first (see <a class="reference internal" href="global.html#global-stations"><span class="std std-ref">Station meta data</span></a>).
Synchronization needs to merge all existing XML files and create differences
against the existing database tables. While merging conflicts can occur such
as duplicate stations with different content (e.g. different description).
This action is a dry-run of the actual synchronisation. It performs merging
and creates differences but does not send any update. This actions is useful
to test all your existing inventory files before actually modifying the
database.</p>
<div class="figure align-center">
<img alt="../_images/inventory-sync-test-passed.png" src="../_images/inventory-sync-test-passed.png" />
</div>
</dd>
<dt><em>Sync</em></dt><dd><p>Almost identical to <em>Test sync</em> but it does send updates to the database and
additionally synchronizes key files and resource files.</p>
</dd>
<dt><em>Sync keys</em></dt><dd><p>This action is part of sync but can be called also standalone. It merges all
inventory XML files and creates key files in <code class="file docutils literal notranslate"><span class="pre">etc/key/station_*</span></code> if a
key file does not yet exist. Existing key files are not touched unless the
station is not part of the inventory anymore.</p>
<p>As a result, all stations in inventory will have a corresponding key file and
each key file will have a corresponding station in inventory.</p>
</dd>
</dl>
<p><em>Sync</em> and <em>Sync keys</em> will cause a reload of the configuration to refresh the
current binding tree (see <a class="reference internal" href="#scconfig-bindings"><span class="std std-ref">Bindings panel</span></a>).</p>
</div>
<div class="section" id="modules-panel">
<span id="scconfig-modules"></span><h3>Modules panel<a class="headerlink" href="#modules-panel" title="Permalink to this headline"></a></h3>
<p>The modules panel allows configuration of all registered modules.</p>
<div class="figure align-center">
<img alt="../_images/modules-overview.png" src="../_images/modules-overview.png" />
</div>
<p>The left/green part shows the list of available modules grouped by defined
categories and the right/blue part shows the current active module configuration.
The active configuration corresponds to the selected item in the list. See
section <a class="reference internal" href="#scconfig-editing"><span class="std std-ref">Editing</span></a> for further information about the content panel.</p>
</div>
<div class="section" id="bindings-panel">
<span id="scconfig-bindings"></span><h3>Bindings panel<a class="headerlink" href="#bindings-panel" title="Permalink to this headline"></a></h3>
<p>The binding panel configures a station for a module.</p>
<div class="figure align-center">
<img alt="../_images/modules-binding.png" src="../_images/modules-binding.png" />
</div>
<p>It is separated into 3 main areas: the station tree (red + orange), the
binding content (green) and the module tree (blue + magenta).</p>
<p>The station tree (red) shows a tree of all available networks and their
stations. Each stations contains nodes of its configured bindings. The lower
view (orange) represents the content of the currently selected item in the
station tree.</p>
<p>The binding content shows the content of a binding and is similar to the
module configuration content. See section <a class="reference internal" href="#scconfig-editing"><span class="std std-ref">Editing</span></a> for further
information about this panel.</p>
<p>The module tree contains all modules which can be used along with bindings.
The upper/blue window contains the modules and all available binding profiles
for each module and the lower/magenta part shows all binding profiles of the
currently selected module. This view is used to add new profiles and delete
existing profiles.</p>
<div class="section" id="station-bindings">
<h4>Station bindings<a class="headerlink" href="#station-bindings" title="Permalink to this headline"></a></h4>
<p>To create an exclusive station binding for a module, it must be opened in the
binding view (orange box) by either selecting a station in the station tree
(red) or opening/clicking that station in the binding view (orange). The
binding view will then contain all currently configured bindings.</p>
<div class="figure align-center">
<img alt="../_images/modules-bindings-station.png" src="../_images/modules-bindings-station.png" />
</div>
<p>Clicking with the right mouse button into the free area will open a menu which
allows to add a binding for a module which has not yet been added. Adding
a binding will activate it and bring its content into the content panel.</p>
<p>To convert an existing profile into a station binding, right click on the
binding icon and select <span class="menuselection">Change profile ‣ None</span>. The existing
profile will be converted into a station binding and activated for editing.</p>
<div class="figure align-center">
<img alt="../_images/modules-bindings-convert.png" src="../_images/modules-bindings-convert.png" />
</div>
</div>
<div class="section" id="profiles">
<h4>Profiles<a class="headerlink" href="#profiles" title="Permalink to this headline"></a></h4>
<p>To assign a binding profile to a station, a network or a set of stations/networks,
drag a profile from the right part (blue or magenta) to the left part (red or
orange). It is also possible to drag and drop multiple profiles with one action.</p>
</div>
</div>
<div class="section" id="editing">
<span id="scconfig-editing"></span><h3>Editing<a class="headerlink" href="#editing" title="Permalink to this headline"></a></h3>
<p>The content panel of a configuration is organized as a tree. Each module/binding
name is a toplevel item and all namespace are titles of collapsible sections.
Namespaces are separated by dot in the configuration file, e.g.: scautopick.cfg
which also reads global.cfg would end up in a tree like this:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>+ global
<span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> +-- connection
<span class="p">|</span> <span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> <span class="p">|</span> +-- server <span class="o">(</span>global.cfg: connection.server<span class="o">)</span>
<span class="p">|</span> <span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> <span class="p">|</span> +-- username <span class="o">(</span>global.cfg: connection.username<span class="o">)</span>
<span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> +-- database <span class="o">(</span>global.cfg: database<span class="o">)</span>
<span class="p">|</span>
+ scautopick
<span class="p">|</span>
+-- connection
<span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> +-- server <span class="o">(</span>scautopick.cfg: connection.server<span class="o">)</span>
<span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> +-- username <span class="o">(</span>scautopick.cfg: connection.username<span class="o">)</span>
<span class="p">|</span>
+-- database <span class="o">(</span>scautopick.cfg: database<span class="o">)</span>
</pre></div>
</div>
<p>Figure <a class="reference internal" href="#fig-scconfig-modules-global"><span class="std std-ref">Content panel layout</span></a> describes each item in the content
panel.</p>
<div class="figure align-center" id="id3">
<span id="fig-scconfig-modules-global"></span><img alt="../_images/modules-global.png" src="../_images/modules-global.png" />
<p class="caption"><span class="caption-text">Content panel layout</span><a class="headerlink" href="#id3" title="Permalink to this image"></a></p>
</div>
<div class="figure align-right">
<img alt="../_images/config-typing.png" src="../_images/config-typing.png" />
</div>
<p>The content of the input widget (except for boolean types which are mapped
to a simple checkbox) is the raw content of the configuration file without parsing.
While typing a box pops up which contains the parsed and interpreted content as
read by an application. It shows the number of parsed list items, possible
errors and the content of each list item.</p>
<p>Each parameter has a lock icon. If the parameter is locked it is not written
to the configuration file. If it is unlocked, it is written to the configuration
file and editable. Locking is similar to remove the line with a text
editor.</p>
<p>The configuration content that is displayed depends on the current mode. In system
mode <code class="file docutils literal notranslate"><span class="pre">etc/&lt;module&gt;.cfg</span></code> is configured while in user mode it is
<code class="file docutils literal notranslate"><span class="pre">~/.seiscomp/&lt;module&gt;.cfg</span></code>.</p>
<p>It may happen that a configuration parameter is editable but will not have any
affect on the module configuration. This is caused by the different configuration
stages. If the system configuration is active but a parameter has set in the
user configuration it cannot be overriden in the system configuration. The user
configuration is always of higher priority. scconfig will detect such problems
and will color the input widget red in such situations.</p>
<div class="figure align-center">
<img alt="../_images/config-warning.png" src="../_images/config-warning.png" />
</div>
<p>The value in the edit widget will show the currently configured value in the
active configuration file but the tooltip will show the evaluated value, the
location of the definition and a warning.</p>
</div>
</div>
</div>
<div id="anchors-bottom"></div>
</div>
<div class="sidebar" role="navigation" aria-label="main navigation">
<div id="anchors-top"></div>
<div id="anchors" class="content">
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">scconfig</a><ul>
<li><a class="reference internal" href="#description">Description</a><ul>
<li><a class="reference internal" href="#first-start">First start</a></li>
<li><a class="reference internal" href="#main-window">Main Window</a></li>
<li><a class="reference internal" href="#information-panel">Information panel</a></li>
<li><a class="reference internal" href="#system-panel">System panel</a></li>
<li><a class="reference internal" href="#inventory-panel">Inventory panel</a></li>
<li><a class="reference internal" href="#modules-panel">Modules panel</a></li>
<li><a class="reference internal" href="#bindings-panel">Bindings panel</a><ul>
<li><a class="reference internal" href="#station-bindings">Station bindings</a></li>
<li><a class="reference internal" href="#profiles">Profiles</a></li>
</ul>
</li>
<li><a class="reference internal" href="#editing">Editing</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="sccnv.html"
title="previous chapter">sccnv</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="scdb.html"
title="next chapter">scdb</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/scconfig.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="horizontal layout content">
<a class="fade-in" href="https://www.gempa.de" target="_blank">
<img class="brand" src="../_static/brands/gempa.svg"/>
</a>
<div class="stretched align-center fitted content">
<div>
Version <b>5.3.0</b> Release
</div>
<div class="copyright">
Copyright &copy; gempa GmbH, GFZ Potsdam.
</div>
</div>
<a class="fade-in" href="https://www.gfz-potsdam.de" target="_blank">
<img class="brand" src="../_static/brands/gfz.svg"/>
</a>
</div>
</div>
</div>
</body>
</html>