neo-exporter

module
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2024 License: GPL-3.0

README

Neo Exporter

Export various data from Neo chains as Prometheus metrics. Special support is provided for NeoFS contracts (deployed into FS chains). Metrics are updated regularly and can then be scraped/stored/analysed/visualized in various ways (VictoriaMetrics/Grafana).

How to use

  1. (Optional) Build image of neo-exporter app.
$ make image
  1. (Optional) Specify neo-exporter image version in docker/docker-compose.yml.

  2. Start environment.

$ make up

To stop environment run make down command.

  1. In grafana at http://localhost:3000 select NeoFS Network Monitor dashboard.

Supported environments:

  • N3 Mainnet (make up)
  • N3 T5 (make up-testnet)
  • NeoFS Dev Env (make up-devenv)

Available options

See config examples for all available options.

You can provide a config for neo-exporter:

$ neo-exporter --config config.yaml

Also, you can provide all options using env variables.

nep17tracker

Allows to monitor native nep17 contracts and accounts.

nep17:
    # Native GAS contract. Possible "contract" names are Gas, GAS, gas
    - contract: "Gas" 
      label: "Gas" # Human readable contract label
      totalSupply: true # allows to return the total token supply currently available.
      balanceOf: # account list can be set via two formats in any combination
        - 3c3f4b84773ef0141576e48c3ff60e5078235891
    # Native Neo contract. Possible "contract" names are Neo, NEO, neo
    - contract: "Neo"
      label: "Neo"
      balanceOf:
        - NSPCCpw8YmgNDYWiBfXJHRfz38NDjv6WW3
        - NSPCCa2T6nc2kYcgWC2k68boyGgc9YdKsj

Any custom nep17 contract can be configured:

nep17:
    # set-up contract hash
    - contract: "3c3f4b84773ef0141576e48c3ff60e5078235891"
      label: "SomeContractName"
      balanceOf:
        - NSPCCpw8YmgNDYWiBfXJHRfz38NDjv6WW3
        - NSPCCa2T6nc2kYcgWC2k68boyGgc9YdKsj

NeoFS balance contract can be configured with next config:

nep17:
    - contract: "balance"
      label: "neofs_balance"
      totalSupply: true
      balanceOf:
        - NagentXDvR5c3pQ4gxXpqZjMoUpKVCUMmB

If contract has NNS record, you may configure tracker to monitor it. Just use NNS name in contract:

nep17:
    - contract: "<contract_nns_name>"
      label: "<contract_name>"
      balanceOf:
        - NagentXDvR5c3pQ4gxXpqZjMoUpKVCUMmB

Connect to neofs-dev-env

After Jebudo release monitor can be attached to neofs-dev-env. Go to docker/docker-compose.devenv.yml file, make sure that NeoFS contract script hash is correct, and run make up-devenv command.

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL