summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/k8s_state
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-26 08:15:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-26 08:15:20 +0000
commit87d772a7d708fec12f48cd8adc0dedff6e1025da (patch)
tree1fee344c64cc3f43074a01981e21126c8482a522 /src/go/collectors/go.d.plugin/modules/k8s_state
parentAdding upstream version 1.46.3. (diff)
downloadnetdata-87d772a7d708fec12f48cd8adc0dedff6e1025da.tar.xz
netdata-87d772a7d708fec12f48cd8adc0dedff6e1025da.zip
Adding upstream version 1.47.0.upstream/1.47.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
l---------src/go/plugin/go.d/modules/k8s_state/README.md (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/README.md)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/charts.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/charts.go)2
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/client.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/client.go)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/cluster_meta.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/cluster_meta.go)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/collect.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/collect.go)9
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/config_schema.json (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/config_schema.json)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/discover_kubernetes.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/discover_kubernetes.go)2
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/discover_node.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/discover_node.go)2
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/discover_pod.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/discover_pod.go)2
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/init.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/init.go)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/integrations/kubernetes_cluster_state.md (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/integrations/kubernetes_cluster_state.md)39
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/kube_state.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/kube_state.go)2
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/kube_state_test.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/kube_state_test.go)2
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/metadata.yaml (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/metadata.yaml)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/resource.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/resource.go)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/state.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/state.go)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/testdata/config.json (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/testdata/config.json)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/testdata/config.yaml (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/testdata/config.yaml)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/update_node_state.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/update_node_state.go)0
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/update_pod_state.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/update_pod_state.go)7
-rw-r--r--src/go/plugin/go.d/modules/k8s_state/update_state.go (renamed from src/go/collectors/go.d.plugin/modules/k8s_state/update_state.go)0
21 files changed, 51 insertions, 16 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/README.md b/src/go/plugin/go.d/modules/k8s_state/README.md
index 72c4e5cab..72c4e5cab 120000
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/README.md
+++ b/src/go/plugin/go.d/modules/k8s_state/README.md
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/charts.go b/src/go/plugin/go.d/modules/k8s_state/charts.go
index 0cec12512..471d12577 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/charts.go
+++ b/src/go/plugin/go.d/modules/k8s_state/charts.go
@@ -7,7 +7,7 @@ import (
"regexp"
"strings"
- "github.com/netdata/netdata/go/go.d.plugin/agent/module"
+ "github.com/netdata/netdata/go/plugins/plugin/go.d/agent/module"
)
// NETDATA_CHART_PRIO_CGROUPS_CONTAINERS 40000
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/client.go b/src/go/plugin/go.d/modules/k8s_state/client.go
index 315e823fe..315e823fe 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/client.go
+++ b/src/go/plugin/go.d/modules/k8s_state/client.go
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/cluster_meta.go b/src/go/plugin/go.d/modules/k8s_state/cluster_meta.go
index e7eb809cc..e7eb809cc 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/cluster_meta.go
+++ b/src/go/plugin/go.d/modules/k8s_state/cluster_meta.go
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/collect.go b/src/go/plugin/go.d/modules/k8s_state/collect.go
index 033d330ce..081a0fdf1 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/collect.go
+++ b/src/go/plugin/go.d/modules/k8s_state/collect.go
@@ -8,7 +8,7 @@ import (
"strings"
"time"
- "github.com/netdata/netdata/go/go.d.plugin/agent/module"
+ "github.com/netdata/netdata/go/plugins/plugin/go.d/agent/module"
corev1 "k8s.io/api/core/v1"
)
@@ -68,6 +68,13 @@ func (ks *KubeState) collectKubeState(mx map[string]int64) {
func (ks *KubeState) collectPodsState(mx map[string]int64) {
now := time.Now()
for _, ps := range ks.state.pods {
+ // Skip cronjobs (each of them is a unique container because name contains hash)
+ // to avoid overwhelming Netdata with high cardinality metrics.
+ // Related issue https://github.com/netdata/netdata/issues/16412
+ if ps.controllerKind == "Job" {
+ continue
+ }
+
if ps.deleted {
delete(ks.state.pods, podSource(ps.namespace, ps.name))
ks.removePodCharts(ps)
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/config_schema.json b/src/go/plugin/go.d/modules/k8s_state/config_schema.json
index ae66d7cb5..ae66d7cb5 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/config_schema.json
+++ b/src/go/plugin/go.d/modules/k8s_state/config_schema.json
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/discover_kubernetes.go b/src/go/plugin/go.d/modules/k8s_state/discover_kubernetes.go
index a4aeee974..5d435871a 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/discover_kubernetes.go
+++ b/src/go/plugin/go.d/modules/k8s_state/discover_kubernetes.go
@@ -8,7 +8,7 @@ import (
"sync"
"time"
- "github.com/netdata/netdata/go/go.d.plugin/logger"
+ "github.com/netdata/netdata/go/plugins/logger"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/discover_node.go b/src/go/plugin/go.d/modules/k8s_state/discover_node.go
index 29761b204..1d91436c8 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/discover_node.go
+++ b/src/go/plugin/go.d/modules/k8s_state/discover_node.go
@@ -5,7 +5,7 @@ package k8s_state
import (
"context"
- "github.com/netdata/netdata/go/go.d.plugin/logger"
+ "github.com/netdata/netdata/go/plugins/logger"
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/util/workqueue"
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/discover_pod.go b/src/go/plugin/go.d/modules/k8s_state/discover_pod.go
index 2def7ad50..53e9ceb92 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/discover_pod.go
+++ b/src/go/plugin/go.d/modules/k8s_state/discover_pod.go
@@ -5,7 +5,7 @@ package k8s_state
import (
"context"
- "github.com/netdata/netdata/go/go.d.plugin/logger"
+ "github.com/netdata/netdata/go/plugins/logger"
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/util/workqueue"
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/init.go b/src/go/plugin/go.d/modules/k8s_state/init.go
index 998131394..998131394 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/init.go
+++ b/src/go/plugin/go.d/modules/k8s_state/init.go
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/integrations/kubernetes_cluster_state.md b/src/go/plugin/go.d/modules/k8s_state/integrations/kubernetes_cluster_state.md
index 88d81e257..5f5e36f87 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/integrations/kubernetes_cluster_state.md
+++ b/src/go/plugin/go.d/modules/k8s_state/integrations/kubernetes_cluster_state.md
@@ -1,6 +1,6 @@
<!--startmeta
-custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/k8s_state/README.md"
-meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/k8s_state/metadata.yaml"
+custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/modules/k8s_state/README.md"
+meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/modules/k8s_state/metadata.yaml"
sidebar_label: "Kubernetes Cluster State"
learn_status: "Published"
learn_rel_path: "Collecting Metrics/Kubernetes"
@@ -193,6 +193,8 @@ There are no configuration examples.
### Debug Mode
+**Important**: Debug mode is not supported for data collection jobs created via the UI using the Dyncfg feature.
+
To troubleshoot issues with the `k8s_state` collector, run the `go.d.plugin` with the debug option enabled. The output
should give you clues as to why the collector isn't working.
@@ -215,4 +217,37 @@ should give you clues as to why the collector isn't working.
./go.d.plugin -d -m k8s_state
```
+### Getting Logs
+
+If you're encountering problems with the `k8s_state` collector, follow these steps to retrieve logs and identify potential issues:
+
+- **Run the command** specific to your system (systemd, non-systemd, or Docker container).
+- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.
+
+#### System with systemd
+
+Use the following command to view logs generated since the last Netdata service restart:
+
+```bash
+journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep k8s_state
+```
+
+#### System without systemd
+
+Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:
+
+```bash
+grep k8s_state /var/log/netdata/collector.log
+```
+
+**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.
+
+#### Docker Container
+
+If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:
+
+```bash
+docker logs netdata 2>&1 | grep k8s_state
+```
+
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/kube_state.go b/src/go/plugin/go.d/modules/k8s_state/kube_state.go
index 95fd2d1ca..26962928e 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/kube_state.go
+++ b/src/go/plugin/go.d/modules/k8s_state/kube_state.go
@@ -10,7 +10,7 @@ import (
"sync"
"time"
- "github.com/netdata/netdata/go/go.d.plugin/agent/module"
+ "github.com/netdata/netdata/go/plugins/plugin/go.d/agent/module"
"k8s.io/client-go/kubernetes"
)
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/kube_state_test.go b/src/go/plugin/go.d/modules/k8s_state/kube_state_test.go
index 99560d6dc..cf52c08b6 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/kube_state_test.go
+++ b/src/go/plugin/go.d/modules/k8s_state/kube_state_test.go
@@ -11,7 +11,7 @@ import (
"testing"
"time"
- "github.com/netdata/netdata/go/go.d.plugin/agent/module"
+ "github.com/netdata/netdata/go/plugins/plugin/go.d/agent/module"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/metadata.yaml b/src/go/plugin/go.d/modules/k8s_state/metadata.yaml
index 7617b297f..7617b297f 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/metadata.yaml
+++ b/src/go/plugin/go.d/modules/k8s_state/metadata.yaml
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/resource.go b/src/go/plugin/go.d/modules/k8s_state/resource.go
index cabd41a67..cabd41a67 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/resource.go
+++ b/src/go/plugin/go.d/modules/k8s_state/resource.go
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/state.go b/src/go/plugin/go.d/modules/k8s_state/state.go
index 72bac88ee..72bac88ee 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/state.go
+++ b/src/go/plugin/go.d/modules/k8s_state/state.go
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/testdata/config.json b/src/go/plugin/go.d/modules/k8s_state/testdata/config.json
index 0e3f7c403..0e3f7c403 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/testdata/config.json
+++ b/src/go/plugin/go.d/modules/k8s_state/testdata/config.json
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/testdata/config.yaml b/src/go/plugin/go.d/modules/k8s_state/testdata/config.yaml
index f21a3a7a0..f21a3a7a0 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/testdata/config.yaml
+++ b/src/go/plugin/go.d/modules/k8s_state/testdata/config.yaml
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/update_node_state.go b/src/go/plugin/go.d/modules/k8s_state/update_node_state.go
index 80f5c26c8..80f5c26c8 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/update_node_state.go
+++ b/src/go/plugin/go.d/modules/k8s_state/update_node_state.go
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/update_pod_state.go b/src/go/plugin/go.d/modules/k8s_state/update_pod_state.go
index 22ef0f7fc..16b0f433b 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/update_pod_state.go
+++ b/src/go/plugin/go.d/modules/k8s_state/update_pod_state.go
@@ -149,13 +149,6 @@ func (ks *KubeState) updatePodState(r resource) {
}
}
-func max(a, b int64) int64 {
- if a < b {
- return b
- }
- return a
-}
-
func extractContainerID(id string) string {
// docker://d98...
if i := strings.LastIndexByte(id, '/'); i != -1 {
diff --git a/src/go/collectors/go.d.plugin/modules/k8s_state/update_state.go b/src/go/plugin/go.d/modules/k8s_state/update_state.go
index 88f3272c1..88f3272c1 100644
--- a/src/go/collectors/go.d.plugin/modules/k8s_state/update_state.go
+++ b/src/go/plugin/go.d/modules/k8s_state/update_state.go