Skip to content

Commit

Permalink
feat: DEVOPS-1843 opentelemetry metrics for nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
pavlops committed Feb 10, 2025
1 parent 2cf12e6 commit e89370e
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 2 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/cicd-stg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ on:
push:
branches:
- main

- devops-1843

jobs:
build-makefile:
permissions:
Expand Down
9 changes: 8 additions & 1 deletion zq2/docs/nodes/node.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,13 @@ base. Follow the step by step guide to setup your node:
```
_NOTE: You can replace `zq2-prototestnet` with `zq2-protomainnet` depending on
which network you want your node to join._

A Zilliqa node contains various performance and operational metrics compatible with the OpenTelemetry protocol specification. If you want to export the OpenTelemetry metrics you can define the collector endpoint with the `--otlp-endpoint` parameter in `z2 join`:
```bash
z2 join --chain zq2-prototestnet --otlp-endpoint=http://localhost:4317
```
For more details on testing and using the available OpenTelemetry metrics refer to [OpenTelemetry](../nodes/opentelemetry.md) page.

8. Generate the node private key.
```bash
openssl rand -hex 32 > node-private-key.txt
Expand Down Expand Up @@ -171,7 +178,7 @@ Once you have sufficient $ZILs you can register your node as validator.

Below is a guide on how to register a validator node for Zilliqa 2.0:

<https://github.com/Zilliqa/zq2/blob/main/z2/docs/staking.md>
<https://github.com/Zilliqa/zq2/blob/main/z2/docs/deposit.md>

### [Upgrading your node](#upgrading-your-node)

Expand Down
41 changes: 41 additions & 0 deletions zq2/docs/opentelemetry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
id: nodes/opentelemetry
title: OpenTelemetry
keywords:
- Node
- Validator
- Monitor
- OpenTelemetry
- Metrics
description: OpenTelemetry
---

# OpenTelemetry Metrics

[OpenTelemetry](https://opentelemetry.io/) is an open-source observability framework designed to generate, collect, and manage telemetry data (metrics, traces, and logs) in distributed systems. It provides a standardized way to instrument, generate, collect, and export telemetry data for analysis, making it easier to monitor and troubleshoot complex distributed applications.

## Integration with Zilliqa

A Zilliqa node contains various performance and operational metrics compatible with the OpenTelemetry protocol specification. These metrics are useful for:

- Monitoring node performance and health
- Understanding system behavior under different conditions
- Enabling proactive maintenance and troubleshooting

To export the OpenTelemetry metrics, you can define the collector endpoint with the `--otlp-endpoint` parameter in `z2 join`:

```bash
z2 join --chain zq2-prototestnet --otlp-endpoint=http://localhost:4317
```

This integration demonstrates Zilliqa's commitment to providing robust monitoring capabilities that align with modern observability practices, enabling operators to maintain healthy and efficient network nodes.

## Local Testing

For local testing of the OpenTelemetry stack with the Zilliqa nodes, you can use the provided Docker Compose project in the `infra/opentelemetry` folder of the [zq2 repository](https://github.com/Zilliqa/zq2), and run:

```bash
docker-compose up -d
```

This will deploy a Zilliqa environment with the complete OpenTelemetry toolset and once deployed, the metrics can be visualized through Grafana at [http://localhost:9010](http://localhost:9010).
1 change: 1 addition & 0 deletions zq2/mkdocs.in.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ nav:
- Checkpoints: nodes/checkpoint.md
- Node FAQ: nodes/nodefaq.md
- Validator Monitoring: nodes/validatormonitoring.md
- OpenTelemetry: nodes/opentelemetry.md
- Tools and SDKs: sdk.md
- $use_zq2_from
- $APIs
Expand Down

0 comments on commit e89370e

Please sign in to comment.