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.

Usage

Visit localhost:3001 to access the grafana UI.

Default dashboard aren’t yet available, but on our roadmap.