3940
Comment:
|
3727
|
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 on web == * 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 in local == * Run the {{{hop}}} command and enter the username and the password. * Empty Hostname is fine. |
Line 100: | Line 60: |
$ 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 64: |
$ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test2.txt }}} |
== Usage in local == * Initially, no topic (you can consider channel) is registered to your account. * From [[https://my.hop.scimma.org/|https://my.hop.scimma.org/]], please add channel (they call Adde permission). |
Line 105: | Line 68: |
* [[https://lscsoft.docs.ligo.org/igwn-alert/index.html#command-line-interface|Command Line Interface]] | |
Line 107: | Line 70: |
{{{ % igwn-alert topics Topics for group gracedb associated with the current credential: |
|
Line 108: | Line 74: |
== Related links == | }}} == Links == * [[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]] * [[KAGRA/Subgroups/DET/LVAlert_python2 |LVAlert instruction for python2 (out of date)]] |
Line 111: | Line 85: |
* [[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 on web
- 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 in local
Run the hop command and enter the username and the password.
- Empty Hostname is fine.
hop auth add
Once you entered, the authentification credential is stored in ~/.config/hop/auth.toml .
Usage in local
- Initially, no topic (you can consider channel) is registered to your account.
From https://my.hop.scimma.org/, please add channel (they call Adde permission).
% igwn-alert topics Topics for group gracedb associated with the current credential: