Skip to main content

Use metrics to monitor performance

Use the --metrics-enabled option to enable the Prometheus monitoring and alerting service to access EthSigner.

Install Prometheus

To use Prometheus with EthSigner, install the Prometheus main component. On MacOS, install with Homebrew:

 brew install prometheus

Setting up and running Prometheus with EthSigner

To configure Prometheus to run with EthSigner:

  1. Configure Prometheus to poll EthSigner. For example, add the following YAML fragment to the the prometheus.yml file:

    Example configuration
    scrape_interval: 15s
    - job_name: "prometheus"
    - targets: ["localhost:9090"]
    - job_name: "ethsigner-prod"
    scrape_timeout: 10s
    metrics_path: /metrics
    scheme: http
    - targets: ["localhost:9546"]

    Alternatively create your own YAML file and add the above example configuration.

  2. Start EthSigner with the --metrics-enabled option.

    ethsigner --chain-id=2018 \
    --downstream-http-port=8590 --metrics-enabled=true \
    file-based-signer --key-file=/Users/me/signer/keyFile --password-file=/Users/me/signer/passwordFile

    The JVM, and PROCESS metrics categories are enabled by default. Use the --metrics-category command line option to update the available categories.


    To view the full list of available EthSigner metrics view http://<metrics-host>:<metrics-port>/metrics. By default this is http://localhost:9546/metrics.

  3. In another terminal, run Prometheus specifying the prometheus.yml file:

    prometheus --config.file=prometheus.yml
  4. View the Prometheus graphical interface.

View Prometheus graphical interface

  1. Open a web browser to http://localhost:9090 to view the Prometheus graphical interface.

  2. Choose Graph from the menu bar and click the Console tab below.

  3. From the Insert metric at cursor drop-down, select a metric and click Execute. The values display.