All Projects → yearn → yearn-exporter

yearn / yearn-exporter

Licence: MIT license
Realtime and historical Yearn metrics

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to yearn-exporter

Unifiedmetrics
Fully-featured metrics collection agent for Minecraft servers. Supports Prometheus and InfluxDB. Dashboard included out-of-box.
Stars: ✭ 29 (-63.75%)
Mutual labels:  grafana, grafana-dashboard
Grafana Influx Dashboard
Grafana InfluxDB scripted dashboard
Stars: ✭ 130 (+62.5%)
Mutual labels:  grafana, grafana-dashboard
Personal Influxdb
Import data from various APIs into InfluxDB
Stars: ✭ 51 (-36.25%)
Mutual labels:  grafana, grafana-dashboard
Reporter
Service that generates a PDF report from a Grafana dashboard
Stars: ✭ 581 (+626.25%)
Mutual labels:  grafana, grafana-dashboard
Grafana Dashboards
Grafana Dashboards
Stars: ✭ 228 (+185%)
Mutual labels:  grafana, grafana-dashboard
Darknet chinesetrading
🚇暗网中文网监控爬虫(DEEPMIX)
Stars: ✭ 649 (+711.25%)
Mutual labels:  grafana, grafana-dashboard
Pi Hole Influx
A python daemon to send Pi-Hole stats for Grafana to InfluxDB
Stars: ✭ 126 (+57.5%)
Mutual labels:  grafana, grafana-dashboard
Prometheus
A docker-compose stack for Prometheus monitoring
Stars: ✭ 3,383 (+4128.75%)
Mutual labels:  grafana, grafana-dashboard
Dark
(grafana) Dashboards As Resources in Kubernetes
Stars: ✭ 190 (+137.5%)
Mutual labels:  grafana, grafana-dashboard
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+2382.5%)
Mutual labels:  grafana, grafana-dashboard
Version Checker
Kubernetes utility for exposing image versions in use, compared to latest available upstream, as metrics.
Stars: ✭ 371 (+363.75%)
Mutual labels:  grafana, grafana-dashboard
gitana
Gitana is a lightweight dashboard sync
Stars: ✭ 61 (-23.75%)
Mutual labels:  grafana, grafana-dashboard
Pihole Exporter
A Prometheus exporter for PI-Hole's Raspberry PI ad blocker
Stars: ✭ 352 (+340%)
Mutual labels:  grafana, grafana-dashboard
Cms Grafana Builder
helps you run a grafana server that include aliyun cms dashboard.
Stars: ✭ 26 (-67.5%)
Mutual labels:  grafana, grafana-dashboard
Grabana
User-friendly Go library for building Grafana dashboards
Stars: ✭ 313 (+291.25%)
Mutual labels:  grafana, grafana-dashboard
Grafana Sync
Keep your Grafana dashboards in sync
Stars: ✭ 88 (+10%)
Mutual labels:  grafana, grafana-dashboard
ruuvitag-demo
Demo of reading Bluetooth Low Energy sensor measurements of RuuviTag environmental sensors and feeding them to MQTT, a database and dashboards
Stars: ✭ 14 (-82.5%)
Mutual labels:  grafana, grafana-dashboard
atop-graphite-grafana-monitoring
Tools to extract raw system counters from atop, aggregate them to generate high level performance metrics, whose are then injected into a Graphite database and visualize through Grafana dashboards.
Stars: ✭ 15 (-81.25%)
Mutual labels:  grafana, grafana-dashboard
Legend
Legend builds and publishes Grafana dashboards for your services with prefilled metrics and alerts for your services.
Stars: ✭ 149 (+86.25%)
Mutual labels:  grafana, grafana-dashboard
Pagerbeauty
📟✨ PagerDuty on-call widget for monitoring dashboard. Datadog and Grafana compatible
Stars: ✭ 250 (+212.5%)
Mutual labels:  grafana, grafana-dashboard

Yearn Exporter

Collects realtime on-chain numeric data about all Yearn products and exposes it in multiple formats. Currently it's able to export data from the following networks: ethereum, fantom, arbitrum, gnosis and optimism.

Hosted version is available at https://yearn.vision.

Installation

You will need:

  • Erigon for querying historical data
  • Victoria-metrics to pull the metrics, persist them and make them queryable
  • Grafana if you want to set up custom dashboards and alerts
  • Etherscan API key
  • docker and docker-compose (not mandatory but easier usage, see below)

Usage

Prometheus exporter

# full info
brownie run exporter
# realtime tvl only
brownie run exporter tvl

Postgres exporter

# export historical tvl
brownie run historical_tvl
# complementary api server
uvicorn yearn.api:app --port 8000 --reload

On-demand stats

# tvl summary
brownie run tvl
# info about live v2 strategies
brownie run print_strategies

Docker setup

