Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CPUMetrics ¶
type CPUMetrics struct { Time time.Time `json:"time"` UsageNanoCores int64 `json:"usageNanoCores"` UsageCoreNanoSeconds int64 `json:"usageCoreNanoSeconds"` }
CPUMetrics represents the cpu usage data of a pod or node
type ContainerMetrics ¶
type ContainerMetrics struct { Name string `json:"name"` StartTime time.Time `json:"startTime"` CPU CPUMetrics `json:"cpu"` Memory MemoryMetrics `json:"memory"` RootFS FileSystemMetrics `json:"rootfs"` LogsFS FileSystemMetrics `json:"logs"` }
ContainerMetrics represents the metric data collect about a container from the kubelet
type FileSystemMetrics ¶
type FileSystemMetrics struct { AvailableBytes int64 `json:"availableBytes"` CapacityBytes int64 `json:"capacityBytes"` UsedBytes int64 `json:"usedBytes"` }
FileSystemMetrics represents disk usage metrics for a pod or node
type Kubernetes ¶
type Kubernetes struct { URL string // Bearer Token authorization file path BearerToken string `toml:"bearer_token"` BearerTokenString string `toml:"bearer_token_string"` LabelInclude []string `toml:"label_include"` LabelExclude []string `toml:"label_exclude"` // HTTP Timeout specified as a string - 3s, 1m, 1h ResponseTimeout internal.Duration tls.ClientConfig RoundTripper http.RoundTripper // contains filtered or unexported fields }
Kubernetes represents the config object for the plugin
func (*Kubernetes) Description ¶
func (k *Kubernetes) Description() string
Description returns the description of this plugin
func (*Kubernetes) Gather ¶
func (k *Kubernetes) Gather(acc telegraf.Accumulator) error
Gather collects kubernetes metrics from a given URL
func (*Kubernetes) Init ¶
func (k *Kubernetes) Init() error
func (*Kubernetes) LoadJson ¶
func (k *Kubernetes) LoadJson(url string, v interface{}) error
func (*Kubernetes) SampleConfig ¶
func (k *Kubernetes) SampleConfig() string
SampleConfig returns a sample config
type MemoryMetrics ¶
type MemoryMetrics struct { Time time.Time `json:"time"` AvailableBytes int64 `json:"availableBytes"` UsageBytes int64 `json:"usageBytes"` WorkingSetBytes int64 `json:"workingSetBytes"` RSSBytes int64 `json:"rssBytes"` PageFaults int64 `json:"pageFaults"` MajorPageFaults int64 `json:"majorPageFaults"` }
MemoryMetrics represents the memory metrics for a pod or node
type NetworkMetrics ¶
type NetworkMetrics struct { Time time.Time `json:"time"` RXBytes int64 `json:"rxBytes"` RXErrors int64 `json:"rxErrors"` TXBytes int64 `json:"txBytes"` TXErrors int64 `json:"txErrors"` }
NetworkMetrics represents network usage data for a pod or node
type NodeMetrics ¶
type NodeMetrics struct { NodeName string `json:"nodeName"` SystemContainers []ContainerMetrics `json:"systemContainers"` StartTime time.Time `json:"startTime"` CPU CPUMetrics `json:"cpu"` Memory MemoryMetrics `json:"memory"` Network NetworkMetrics `json:"network"` FileSystem FileSystemMetrics `json:"fs"` Runtime RuntimeMetrics `json:"runtime"` }
NodeMetrics represents detailed information about a node
type PodMetrics ¶
type PodMetrics struct { PodRef PodReference `json:"podRef"` StartTime *time.Time `json:"startTime"` Containers []ContainerMetrics `json:"containers"` Network NetworkMetrics `json:"network"` Volumes []VolumeMetrics `json:"volume"` }
PodMetrics contains metric data on a given pod
type PodReference ¶
PodReference is how a pod is identified
type RuntimeMetrics ¶
type RuntimeMetrics struct {
ImageFileSystem FileSystemMetrics `json:"imageFs"`
}
RuntimeMetrics contains metric data on the runtime of the system
type SummaryMetrics ¶
type SummaryMetrics struct { Node NodeMetrics `json:"node"` Pods []PodMetrics `json:"pods"` }
SummaryMetrics represents all the summary data about a particular node retrieved from a kubelet