This package provides a connector which listen for events on a TCP port.
Run the script on a designated port (8000
in this example) and with the URL of the AMQP server:
$ tcp2canopsis -p 8000 -a "amqp://guest:guest@localhost:5672/" -t token
Then use telnet
to publish events:
$ telnet localhost 8000
Trying ::1...
Connected to localhost.
Escape character is '^]'.
token
{"connector": "test", "connector_name": "testname", "event_type": "check", "source_type": "resource", "component": "testcmp", "resource": "testrsrc", "state": 0, "output": "test output"}
{"connector": "test", "connector_name": "testname", "event_type": "check", "source_type": "resource", "component": "testcmp", "resource": "testrsrc", "state": 1, "output": "test output 2"}
{"connector": "test", "connector_name": "testname", "event_type": "check", "source_type": "resource", "component": "testcmp", "resource": "testrsrc", "state": 0, "output": "test output 3"}
Connection closed by foreign host.
Or in a JSON file:
{"tcp2canopsis": {
"port": 8000,
"amqp": "amqp://guest:guest@localhost:5672/",
"token": "token"
}}
And load the file using:
$ tcp2canopsis -c path/to/config.json
port
: AMQP portamqp
: AMQP URItoken
: authentication tokenrealroute
:amqp
ordevnull
.devnull
just ignore events
If using configuration via command line, use those options:
$ tcp2canopsis --ssl-cert server.pem --ssl-key server.key
NB: other options are still mandatory
Or via the configuration file:
{"tcp2canopsis": {
"port": 8000,
"amqp": "amqp://guest:guest@localhost:5672/",
"token": "token",
"ssl-cert": "server.pem",
"ssl-key": "server.key"
}}
Then, instead of telnet
, use this command to test the connector:
$ openssl s_client -quiet -connect localhost:8000 -CAfile ca.pem -crlf
testtoken
{"connector": "test", "connector_name": "testname", "event_type": "check", "source_type": "resource", "component": "testcmp", "resource": "testrsrc", "state": 0, "output": "test output"}
Just type:
$ pip install tcp2canopsis
Or, to install it in a locally:
$ ./makefile
This will create a virtual Python environment in the current folder, and install the dependencies listed by requirements.txt
. Finally, it will perform a python setup.py install
.
After executing this script, the connector will be available in the current folder (which is now a virtual Python environment).
Copy the initscript and add the configuration file:
$ cp contrib/tcp2canopsis.init.centos.sh /etc/init.d/tcp2canopsis
$ cat > /etc/sysconfig/tcp2canopsis << "EOF"
CONNECTOR_DIR="/path/to/tcp2canopsis/virtualenv"
EOF
TODO
TODO