The dockerized exporter is controlled via multiple docker commands which are invoked via multiple Makefile recipes. It's possible to specify multiple Makefile args that control which exporters are started on which network. The available args to control the startup sequence of containers are the following:

  • network: one of ethereum, fantom, arbitrum, optimism, gnosis, see make list-networks
  • commands: a list of strings delimited with comma pointing to brownie scripts in ./scripts/ e.g. exporters/partners,exporters/vaults, see make list-commands
  • filter: used for make logs and make down to match the container name substring.

This is a flexible approach to start multiple containers on multiple networks which can be used for a given network or given exporters of a certain type and a combination of both.

Usage examples:

  • list supported networks: make list-networks

  • list supported exporter commands: make list-commands

  • build the docker image: make build

  • start all exporters on all supported networks, NOTE: this will require at least num_exporters x num_networks available cpu cores on your host. make up

  • stop all exporters: make down

  • start only the vaults exporter for ethereum: make up network=ethereum commands="exporters/vaults"

  • start only the vaults exporter for all supported networks: make up commands="exporters/vaults"

  • start only the treasury exporters for all supported networks: make treasury

  • start all available exporters on arbitrum: make up network=arbitrum

  • show the logs of all exporters on arbitrum: make logs network=arbitrum

  • stop all containers matching a string in their name, e.g. treasury: make down filter=treasury

  • Start veYFI exporter on ethereum: make veYFI

Grafana Dashboard & Exporters

# Grafana
export GF_SECURITY_ADMIN_USER=<YOUR_ADMIN_USER> # change this if you want to have a different admin user name, default is admin
export GF_SECURITY_ADMIN_PASSWORD=<YOUR_ADMIN_PASSWORD> # change this if you want to have a different admin password, default is admin
# Ethereum
export WEB3_PROVIDER=<YOUR_WEB3_PROVIDER> # needs to be set, a custom url to an eth archive node to be used as the web3 provider
export EXPLORER=<YOUR_ETH_EXPLORER> # optional, defaults to: https://api.etherscan.io/api
export ETHERSCAN_TOKEN=<YOUR_ETHERSCAN_TOKEN> # this needs to be set
# Fantom
export FTM_WEB3_PROVIDER=<YOUR_FTM_WEB3_PROVIDER> # needs to be set, a custom url to an ftm archive node to be used as the web3 provider
export FTM_EXPLORER=<YOUR_FTM_EXPLORER> # optional, defaults to: https://api.ftmscan.com/api
export FTMSCAN_TOKEN=<YOUR_FTMSCAN_TOKEN> # this needs to be set
# Arbitrum
export ARBI_WEB3_PROVIDER=<YOUR_ARBI_WEB3_PROVIDER> # needs to be set, a custom url to an arbi archive node to be used as the web3 provider
export ARBI_EXPLORER=<YOUR_ARBI_EXPLORER> # optional, defaults to: https://api.arbiscan.io/api
export ARBISCAN_TOKEN=<YOUR_ARBISCAN_TOKEN> # this needs to be set
# Gnosis
export XDAI_WEB3_PROVIDER=<YOUR_XDAI_WEb3_PROVIDER> # needs to be set, a custom url to an xdai archive node to be used as the web3 provider
export XDAI_EXPLORER=<YOUR_XDAI_EXPLORER> # optional, defaults to: https://blockscout.com/xdai/mainnet/api
export XDAISCAN_TOKEN=<YOUR_XDAISCAN_TOKEN> # this needs to be set
# Optimism
export OPTI_WEB3_PROVIDER=<YOUR_OPTI_WEb3_PROVIDER> # needs to be set, a custom url to an xdai archive node to be used as the web3 provider
export OPTI_EXPLORER=<YOUR_OPTI_EXPLORER> # optional, defaults to: https://api-optimistic.etherscan.io/api
export OPTISCAN_TOKEN=<YOUR_OPTISCAN_TOKEN> # this needs to be set
# Exporter Parameters
export POOL_SIZE=<integer>  #1,2,... Needs to be x such that longest export time for single block / x < resolution; default is 1
export RESOLUTION= # 1d, 1h, 30m, 15m, 5m, 1m, 30s, 15s default 1h. How often blocks are stored
make dashboards

After successful startup you can go directly to grafana at http://localhost:3000. If you want to change your dashboards you can sign-in at the lower left with admin:admin.

Historical TVL

export WEB3_PROVIDER=<YOUR_WEB3_PROVIDER> # if this is set, it overrides Infura, and instead a custom url is used as the web3 provider
export ETHERSCAN_TOKEN=<YOUR_ETHERSCAN_TOKEN> # this needs to be set
export EXPLORER=<EXPLORER> # optional, default to: https://api.etherscan.io/api
make tvl

After successful startup you can access the tvl rest endpoint at http://localhost:4000.

Setting up GitHub Actions

Create Access Keys for apy-exporter-service-user user.

Create a new environment named production and add the newly created AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].