DocsOperationsMonitoring

Monitoring

Protokit offers built-in integrations with a variety of monitoring techniques and services.

The following are available out of the box.

  • Logs via Promtail and Loki
  • Metrics via OpenTelemetry and Prometheus
  • Traces via OpenTelemetry, OTel Collector and Tempo
  • Dashboard via Grafana

Configuration

Protokit offers both modules to collect the data and docker-compose configurations to run all collector services.

The module used for integration is the OpenTelemetryModule. It is responsible for collecting metrics and traces and exporting them to the otel collector and prometheus.

Configure the module:

...
// modules config
Sequencer: {
    OpenTelemetryServer
}
...
 
appchain.configure({
    ...
    Sequencer: {
        OpenTelemetryServer: {
            metrics: {
                enabled: true
                prometheus: {
                    host: "prometheus",
                    port: 4320,
                    appendTimestamp: true
                },
                nodeScrapeInterval: 10, // interval in seconds
            },
            tracing: {
                enabled: true
                otlp: {
                    url: "http://otel-collector:4317"
                }
            },
        },
    }
});

Docker-compose files can be found in packages/deployment/docker/deployment.

Dashboard

Visit http://localhost:3001 to access the grafana UI.

Import the protokit sequencer dashboard using the ID 25097 or check out the on the grafana dashboard page