Differences between revisions 32 and 54 (spanning 22 versions)
Revision 32 as of 2021-04-05 22:34:45
Size: 3724
Comment:
Revision 54 as of 2021-11-19 05:28:32
Size: 2607
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.
Line 7: Line 9:
 * 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.1 (2021/11/19)
Line 11: Line 11:
sudo apt install python-ligo-lvalert pip install igwn-alert
Line 14: Line 14:
== Setting in advance ==  * 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 16: Line 19:
 * visit [[https://lvalert-test.cgca.uwm.edu]] and activate your account. 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 18: Line 28:
 * prepare `$HOME/.netrc`
  * albert.einstein should be your KAGRA account.
  * `PASSWORD` should be the password you set at Account Activation site.

 {{{
$ 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
 }}}

== Usage of lvalert_admin ==

 * get a list of existing nodes
 {{{
$ lvalert_admin -s lvalert-playground.cgca.uwm.edu --get-nodes
 }}}

 * 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 my_listen.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 94: Line 42:
 * send the test alert
  * Although test1.txt has gps_time, test2.txt has no gps_time.
 {{{
$ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test1.txt
Line 99: Line 43:
$ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test2.txt
 }}}

 
== 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 LVAlert is limited to LIGO, Virgo, or KAGRA members.
Line 105: Line 49:
== Related links == == Usage ==
Line 107: Line 51:
 * [[https://git.ligo.org/lscsoft/lvalert| git repository(lvalert)]] == Links ==
Line 109: Line 53:
 * [[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=11522|Tagoshi-san's note]]  * [[https://git.ligo.org/lscsoft/igwn-alert|git repo, igwn-alert]]
 * [[https://lscsoft.docs.ligo.org/igwn-alert/|igwn-alert document]]
 * [[https://git.ligo.org/lscsoft/igwn-alert|git repo, igwn-alert]]
 * [[KAGRA/Subgroups/DET/LVAlert_python2 |LVAlert instruction for python2]]
Line 111: Line 58:
 * [[https://lscsoft.docs.ligo.org/lvalert/index.html|document of lvalert (not completed)]]

 *
 * [[https://gracedb.ligo.org/documentation/responding_to_lvalert.html|Tutorial GraceDB]]

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.

Install

  • The latest version is 0.1.1 (2021/11/19)
    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 LVAlert is limited to LIGO, Virgo, or KAGRA members.

Usage

KAGRA/Subgroups/DET/LVAlert (last edited 2022-05-26 18:05:01 by HirotakaYuzurihara)