Node monitoring is an open-source notification service for Internet Computer Nodes. It queries the Internet Computer API with a specified interval and reports status changes to email and communication channels like Slack and Telegram.
You can run Node Monitor yourself or use the free hosted version.
Place a .env
file in this directory.
Use .env.example
as a template.
You will also need a running Postgres database to store user information.
Don't want the hassle of hosting the service yourself? We've got you covered! Introducing our free hosted version - instant monitoring, zero setup. Sign up here: aviatelabs.co/node-monitor
The service uses the same functionality as the open-source service, with Slack and Telegram already integrated. Features will be added to provide management and incident-handling support to Node Providers.
# To run the app
$ docker compose up --build
# To only run the tests, then exit
$ TEST=true docker compose up --build
# Install dependencies
$ pip install -r requirements.txt
# Check static typing, basic tests
$ make check
$ make test
# Integration tests (live email, database)
$ make testall
# Run the app, using Gunicorn as the WSGI server
$ make prod
For more control over testing, see tests/conftest.py
, and/or Makefile
.
Node Monitor writes all logs to the logs/
directory.
logs/gunicorn_access.log
contains all HTTP requests.logs/gunicorn_error.log
contains all gunicorn errors and information.logs/node_monitor.log
contains allNode Monitor
specific logs.
# a=preserve links, n=dry run, v=verbose
$ rsync -anv --exclude '.git/' . username@remote_host:/root/directory
# remove the `n` to run for real
If you are using gmail, you may need to create an 'app password'