Skip to content

Conversation

@AgustinRamiroDiaz
Copy link
Contributor

@AgustinRamiroDiaz AgustinRamiroDiaz commented Jan 27, 2026

  • Changed "Monitoring" to "Monitoring & Telemetry" in the metadata and relevant sections.
  • Updated environment variable names for clarity and consistency in the monitoring setup instructions.
  • Enhanced the setup guide with new authentication details for central monitoring services.

Summary by CodeRabbit

  • Documentation
    • Renamed monitoring sections to "Monitoring & Telemetry" and updated headings and examples.
    • Reworked telemetry docs to use centralized endpoints and separate credentials for metrics and logs.
    • Updated docker-compose instructions and added a verification step for the monitoring dashboard.
    • Documented pinned Alloy image, improved metrics and logs scraping/tailing, remote-write to central monitoring, and lightweight self-monitoring configuration.

✏️ Tip: You can customize this high-level summary in your review settings.

…tation

- Changed "Monitoring" to "Monitoring & Telemetry" in the metadata and relevant sections.
- Updated environment variable names for clarity and consistency in the monitoring setup instructions.
- Enhanced the setup guide with new authentication details for central monitoring services.
@vercel
Copy link
Contributor

vercel bot commented Jan 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
genlayer-docs Ready Ready Preview, Comment Jan 28, 2026 1:42pm

Request Review

@netlify
Copy link

netlify bot commented Jan 27, 2026

Deploy Preview for genlayer-docs ready!

Name Link
🔨 Latest commit c29557b
🔍 Latest deploy log https://app.netlify.com/projects/genlayer-docs/deploys/697a120e72661c0008b99899
😎 Deploy Preview https://deploy-preview-337--genlayer-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 27, 2026

📝 Walkthrough

Walkthrough

Docs and compose/config examples updated to centralize telemetry: labels/titles changed to "Monitoring & Telemetry", MONITORING_* renamed to CENTRAL_MONITORING_* and CENTRAL_LOKI_, and Prometheus/Loki/Alloy/docker-compose examples adjusted to use CENTRAL_ endpoints, credentials, and new defaults.

Changes

Cohort / File(s) Change Summary
Metadata
pages/validators/_meta.json
Label changed from "Monitoring" to "Monitoring & Telemetry".
Telemetry guide
pages/validators/monitoring.mdx
Title and content revised to central monitoring model: MONITORING_* → CENTRAL_MONITORING_, MONITORING_PASSWORD → CENTRAL_MONITORING_PASSWORD, CENTRAL_LOKI_ keys introduced, updated Alloy image/version, Prometheus remote_write to CENTRAL_MONITORING_URL with basic_auth, Loki forwarding to CENTRAL_LOKI_URL, SCRAPE_TARGETS_JSON and NODE_METRICS_ENDPOINT defaults, tail_from_end, batch/queue settings, relabeling and scrape config, extra_hosts and docker-compose/profile adjustments.
Setup guide
pages/validators/setup-guide.mdx
Telemetry/setup section renamed and refactored: env examples replaced with CENTRAL_* variables, NODE_ID/VALIDATOR_NAME defaults updated, and docker-compose profile changed to -profile monitoring.

Sequence Diagram(s)

sequenceDiagram
  participant Node as Node (validator)
  participant Alloy as Alloy (local collector)
  participant CentralM as Central Monitoring (Prometheus)
  participant CentralL as Central Loki (Loki)

  Node->>Alloy: expose metrics endpoint & write logs (file)
  Alloy->>CentralM: remote_write (CENTRAL_MONITORING_URL + BASIC_AUTH)
  Alloy->>CentralL: push logs (CENTRAL_LOKI_URL + BASIC_AUTH)
  Alloy->>Alloy: self-scrape (ALLOY_SELF_MONITORING_INTERVAL)
  Note right of Alloy: relabeling, SCRAPE_TARGETS_JSON, tail_from_end, batching & queue_config applied
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • dohernandez
  • rasca

Poem

