OpenCRVS comes with a pre-installed suite of tools for monitoring and debugging a live installation. The Elastic Stack is used to monitor the infrastructure, applications and dependencies and also for sending alerts on application errors and system health. All of these tools are accessed using a tool called Kibana. Kibana is a free and open user interface that lets you access all your Elasticsearch data, including metrics, logs and other monitoring information.
- Reading & searching for application logs
- Insights on infrastructure performance & usage to know when to scale up
- Setting up alerts for application errors and for infrastructure health issues
Once the environment is installed, the monitoring suite can be accessed using the
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 Docker 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 visualised, grouped and filtered in these views.
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. It can also be used to detect bottlenecks and to know which services should be scaled up.
Logstash receives log entries in GELF format from all OpenCRVS services and writes them into the Elasticsearch database. These logs can be viewed in real-time from Observability -> Logs -> Stream or through APM. By default, OpenCRVS stores all logs for three days before they are removed. Read more about logging in 7.1 Application logs.