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 prodFor more control over testing, see tests/conftest.py, and/or Makefile.
Node Monitor writes all logs to the logs/ directory.
logs/gunicorn_access.logcontains all HTTP requests.logs/gunicorn_error.logcontains all gunicorn errors and information.logs/node_monitor.logcontains allNode Monitorspecific logs.
# a=preserve links, n=dry run, v=verbose
$ rsync -anv --exclude '.git/' . username@remote_host:/root/directory
# remove the `n` to run for realIf you are using gmail, you may need to create an 'app password'