Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
container_plugin.h File Reference

Container monitoring plugin for Docker and Kubernetes metrics. More...

#include <atomic>
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>
#include <vector>
#include "../../collectors/plugin_metric_collector.h"
Include dependency graph for container_plugin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::monitoring::plugins::container_plugin_config
 Configuration options for the container monitoring plugin. More...
 
class  kcenon::monitoring::plugins::container_plugin
 Container monitoring plugin aggregating Docker, Kubernetes, and cgroup collectors. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::monitoring
 
namespace  kcenon::monitoring::plugins
 

Enumerations

enum class  kcenon::monitoring::plugins::container_runtime {
  kcenon::monitoring::plugins::auto_detect , kcenon::monitoring::plugins::docker , kcenon::monitoring::plugins::containerd , kcenon::monitoring::plugins::podman ,
  kcenon::monitoring::plugins::cri_o
}
 Supported container runtimes. More...
 

Detailed Description

Container monitoring plugin for Docker and Kubernetes metrics.

This plugin extracts container-related collectors from the core library, making them optional for non-containerized environments. The plugin supports:

  • Docker container metrics via Docker API or cgroups
  • Kubernetes pod/deployment metrics (when K8s support is enabled)
  • cgroup-based metrics for any container runtime

Usage:

// Create plugin with default configuration
auto plugin = container_plugin::create();
// Or with custom configuration
container_plugin_config config;
config.enable_docker = true;
config.enable_kubernetes = false;
config.docker_socket = "/var/run/docker.sock";
auto plugin = container_plugin::create(config);
// Check if running in container before loading
if (container_plugin::is_running_in_container()) {
collector.register_plugin(std::move(plugin));
}
Container monitoring plugin for Docker and Kubernetes metrics.

Definition in file container_plugin.h.