Giter Club home page Giter Club logo

indy-node-monitor's Introduction

Indy Node Monitor

License Lifecycle:Maturing

Indy Node Monitor is a set of tools for monitoring the status of an Indy Ledger by querying the validator information of the nodes on the ledger. These tools are integrated into a full monitoring stack including the following components:

  • Indy Node Monitor (Fetch Validator Status)
  • Telegraf
  • Prometheus and/or InfluxDB
  • Alert Manager
  • Grafana

This allows you to:

  • Visualize the node and network data on dashboards.
  • Track trends about the status of nodes and the overall ledger.
  • Track read and write uptimes.
  • Tracking ledger usage such as number of transactions on the ledger.
  • Drive notifications of node outages.

The stack is easily managed and spun up in docker using the included ./manage script. Starting the stack is as easy as:

./manage build
./manage start

A browser window to the Grafana instance should launch automatically. The login username is admin and the password foobar. Once logged in you are able to browse the various (auto-provisioned) dashboards which will begin to populate after a few minutes. Please note:- In order to collect detailed data from the network to populate many of the graphs you will require a privileged DID (NETWORK_MONITOR at minimum) on the ledger and you will need to configure the monitoring stack with the seed(s).

For more information about the commands available in the ./manage script refer to the command list

For more infomration on how to setup and use the monitoring stack refer to this readme

Fetch Validator Status

This simple tool is the heart of the Indy Node Monitor. It is used to retrieve "validator-info"—detailed status data about an Indy node (aka "validator")—from all the nodes in a network. The results are returned as a JSON array with a record per validator, and the data can be manipulated and formatted through the use of plugins. Fetch validator status can be used as a stand-alone command line tool or through the Indy Node Monitor REST API which is used by the monitoring stack. The Indy Node Monitor REST API can be spun up easily by running ./manage start indy-node-monitor, and a browser window will automatically launch to display the API documents and interface.

For more details see the Fetch Validator Status readme

How to contribute to the monitoring stack

For more details on how to contribute follow the link to this readme

Contributions

Pull requests are welcome! Please read our contributions guide and submit your PRs. We enforce developer certificate of origin (DCO) commit signing. See guidance here.

We also welcome issues submitted about problems you encounter in using the tools within this repo.

Code of Conduct

All contributors are required to adhere to our Code of Conduct guidelines.

License

Apache License Version 2.0

indy-node-monitor's People

Contributors

andrewwhitehead avatar connorbarnes88 avatar crajapakshe avatar donato-ods-devops avatar gavinbendixsen avatar kolebarnes avatar mrkaurelius avatar patstlouis avatar repo-mountie[bot] avatar swcurran avatar wadebarnes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.