Monitoring
1. Introduction
Monitoring helps keep an OpenCRVS installation healthy, reliable, and performant by providing visibility into infrastructure, application performance, and system behavior.
OpenCRVS includes pre-installed tools for monitoring and debugging live installations. The Elastic Stack collects metrics, logs, and alerts, while Kibana provides access to this observability data.
By default, application logs and infrastructure metrics are retained for the last 30 days, and APM data (traces, errors and service metrics) for the last 7 days. Log and metric retention can be changed with monitoring.logs.retention_days and monitoring.metrics.retention_days in the dependencies helm chart values, see Elasticsearch disk management.
This page gives you brief overview how to use preconfigured monitoring solution.
Additional reading:
For more information how to setup monitoring please visit helm chart documentation README.md
Additional information how to manage disk space for Elasticsearch check Elasticsearch disk management
2. Monitoring features
OpenCRVS monitoring provides the following core capabilities:
Reading and searching application logs — view detailed logs from all services to debug issues and understand system behaviour.
Infrastructure performance insights — monitor disk space, CPU, and memory usage to know when to scale up.
Application Performance Monitoring (APM) — track service performance, detect bottlenecks, and identify errors.
Automated alerting — receive notifications for application errors and infrastructure health issues.
Request tracing — follow requests through multiple services to understand the full lifecycle.
3. Getting started with Kibana
Once the environment is installed, the monitoring suite can be accessed using the kibana.<your_domain> URL.
Login credentials
The login credentials from GitHub environment creation process:
KIBANA_USERNAMEandKIBANA_PASSWORDusername "elastic" and
ELASTICSEARCH_SUPERUSER_PASSWORD.
4. Monitoring tools
OpenCRVS uses several specialized tools as part of the monitoring stack:
4.1 Metricbeat
Metricbeat gets installed on all host machines in your infrastructure. Its sole purpose is to collect data about the network, the host machines, and the Kubernetes environment. The data is stored in the OpenCRVS Elasticsearch database.
This data can be viewed by navigating to Observability → Metrics and selecting either Inventory or Metrics Explorer. The data can be visualized, grouped, and filtered in these views.
4.2 Application Performance Monitoring (APM)
The OpenCRVS monitoring stack comes with a pre-installed Application Performance Monitoring tool (APM). This tool collects performance metrics, errors, and HTTP request information from each of the services in the OpenCRVS stack.
You can find this tool in Kibana by navigating to Observability → APM → Services. This tool can be used to:
Catch anomalies such as errors happening inside the services
Detect bottlenecks in the architecture
Identify which services should be scaled up
4.3 How traces are collected (OpenTelemetry)
OpenCRVS core services, the NGINX servers of the client and login applications, and the Traefik ingress controller are instrumented with OpenTelemetry. They send traces and metrics over OTLP (gRPC) to an OpenTelemetry Collector running in the dependencies namespace. The collector forwards the data to the Elastic APM Server, which stores it in Elasticsearch, where it appears under Observability → APM in Kibana:
The collector is installed by the Deploy dependencies GitHub Actions workflow of your infrastructure repository when environments/<environment>/opentelemetry/values.yaml exists. This file is generated by the yarn environment:init script.
Tracing is configured in the otel section of environments/<environment>/opencrvs-services/values.yaml:
enabled: Enables OpenTelemetry instrumentation.yarn environment:initsets it totrue.deployment_environment: Environment name reported with every trace. Defaults toNODE_ENV.exporter_otlp_endpoint: Collector address. Required whenenabledistrue.exporter_otlp_protocol: (Optional) Defaults togrpc.
Only traces and metrics are sent through OpenTelemetry. Application logs are still collected by Filebeat.
5. Monitoring topics
The following pages provide detailed guidance on specific monitoring topics:
Application logs
Learn how to access, search, and trace application logs to debug issues and understand system behavior.
Infrastructure health
Monitor critical infrastructure metrics such as disk space, CPU usage, and memory consumption to proactively manage resources.
Routine monitoring
Establish daily monitoring practices and understand the built-in alerts to maintain a healthy installation.
Setting up alerts
Configure custom alerts to notify you when critical conditions occur, ensuring rapid response to issues.
6. Read more
Last updated