🐰 I hopped through docs both day and night,
CENTRAL creds now set just right,
Metrics and logs in one neat stream,
Alloy hums and dashboards gleam,
Validators nap while telemetry’s bright.

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description covers the main changes but lacks detail expected from the template; it does not mention any related issues and provides only a bullet-point summary without comprehensive explanation. Expand the description with more context about why these changes were made, any related issues (e.g., 'Closes #XXX'), and details about the impact of the credential naming updates.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: updating monitoring and telemetry references across validator documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@pages/validators/setup-guide.mdx`:
- Around line 629-650: The CENTRAL_MONITORING_URL and CENTRAL_LOKI_URL env
values currently include full endpoint paths, causing duplicated/malformed URLs
when the Alloy config appends its own paths; change those env variables
(CENTRAL_MONITORING_URL, CENTRAL_LOKI_URL) to be base URLs only (e.g.,
https://prometheus-prod-66-prod-us-east-3.grafana.net and
https://logs-prod-042.grafana.net) and remove any trailing path segments so the
monitoring config can safely append /api/v1/write or /loki/api/v1/push; apply
the same change to the corresponding examples used by the Alloy monitoring
config to keep both docs consistent.

Comment on lines +629 to +650
### Telemetry

For a quick setup using Docker Compose:

1. **Configure your `.env` file** with the required variables for monitoring:

```env copy
# Grafana Cloud credentials (request from Foundation team in Discord #testnet-asimov)
CENTRAL_MONITORING_URL=https://prometheus-prod-...grafana.net
CENTRAL_LOKI_URL=https://logs-prod-...grafana.net
MONITORING_USERNAME=1234567890 # your instance ID
MONITORING_PASSWORD=glc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx # API key
# Your node labels (customize for easy filtering in dashboards)
NODE_ID=0xYourValidatorAddressOrCustomID
VALIDATOR_NAME=validatorname
# Central monitoring server endpoints for GenLayer Foundation
CENTRAL_MONITORING_URL=https://prometheus-prod-66-prod-us-east-3.grafana.net/api/prom/push
CENTRAL_LOKI_URL=https://logs-prod-042.grafana.net/loki/api/v1/push
# Authentication for central monitoring
# Metrics (Prometheus) credentials
CENTRAL_MONITORING_USERNAME=your-metrics-username
CENTRAL_MONITORING_PASSWORD=your-metrics-password
# Logs (Loki) credentials
CENTRAL_LOKI_USERNAME=your-logs-username
CENTRAL_LOKI_PASSWORD=your-logs-password
# Node identification
NODE_ID=validator-001
VALIDATOR_NAME=MyValidator
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Search for Alloy config files that use CENTRAL_* variables
fd -type f -name "*.alloy" -o -name "*alloy*" -type f | head -20

Repository: genlayerlabs/genlayer-docs

Length of output: 240


🏁 Script executed:

# Search for mentions of CENTRAL_MONITORING_URL and CENTRAL_LOKI_URL in codebase
rg "CENTRAL_MONITORING_URL|CENTRAL_LOKI_URL" -A 3 -B 3

Repository: genlayerlabs/genlayer-docs

Length of output: 3527


🏁 Script executed:

# Search for monitoring-related documentation
fd -type f \( -name "*monitoring*" -o -name "*telemetry*" \) | grep -E "\.(md|mdx)$"

Repository: genlayerlabs/genlayer-docs

Length of output: 240


🏁 Script executed:

# Look for docker-compose files that may show how these env vars are used
fd -type f -name "docker-compose*.yml" -o -name "docker-compose*.yaml"

Repository: genlayerlabs/genlayer-docs

Length of output: 240


Fix double-path bug in CENTRAL_ URLs — remove path components from env values.*

Lines 635-638 show full endpoint paths, but the Alloy config in pages/validators/monitoring.mdx appends additional paths:

  • CENTRAL_LOKI_URL + /loki/api/v1/push → malformed double path
  • CENTRAL_MONITORING_URL + /api/v1/write → wrong endpoint path

The .env values must be base URLs only:

-CENTRAL_MONITORING_URL=https://prometheus-prod-66-prod-us-east-3.grafana.net/api/prom/push
-CENTRAL_LOKI_URL=https://logs-prod-042.grafana.net/loki/api/v1/push
+CENTRAL_MONITORING_URL=https://prometheus-prod-66-prod-us-east-3.grafana.net
+CENTRAL_LOKI_URL=https://logs-prod-042.grafana.net

Apply the same fix to pages/validators/monitoring.mdx for consistency.

