Skip to content

Comments

feat: Added basic grafana dashboard#35

Merged
macterra merged 5 commits intomainfrom
31-observability
Jan 29, 2026
Merged

feat: Added basic grafana dashboard#35
macterra merged 5 commits intomainfrom
31-observability

Conversation

@macterra
Copy link
Collaborator

No description provided.

@macterra macterra linked an issue Jan 29, 2026 that may be closed by this pull request
@macterra
Copy link
Collaborator Author

macterra commented Jan 29, 2026

on port 3000
login with admin/admin, change password

navigate to Dashboards/Archon/Archon Services

image image

@coveralls
Copy link

coveralls commented Jan 29, 2026

Pull Request Test Coverage Report for Build 21492997196

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 95.583%

Totals Coverage Status
Change from base Build 21483431331: 0.0%
Covered Lines: 3302
Relevant Lines: 3392

💛 - Coveralls

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a comprehensive observability stack to the Archon project, including Prometheus for metrics collection, Grafana for visualization, and structured logging with pino. While titled as adding a "basic Grafana dashboard," the changes encompass full instrumentation of the keymaster and gatekeeper services with custom metrics and HTTP request tracking.

Changes:

  • Added Prometheus and Grafana services to Docker Compose with appropriate volume mounts and security configurations
  • Instrumented keymaster and gatekeeper services with prom-client for metrics collection and pino for structured logging
  • Created a Grafana dashboard with panels for service health, request rates, latencies, memory usage, and DID operations

Reviewed changes

Copilot reviewed 12 out of 14 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
services/keymaster/server/src/keymaster-api.ts Added Prometheus metrics, structured logging, and HTTP metrics middleware
services/keymaster/server/package.json Added dependencies for prom-client, pino, and pino-http
services/keymaster/server/package-lock.json Updated lockfile with new dependencies and version bump to 0.2.0
services/gatekeeper/server/src/gatekeeper-api.ts Added Prometheus metrics, structured logging, HTTP metrics middleware, and events queue monitoring
services/gatekeeper/server/package.json Added dependencies for prom-client, pino, and pino-http
services/gatekeeper/server/package-lock.json Updated lockfile with new dependencies
sample.env Added Grafana admin credentials configuration
observability/prometheus/prometheus.yml Prometheus configuration for scraping keymaster and gatekeeper metrics
observability/grafana/provisioning/datasources/datasources.yml Grafana datasource configuration for Prometheus
observability/grafana/provisioning/dashboards/dashboards.yml Grafana dashboard provisioning configuration
observability/grafana/provisioning/dashboards/archon-services.json Comprehensive Grafana dashboard with 11 panels for monitoring services
docker-compose.yml Added Prometheus and Grafana services with appropriate volume mounts and port bindings
data/prometheus/.gitignore Ignore Prometheus data files
data/grafana/.gitignore Ignore Grafana data files
Files not reviewed (2)
  • services/gatekeeper/server/package-lock.json: Language not supported
  • services/keymaster/server/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)

docker-compose.yml:185

  • The PR title "Added basic grafana dashboard" understates the scope of changes. This PR adds a comprehensive observability stack including Prometheus for metrics collection, Grafana for visualization, prom-client for metrics instrumentation in both services, and pino for structured logging. Consider updating the PR title to better reflect the full scope, such as "feat: Add comprehensive observability stack with Prometheus, Grafana, and structured logging".
  # Observability Stack
  prometheus:
    image: prom/prometheus:v2.51.0
    user: "${ARCHON_UID}:${ARCHON_GID}"
    volumes:
      - ./observability/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      - ./data/prometheus:/prometheus
    ports:
      - "127.0.0.1:9090:9090"
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--storage.tsdb.retention.time=15d'
    depends_on:
      - gatekeeper
      - keymaster

  grafana:
    image: grafana/grafana:10.4.0
    user: "${ARCHON_UID}:${ARCHON_GID}"
    volumes:
      - ./observability/grafana/provisioning:/etc/grafana/provisioning
      - ./data/grafana:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN_USER:-admin}
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin}
      - GF_USERS_ALLOW_SIGN_UP=false
    ports:
      - "127.0.0.1:3000:3000"
    depends_on:
      - prometheus


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@macterra macterra merged commit c88876b into main Jan 29, 2026
13 checks passed
@macterra macterra deleted the 31-observability branch January 29, 2026 20:32
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.

Add observability stack

2 participants