The use of lightweight and portable containers is growing in popularity. In fact, according to a recent Gartner report, by 2023, more than 70% of global organizations will be running containerized applications in production.

How does this affect monitoring solutions?

With this growing popularity comes challenges in the area of monitoring. Container environments are inherently dynamic – containers are provisioned and de-provisioned across hosts based on business requirements and infrastructure load. This in turn means that your monitoring targets are no longer static.

Furthermore, the shift from monolithic to microservice architectures for enterprise applications complicates monitoring even more. You now have to be able to collect and correlate monitoring data for your applications from multiple containers across many hosts before you are able to make reliable decisions for alerting and troubleshooting.

Monitoring Containers with Polaris

Polaris automatically discovers containers as they come and go on each monitored host by continuously following their individual life cycles. Polaris comes with robust and configurable metric aggregations, application log monitoring, alerting and visualization functionality to continuously, reliably collect monitoring data from your containerized apps, non-containerized apps and container hosts in a uniform manner. By monitoring both hosts and containerized apps, Polaris can perform advanced correlations from data across the board. This provides the utmost level of real-time precision monitoring, troubleshooting and performance management.

In the following demo you will see the Polaris solution in action. The environment includes two Apache httpd docker containers representing frontend load balancers and one WebLogic Server container representing backend applications. For each one of the three containers, Polaris will dynamically follow its docker logs in order to collect metrics or events that interest us. For the frontend Apache containers, Polaris will collect and aggregate HTTP response codes and latencies by API endpoint. For the backend WebLogic Server container Polaris will collect and aggregate application error codes by application and severity. At the same time, Polaris will also monitor the egress throughput of the container host by network interface.

Fully Customizable Kubernetes Monitoring and Alerting

Clusters of containers (Kubernetes, Docker Swarm, OpenShift) are becoming a pervasive and efficient way to manage the ever growing needs of dynamic and flexible business environments. This translates into complex and fluid environments where traditional monitoring solutions find it difficult to provide uncomplicated monitoring that automatically and effortlessly integrate with these environments.

Whether you need to monitor 5 containers or 500, Polaris gives you a fully customizable platform to collect the metrics you need to gain visibility at all layers. With our easy to build dashboards, you’ll be able to create insightful visualizations in minutes.

An Enterprise Ready Solution

  • Polaris was designed with enterprises in mind. Monitor your whole k8 environment without affecting performance.
  • Gain visibility into container orchestration and easily manage clusters of containers from a single pane of glass.
  • Leverage advanced capacity planning features to improve operational costs and reduce excess capacity.
  • Create insightful visualizations and custom dashboards that focus on the information you are interested in

Kubernetes and Containerized Environment Monitoring Challenges

Enterprises face a number of challenges when considering monitoring and alerting solutions to fit the needs of their Kuberenetes and other containerized environments including:

  • Clustered – with multiple servers in private or public cloud environments
  • Multiple Clusters for different environments such as test and production or across logical boundaries
  • Dynamic Containers are provisioned, replicated, started and stopped according to load and business requirements
  • Lack of Visibility – because these environments are clustered and fragmented it becomes difficult to have visibility into application and business performance/health
  • Microservice Architectures – monolithic applications are transitioned to microservice architectures. This means that a single logical transaction may involve multiple microservices or applications across multiple containers
  • Huge Volumes of monitoring and log data
  • Absence of single pane of glass into all environments

Monitoring Requirements

When searching for the right monitoring and alerting tool for containerized environments, many enterprises struggle to find a solution that meets their requirements...

  • Monitoring both container and host level metrics and logs
  • Automatic discovery of monitoring targets such as pods, containers and logs
  • Automatic service discovery of application level metric endpoints (such as Prometheus exporters)
  • Metric and log storage from multiple clusters into a single location
  • Single point for alerting configurations and evaluation for all clusters and containers
  • Centralized monitoring configurations that automatically get distributed to cluster nodes on demand
  • Distributed tracing for microservices and/or applications. This is the ability for example to access all log entries related to an event or transaction spanning many microservices or applications – “grepping” across multiple files or indexes does not scale!

Where Poalris fits in...

Polaris offers an all-in-one platform to help tackle the challenges faced when monitoring containerized environments.

  • A single agent service (daemon) installed once on each of your container host servers
  • Monitoring logic via agent plugins that get automatically installed and updated on demand
  • Monitoring configurations centrally managed through git and automatically distributed to agents/plugins on demand with automatic updating on change
  • Agents follow pod/container life-cycle events resulting in truly dynamic monitoring
  • Automatic discovery of container metric endpoints such as JMX and Prometheus exporters
  • Automatic following of container application logs and shipping to a single store
  • Reliable, scalable and easily accessible SQL-based store for both metrics and events:
    • Automated retention, compression and downsampling policies so that you do not have to worry about storage requirements explosion – i.e. store as much as you need, for however long you want and can afford
    • Stores events in high dimensional cardinality in a single place so that distributed tracing becomes second nature
    • Powerful analytics
  • Alerting based on metrics and/or events from one or many containers
  • Single UI to configure, manage, analyze and investigate, all in one place
  • Everything containerized, virtualized or bare metal in one place
  • A platform, not a tool, so that it can adapt to whatever you need to monitor and analyze