🤖 Prompt for AI Agents
In `@pages/validators/setup-guide.mdx` around lines 629 - 650, The
CENTRAL_MONITORING_URL and CENTRAL_LOKI_URL env values currently include full
endpoint paths, causing duplicated/malformed URLs when the Alloy config appends
its own paths; change those env variables (CENTRAL_MONITORING_URL,
CENTRAL_LOKI_URL) to be base URLs only (e.g.,
https://prometheus-prod-66-prod-us-east-3.grafana.net and
https://logs-prod-042.grafana.net) and remove any trailing path segments so the
monitoring config can safely append /api/v1/write or /loki/api/v1/push; apply
the same change to the corresponding examples used by the Alloy monitoring
config to keep both docs consistent.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
pages/validators/monitoring.mdx (1)

386-393: Inconsistent formatting in troubleshooting section.

The troubleshooting items (lines 387-390) lack proper markdown list formatting, making them render as a continuous paragraph instead of distinct items.

📝 Suggested fix
 — it should return Prometheus-formatted data.
-Authentication errors (401/403): Double-check CENTRAL_MONITORING_USERNAME, CENTRAL_MONITORING_PASSWORD, CENTRAL_LOKI_USERNAME, and CENTRAL_LOKI_PASSWORD in .env.
-No data pushed: Ensure URLs in .env have no trailing slash.
-Help: Share Alloy logs
+- **Authentication errors (401/403):** Double-check `CENTRAL_MONITORING_USERNAME`, `CENTRAL_MONITORING_PASSWORD`, `CENTRAL_LOKI_USERNAME`, and `CENTRAL_LOKI_PASSWORD` in `.env`.
+- **No data pushed:** Ensure URLs in `.env` have no trailing slash.
+- **Help:** Share Alloy logs
🤖 Fix all issues with AI agents
In `@pages/validators/monitoring.mdx`:
- Line 127: The bold marker in the markdown line "2. **Add or verify the Alloy
service in docker-compose.yaml (copy if missing):" is not closed; update that
line in pages/validators/monitoring.mdx by adding the missing closing ** after
"missing):" so the bolded text is properly wrapped (i.e., ensure the phrase
between the pair of ** is balanced).
- Around line 121-122: The NODE_METRICS_ENDPOINT default in the .env example is
inconsistent; update the example value for NODE_METRICS_ENDPOINT from
"localhost:9153" to "host.docker.internal:9153" so it matches the docker-compose
default (host.docker.internal:9153) and ensures the example reflects running
Alloy inside a container.
🧹 Nitpick comments (1)
pages/validators/monitoring.mdx (1)

157-163: Consider using non-functional placeholder credentials.

The default credentials telemetric / 12345678 appear to be functional test credentials. If users miss configuring their .env file, the service might appear to work but send data to an unintended destination or fail silently with auth errors.

Consider using obviously invalid placeholders that force users to configure credentials explicitly:

📝 Suggested change
     # Metrics (Prometheus) authentication
-    - CENTRAL_MONITORING_USERNAME=${CENTRAL_MONITORING_USERNAME:-telemetric}
-    - CENTRAL_MONITORING_PASSWORD=${CENTRAL_MONITORING_PASSWORD:-12345678}
+    - CENTRAL_MONITORING_USERNAME=${CENTRAL_MONITORING_USERNAME:-REPLACE_ME}
+    - CENTRAL_MONITORING_PASSWORD=${CENTRAL_MONITORING_PASSWORD:-REPLACE_ME}

     # Logs (Loki) authentication
-    - CENTRAL_LOKI_USERNAME=${CENTRAL_LOKI_USERNAME:-telemetric}
-    - CENTRAL_LOKI_PASSWORD=${CENTRAL_LOKI_PASSWORD:-12345678}
+    - CENTRAL_LOKI_USERNAME=${CENTRAL_LOKI_USERNAME:-REPLACE_ME}
+    - CENTRAL_LOKI_PASSWORD=${CENTRAL_LOKI_PASSWORD:-REPLACE_ME}

- Changed NODE_METRICS_ENDPOINT from localhost to host.docker.internal for improved compatibility in Docker environments.
- Minor formatting adjustment in the instructions for adding or verifying the Alloy service in docker-compose.yaml.
@AgustinRamiroDiaz AgustinRamiroDiaz merged commit fb161ba into main Jan 28, 2026
9 checks passed
@AgustinRamiroDiaz AgustinRamiroDiaz deleted the update-monitoring-docs branch January 28, 2026 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants