Differences between revisions 1 and 40 (spanning 39 versions)
Revision 1 as of 2021-04-05 20:09:41
Size: 13
Comment:
Revision 40 as of 2021-11-16 17:46:29
Size: 4240
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Links == == Introduction ==
 * The LIGO-Virgo Alert System (LVAlert) [[https://git.ligo.org/lscsoft/igwn-alert|igwn-alert]]
  * The IGWN Alert System (LVAlert) is a prototype notification service built on Apache Kafka, using the publish-subscribe (pubsub) protocol.
  * 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.

== Install ==
 * 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,
 {{{
sudo apt install python-ligo-lvalert
 }}}

== 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.

 {{{
$ 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 /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.)
  * the details of shell script at `/users/yuzu/work/lvalert` in the Kamioka workstation.
  * the details of configuration files at `/users/yuzu/work/lvalert/setting` in the Kamioka workstation.
 
 {{{
$ cat my_listen.ini
[test_k1det]
executable = ./run_test_k1det.sh
}}}

 * 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

$ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test2.txt
 }}}

 


== Related links ==

 * [[KAGRA/Subgroups/DET/LVAlert_python2 |LVAlert instruction for python2]]

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

 * [[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

  • The LIGO-Virgo Alert System (LVAlert) igwn-alert

    • The IGWN Alert System (LVAlert) is a prototype notification service built on Apache Kafka, using the publish-subscribe (pubsub) protocol.
    • 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.

Install

Setting in advance

  • see 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.

    $ 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 /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.)
    • the details of shell script at /users/yuzu/work/lvalert in the Kamioka workstation.

    • the details of configuration files at /users/yuzu/work/lvalert/setting in the Kamioka workstation.

    $ cat my_listen.ini
    [test_k1det]
    executable = ./run_test_k1det.sh
  • 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
    
    $ lvalert_send --username hirotaka.yuzurihara -s lvalert-playground.cgca.uwm.edu -n test_k1det --file test2.txt

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