diff --git a/.github/workflows/cicd-stg.yml b/.github/workflows/cicd-stg.yml index 639fc3d..c9f6c63 100644 --- a/.github/workflows/cicd-stg.yml +++ b/.github/workflows/cicd-stg.yml @@ -10,7 +10,8 @@ on: push: branches: - main - + - devops-1843 + jobs: build-makefile: permissions: diff --git a/zq2/docs/nodes/node.md b/zq2/docs/nodes/node.md index 3253d28..016f49e 100644 --- a/zq2/docs/nodes/node.md +++ b/zq2/docs/nodes/node.md @@ -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 @@ -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: - + ### [Upgrading your node](#upgrading-your-node) diff --git a/zq2/docs/opentelemetry.md b/zq2/docs/opentelemetry.md new file mode 100644 index 0000000..645893d --- /dev/null +++ b/zq2/docs/opentelemetry.md @@ -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). \ No newline at end of file diff --git a/zq2/mkdocs.in.yaml b/zq2/mkdocs.in.yaml index 23a7184..d36001f 100644 --- a/zq2/mkdocs.in.yaml +++ b/zq2/mkdocs.in.yaml @@ -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