Monitoring & Observability

CertChain includes comprehensive monitoring through ArgoCD for deployment management and Grafana for runtime metrics.

ArgoCD — GitOps Dashboard

CertChain is deployed via ArgoCD using the App-of-Apps pattern. A single root Application generates all child Applications automatically.

Access ArgoCD

Navigate to ArgoCD: Open

Click Log in via OpenShift and use the OpenShift admin credentials from the Reference section.

You can also log in with admin and the ArgoCD-specific password. To find it, run from the Terminal:

oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d && echo

ArgoCD Applications

You should see 6 Applications, all Synced and Healthy:

Application Description

field-content (or certchain on BYO clusters)

Root App-of-Apps — generates the child Applications from Helm bootstrap chart

certchain-central

Central infrastructure: Fabric CA, orderer0, cert-portal, verify-api, Keycloak, Grafana, identity brokering, demo data seed

certchain-techpulse

TechPulse org: peer0, orderer, CouchDB, cert-admin-api, course-manager-ui, certcontract (CcaaS), Keycloak

certchain-dataforge

DataForge org: same layout as TechPulse

certchain-neuralpath

NeuralPath org: same layout as TechPulse

certchain-showroom

This lab guide (deployed to showroom namespace)

Click any Application to explore its resource tree, sync status, and sync-wave ordering. The sync waves ensure resources are created in the correct order — for example, Fabric CA must be running before enrollment jobs can execute.

ArgoCD App-of-Apps tree showing the root certchain Application and its 5 child Applications all Synced and Healthy

Grafana — Metrics Dashboards

Navigate to Grafana: Open

Grafana is configured with anonymous access — no login required.

Fabric Network Dashboard

Select CertChain — Fabric Network from the dashboard list.

Key things to look for:

  • Ledger Height — Current block count. All peers and orderers should show the same value.

  • BFT Leader + Network Nodes table — Shows which orderer is the current consensus leader. The node mapping table tells you who each node ID belongs to (node 0 = orderer0 in central, node 1 = orderer in techpulse, etc.).

  • Gossip Peers (per Org) — Each peer should see 2 remote peers (the other 2 orgs). If any org shows 0, gossip is broken.

  • Endorsement Success % — Should be close to 100% in normal operation.

  • SmartBFT Consensus section — The Consensus View table shows all orderers agreeing on the same view number and leader.

Grafana Fabric Network dashboard showing ledger height endorsement metrics and BFT consensus status

Generating Traffic

The dashboards are more interesting with live data. Run this script to issue and verify certificates rapidly across all three organizations:

# Generate traffic across all 3 orgs
for ORG in techpulse dataforge neuralpath; do
  KC_URL="https://keycloak-certchain-$ORG."
  API_URL="https://cert-admin-api-certchain-$ORG."

  TOKEN=$(curl -sk -X POST "$KC_URL/realms/$ORG/protocol/openid-connect/token" \
    -d "grant_type=password" -d "client_id=course-manager-ui" \
    -d "username=admin@$ORG.demo" -d "password=admin" \
    | python3 -c "import sys,json; print(json.load(sys.stdin)['access_token'])" 2>/dev/null)

  if [ -z "$TOKEN" ]; then
    echo "  ERROR: Could not get token for $ORG"
    continue
  fi

  for i in $(seq 1 5); do
    CERT_ID="TRAFFIC-$ORG-$(date +%s)-$i"
    curl -sk -X POST "$API_URL/api/v1/certificates" \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -d "{\"certID\":\"$CERT_ID\",\"studentID\":\"student01@$ORG.demo\",\"studentName\":\"Traffic Test\",\"courseID\":\"LOAD-101\",\"courseName\":\"Load Test\",\"issueDate\":\"2026-03-16\",\"expiryDate\":\"2027-03-16\"}" \
      -o /dev/null -w "  $ORG cert $i: HTTP %{http_code}\n"
  done
done
echo "Done! Check Grafana — metrics appear within 30 seconds."

After running, switch to the Grafana dashboard and watch:

  • Endorsement Success/Failure timeline shows a burst of activity

  • Proposals Received Rate per peer shows spikes across all 3 organizations

  • SmartBFT Batch Processing Latency shows the consensus overhead per block