Size: 3940
Comment:
|
Size: 3263
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
* [[https://git.ligo.org/lscsoft/lvalert/-/tree/master|LValert]] is The LIGO-Virgo Alert System (LVAlert) * a prototype notification service built on the xmpp (jabber) protocol and the pubsub extension. * It provides a basic notification tool which allows multiple producers and consumers of notifications. |
* LIGO-Virgo Alert System (LVAlert) [[https://git.ligo.org/lscsoft/igwn-alert|igwn-alert]] * The International Gravitational Wave Network Alert System (igwn-alert) is a notification service built on the Apache Kafka protocol and the pubsub extension. * It is a higher-level modification of SCIMMA's hop-client to streamline receiving and responding to alerts from GraceDB. * This package replaces the legacy LIGO LVAlert XMPP-based alert system. * The API are compatible with Python 3 * Retirement of existing LVAlert service targeted for ~April 2022. * In O4, we will use igwn-alert. |
Line 7: | Line 11: |
* We can't install lvalert by [[https://computing.docs.ligo.org/conda/environments/igwn-py37/|igwn]] on conda environment. (see [[https://git.ligo.org/lscsoft/lvalert/-/issues/19|lvalert_admin broken on both conda igwn-py2 and igwn-py37 environments]]) * because lvalert depends on legacy package (`pyxmpp`) * To install lvalert on python2, |
* The latest version is 0.1.2 (2021/12/07) * Available in pip and conda shortly. |
Line 11: | Line 14: |
sudo apt install python-ligo-lvalert | conda install igwn-alert |
Line 14: | Line 17: |
== Setting in advance == * see [[https://gracedb.ligo.org/documentation/responding_to_lvalert.html|this document]] * visit [[https://lvalert-test.cgca.uwm.edu]] and activate your account. * prepare `$HOME/.netrc` * albert.einstein should be your KAGRA account. * `PASSWORD` should be the password you set at Account Activation site. |
|
Line 25: | Line 18: |
$ echo 'machine lvalert.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc $ echo 'machine lvalert-playground.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc $ echo 'machine lvalert-test.cgca.uwm.edu login albert.einstein password PASSWORD' >> ~/.netrc $ chmod 0600 ~/.netrc |
pip install igwn-alert |
Line 31: | Line 21: |
== Usage of lvalert_admin == | * help {{{ % igwn-alert -h usage: igwn-alert [-h] [-g GROUP] [-l {critical,error,warning,info,debug}] [-n NETRC] [-s SERVER] [-u USERNAME] {listen,subscriptions,topics,unsubscribe,send} ... |
Line 33: | Line 26: |
* get a list of existing nodes {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --get-nodes }}} |
positional arguments: {listen,subscriptions,topics,unsubscribe,send} sub-command help listen Listen for igwn-alert messages and print them to stdout. subscriptions List your subscriptions topics List available pubsub topics unsubscribe Unsubscribe from one or more topics send publish contents of a file to a pubsub topic |
Line 38: | Line 35: |
* create a test node {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --create --node test_k1det Creating node test_k1det Successfully completed operation }}} * subscribe a node {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --subscribe --node test_k1det Successfully subscribed to node test_k1det }}} * remove a note {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --delete --node test_k1det }}} * check current subscriptions {{{ $ lvalert_admin -s lvalert-playground.cgca.uwm.edu --subscriptions }}} * unsubscribe * This works only a node which you created. {{{ $ lvalert_admin --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu --node "tagoshi-testnode" }}} == Usage of lvalert_listen and lvalert_send == * launch the lvalert_listern * this should run in the background {{{ % lvalert_listen -s lvalert-playground.cgca.uwm.edu -c /users/yuzu/work/lvalert/setting/my_l isten.ini -r listener1 & }}} * prepare the dummy alert * the real alert will be sent as JSON format. (But, I don't know the actual keys.) {{{ $ cat test1.txt {"uid": "G12345", "alert_type": "new", "far": 1e-8, "gps_time": 1301640384} $ cat test2.txt {"uid": "G12345", "alert_type": "new", "far": 1e-8} }}} * prepare configuration file * when we got the alert, the following shell script will run. (Note that this shell script can't use option.) * you can see the details of shell script at `/users/yuzu/work/lvalert` in the Kamioka workstation. {{{ $ cat my_listen.ini [test_k1det] executable = ./run_test_k1det.sh |
optional arguments: -h, --help show this help message and exit -g GROUP, --group GROUP GraceDB group name (e.g., gracedb, gracedb-playground) -l {critical,error,warning,info,debug}, --log {critical,error,warning,info,debug} Log level -n NETRC, --netrc NETRC netrc file (default: read from NETRC environment variable or ~/.netrc) -s SERVER, --server SERVER igwn-alert server hostname -u USERNAME, --username USERNAME User name (default: look up in auth.toml or .netrc) |
Line 97: | Line 49: |
* send the test alert * Although test1.txt has gps_time, test2.txt has no gps_time. |
== Setting in advance == * The authentification between the client and the server is managed by SciMMA. * The first step is to make a SCiMMa account by visiting [[https://my.hop.scimma.org/|https://my.hop.scimma.org/]]. * At this time, access to igwn-alert is limited to LIGO, Virgo, or KAGRA members. * After log-in [[https://my.hop.scimma.org/|https://my.hop.scimma.org/]], by clicking {{{Create new credentials}}}, the password for your account will be shown just once. == Adding Authentication == * run the {{{hop}}} command and enter the username and the password. |
Line 100: | Line 59: |
$ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test1.txt | hop auth add }}} * Once you entered, the authentification credential is stored in {{{~/.config/hop/auth.toml}}} |
Line 102: | Line 63: |
$ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test2.txt }}} |
== Usage == |
Line 105: | Line 65: |
== Links == | |
Line 107: | Line 67: |
* [[https://git.ligo.org/lscsoft/igwn-alert|git repo, igwn-alert]] * [[https://lscsoft.docs.ligo.org/igwn-alert/|igwn-alert, documentation outlining API]] * [[https://lscsoft.docs.ligo.org/igwn-alert/guide.html|igwn-alert, user guide for how to get started]] |
|
Line 108: | Line 71: |
== Related links == | * [[KAGRA/Subgroups/DET/LVAlert_python2 |LVAlert instruction for python2 (out of date)]] |
Line 111: | Line 74: |
* [[https://git.ligo.org/lscsoft/lvalert| git repository(lvalert)]] * [[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=11522|Tagoshi-san's note]] * [[https://lscsoft.docs.ligo.org/lvalert/index.html|document of lvalert (not completed)]] |
Introduction
LIGO-Virgo Alert System (LVAlert) igwn-alert
- The International Gravitational Wave Network Alert System (igwn-alert) is a notification service built on the Apache Kafka protocol and the pubsub extension.
- It is a higher-level modification of SCIMMA's hop-client to streamline receiving and responding to alerts from GraceDB.
- This package replaces the legacy LIGO LVAlert XMPP-based alert system.
- The API are compatible with Python 3
- Retirement of existing LVAlert service targeted for ~April 2022.
- In O4, we will use igwn-alert.
Install
- The latest version is 0.1.2 (2021/12/07)
- Available in pip and conda shortly.
conda install igwn-alert
pip install igwn-alert
- help
% igwn-alert -h usage: igwn-alert [-h] [-g GROUP] [-l {critical,error,warning,info,debug}] [-n NETRC] [-s SERVER] [-u USERNAME] {listen,subscriptions,topics,unsubscribe,send} ... positional arguments: {listen,subscriptions,topics,unsubscribe,send} sub-command help listen Listen for igwn-alert messages and print them to stdout. subscriptions List your subscriptions topics List available pubsub topics unsubscribe Unsubscribe from one or more topics send publish contents of a file to a pubsub topic optional arguments: -h, --help show this help message and exit -g GROUP, --group GROUP GraceDB group name (e.g., gracedb, gracedb-playground) -l {critical,error,warning,info,debug}, --log {critical,error,warning,info,debug} Log level -n NETRC, --netrc NETRC netrc file (default: read from NETRC environment variable or ~/.netrc) -s SERVER, --server SERVER igwn-alert server hostname -u USERNAME, --username USERNAME User name (default: look up in auth.toml or .netrc)
Setting in advance
- The authentification between the client and the server is managed by SciMMA.
The first step is to make a SCiMMa account by visiting https://my.hop.scimma.org/.
- At this time, access to igwn-alert is limited to LIGO, Virgo, or KAGRA members.
After log-in https://my.hop.scimma.org/, by clicking Create new credentials, the password for your account will be shown just once.
Adding Authentication
run the hop command and enter the username and the password.
hop auth add
Once you entered, the authentification credential is stored in ~/.config/hop/auth.toml
Usage