This application monitors various aspects of the BURST cryptocurrency along with individual account. It is built around the Akka framework for fault tolerance.
Configuration is handled by the Lightbend Config library utilizing HOCON syntax. An example configuration may be found in reference.conf
(excerpt below).
prometheus {
http.port = 9000
}
burst_exporter {
default_poll_interval = 5 seconds
fallback_poll_interval = 30 seconds
burst_network {
wallet_url = "http://127.0.0.1:8125"
}
account_monitoring {
wallet_url = "https://127.0.0.1:8125"
accounts = [] // List in String format either the RS or numeric form
}
pool_monitoring {
pool_url = "wss://0-100-pool.burst.cryptoguru.org/ws"
accounts = [] // List in String format either the RS or numeric form
}
}
prometheus.http.port
- Port to listen for metrics requests on, defaults to9000
. After starting the app open a browser to http://127.0.0.1:9000/metrics to view all collected information.burst_exporter
-default_poll_interval
- Interval in which to poll information from the wallet.fallback_poll_interval
- Interval to use when an error has been encountered.burst_network.wallet_url
- URL for a running wallet where we may pull network information. This endpoint MUST accept connections from the IP where the application is running.account_monitoring
-wallet_url
- URL for a running wallet where we may pull account information. Likeburst_network.wallet_url
this endpoint MUST accept connections from the IP where the application is running.accounts
- List of accounts to be monitored as Strings. You may use either the RS or numeric account ID
pool_monitoring
-pool_url
- Websocket URL of the BURST pool you would like to monitor. Accepts the protocol "wss://"- accounts
These parameters are provided in a file called application.conf
at runtime. You do NOT need to adjust the reference.conf
file directly. Anything provided as part of application.conf
will override the values in reference.conf
. The location of application.conf
is provided as part of the command to start the application:
java -Dconfig.file=/app/application.conf -jar ./burst-exporter-assembly-0.6.jar
It is simple to run this application as part of a container. Releases are packaged up as Docker containers for ease of deployment. Application configuration is handled via an exposed volume. For more information see Docker Hub and the project's Dockerfile.
An entire setup may be managed via Docker with:
Configuration of these containers is an exercise left up to the reader.
Building the project is handled by SBT.
sbt clean compile assembly
The resulting JAR file may be found under target/scala-2.12/burst-exporter-assembly-version.jar
.