Sensu is the open source monitoring platform that shines a light into every corner of every system. Sensu is a highly flexible monitoring framework, supporting both status checks and metrics collection. Its combination of flexibility and sane defaults provides 95% of your monitoring strategy out of the box, freeing you to focus on the 5% that’s unique to your infrastructure and organization. Sensu is compatible with the Nagios, allowing users to easily migrate their legacy monitoring plugins and borrow from the tremendous ecosystem of open source monitoring checks.
An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. Prometheus tracks the application metrics like GC, thread counts, and has native integration for metering java, nodejs and other applications.
Prometheus provides a collector that can scrape and expose the mBeans of a JMX target. It runs as a Java Agent, exposing an HTTP server and serving metrics of the local JVM. It can also be run as an independent HTTP server and scrape remote JMX targets, but this comes with various disadvantages, such as it being harder to configure and it being unable to expose process metrics (e.g., memory and CPU usage). Running the exporter as a Java Agent is thus strongly encouraged. It can be integrated with Grafana to create rich visualisations.
Refer this guide to setup and monitor the JVM metrics from application deployed in Kubernetes infrastructure.
Collectd gathers metrics from various sources, e.g. the operating system, applications, logfiles and external devices, and stores this information or makes it available over the network. Those statistics can be used to monitor systems, find performance bottlenecks (i.e. performance analysis) and predict future system load (i.e. capacity planning).
These collected metrics can be stored in prometheus database which can be visualized using grafana dashboards.
Grafana provides data visualization & monitoring with support for Graphite, InfluxDB, Prometheus, Elasticsearch and many more databases. The grafical dashboards will help administrators to monitor and diagnose issues in production environments, and to generate reports for auditing purposes.
ELK is the acronym for three open source projects: Elasticsearch, Logstash, and Kibana. Elasticsearch is a search and analytics engine. Logstash is a server‑side data processing pipeline that ingests data from multiple sources simultaneously, transforms it, and then sends it to a “stash” like Elasticsearch. Kibana lets users visualize data with charts and graphs in Elasticsearch. ELK is single source of truth for all application services to investigate and address production issues quickly.
Refere to Engineering Blog for details to protect and secure the servers and to monitor the application performance.