Version 1 (modified by 14 years ago) (diff) | ,
---|
Watchdog
What is the gateway watchdog
The SENSEI Gateway Watchdog is a monitoring and control service for the SENSEI Gateway. It allows for remote starting, stoping and updating the gateway code and can report the version string and uptime of the currently running gateway binary.
Requirements
- Linux
- g++, make
- Sockets C++ library (Also included in lib/Sockets-2.3.7; make clean; make; make install)
- libxml2
- openssl, openssl-dev
Project Organization
The watchdog shares its code with the gateway implementation and can be found in the /gateway folder in the SVN.
- /bin executables
- /src Gateway and Watchdog Code
- /xml Location of resource descriptions
- /lib Sockets++ library
- /config Configuration files (unused)
- /log Log files (unused)
How to build it
The top-level Makefile will build everything with the following, which places the executables in ./bin. Note that the executables must be run from the root of the project as shown below.
make ./bin/watchdog
To clean everything do
make clean
To build the Sockets++ library
cd ./lib/Sockets-2.3.7 make clean make sudo make install
How to use it
The watchdog must be run from the root of the project
./bin/watchdog
Available command line options are:
-p HTTPD port (default: 9000)
-s HTTPD hostname for inserting in resource desciption (default: localhost)
-d domain name inserted in resource description (default: example.com)
-w WSAN island name inserted in resource description (default: Example)
-f folder where the gateway binary can be found (default: ./)
-c gateway binary filename (default: sensei-gateway)
-cert ssl certificate filename, also enables https operation
-pass ssl certificate passphrase, necessary if the certificate file is encrypted
The SENSEI Gateway Watchdog server runs by default on port 9000. It exposes the following urls:
- /start - a POST request starts the gateway if not already started
- /stop - a POST request stops the gateway
- /update - a POST request with a form that has a 'file' field named 'code' updates the gateway binary, a 'text' field named 'version' can also be sent as the version string for the newly uploaded binary, otherwise version string will be taken from the uploaded file
- /uptime - a GET request returns the uptime of the gateway in seconds or -1 if the gateway is not started
- /version - a GET request returns the gateway version string, if one is available.
For the /start, /stop and /uptime urls GET requests are also accepted. They return an HTML page that allows easy access to the operations from a browser.
Attachments (22)
-
rd.png (94.4 KB) - added by 14 years ago.
Resource Directory query example
-
start.png (8.3 KB) - added by 14 years ago.
Start gateway response
-
stop.png (8.3 KB) - added by 14 years ago.
Stop gateway response
-
update2.png (14.8 KB) - added by 14 years ago.
Update example
- arhi.png (22.1 KB) - added by 14 years ago.
- sensei+rum.png (34.8 KB) - added by 14 years ago.
- telnet.png (18.7 KB) - added by 14 years ago.
- Monitor_screen1.png (77.6 KB) - added by 14 years ago.
- Monitor_screen2.png (82.9 KB) - added by 14 years ago.
- Percentage_task-scheduling.png (30.8 KB) - added by 14 years ago.
- Runtime_task-scheduling.png (34.4 KB) - added by 14 years ago.
-
NetworkTable.png (33.7 KB) - added by 14 years ago.
RUM network table with multihop
-
sh-config.png (72.2 KB) - added by 14 years ago.
Self-healing: configuration file
-
sh-suspend service.png (27.5 KB) - added by 14 years ago.
Self-healing: suspend the temp service on a node
-
sh-no service.png (43.6 KB) - added by 14 years ago.
Self-healing: nodes are failing without the self-healing service
-
sh-service startup.png (22.4 KB) - added by 14 years ago.
Self-healing: at service startup it recognizes the resources being monitored
-
sh-start node.png (56.4 KB) - added by 14 years ago.
Self-healing: the service starts a node to assure service constraints
-
sh-multi island failing.png (85.9 KB) - added by 14 years ago.
Self-healing: without the help of self-healing, sensor readings lack values
-
sh-multi island new node.png (138.1 KB) - added by 14 years ago.
Self-healing: the temperature service is started on a node in a different island
-
sh-performance.png (249.1 KB) - added by 14 years ago.
Self-healing: timings
- Monitor_screen1.jpg (157.2 KB) - added by 14 years ago.
- Monitor_screen2.jpg (58.9 KB) - added by 14 years ago.
Download all attachments as: .zip