Using scimex with httpmsgbus


scimex is a tool for exchanging seismic event data between multiple SC3 systems in real time. In standard configuration, scimex connects to Spread messaging of both source and target system, which means that secured communication channel, such as VPN, must be used.

Starting with release 2016.161, httpmsgbus (“HMB”), an HTTP-based message bus, is supported by all SC3 modules in addition to Spread. Using HMB, scimex can communicate securely over HTTPS with basic authentication.

Below is a recipe for basic event exchange over HMB. See scimex documentation for advanced options.

hmb.enable = true
hmb.port = 8000
  • Add to ~/seiscomp3/etc/httpmsgbus.cfg:
database = mongodb://localhost:27017
  • Start HMB using “seiscomp start httpmsgbus”.

  • Create an alias “scimexEx” in the source system using “seiscomp alias create scimexEx scimex”.

  • Create scimexEx.cfg in ~/seiscomp3/etc directory. Using this configuration, events are transferred from local Spread to local HMB. URL scheme “hmb” corresponds to HTTP. “imex” is an arbitrary bus name.

  • Start “scimexEx” using “seiscomp start scimexEx”.

  • Create an alias “scimexIm” in the target system using “seiscomp alias create scimexIm scimex”.

  • Create scimexIm.cfg in ~/seiscomp3/etc directory. Using this configuration, events are transferred from remote HMB at https://user:password@source_host/hmb/imex (assuming appropriate Apache or nginx setup) to local Spread.

  • As soon as some messages have been sent to HMB (the queue SC3MSG has been created), you can start “scimexIm” using “seiscomp start scimexIm”.

evmon.tar.gz contains Javascript, HTML and CSS code to implement a web page that shows a list of exported events in real time. Optionally, system alerts (from Nagios, etc.) can be shown at the top of the page. Feel free to modify the code for your own needs. (You can unpack the package under /srv/www/htdocs and use the nginx webserver with nginx_httpmsgbus.conf.)

Find out about more HMB use cases here.


Hello Andres

Thank you I will try to implement this module.

Best wishes ans good luck

Nest regards