@cryptotaxi247 / netdata-1 / commits / 449b627da

Strip relatedResource tags from GitHub-rendered md files (#21751)

* Strip relatedResource tags from GitHub-rendered .md files The {% relatedResource %} tags are custom Docusaurus/MDX markers meant for the learn site. GitHub's markdown renderer shows them as raw text. Add regex to clean_and_write() to strip these tags down to plain text names, and regenerate all integration docs. * Add cross-references between Kubernetes-related integrations Link k8s_state, k8s_apiserver, k8s_kubelet, k8s_kubeproxy, cgroups Kubernetes Containers, and CoreDNS as related resources so users can discover all K8s monitoring integrations from any one of them. * Convert related resource references to markdown links in generated docs Replace plain-text related resource names with clickable markdown links pointing to the actual integration .md files in the repo. Uses a two-pass approach: write_to_file() records each integration's actual output path, then resolve_related_links() post-processes all files to convert relatedResource tags into [name](/path) links.

Costa Tsaousis committed Feb 12, 2026 at 13:02 UTC 449b627da7a344800b5223754d1922b2723b1011
47 files changed +246 -89
integrations/gen_docs_integrations.py
+56 -9
@@ -9,6 +9,9 @@ from pathlib import Path
9 # Registry used to decide which README.md should symlink to which generated file
10 symlink_dict = {}
11
12 +# Mapping of integration id → output file path (repo-relative), populated by write_to_file()
13 +id_to_path = {}
14 +
15
16 # -----------------------------
17 # FS utilities
@@ -35,7 +38,9 @@ def cleanup(only_base_paths=None):
38
39 def clean_and_write(md: str, path: Path):
40 """
38 - Convert custom {% details %} markers to HTML <details> and write file.
41 + Convert custom markers to HTML/plain text for GitHub-rendered .md files.
42 + relatedResource tags are left as-is here; they are resolved in a post-pass
43 + once id_to_path is fully populated.
44 """
45 md = re.sub(r'\{% details open=true summary="(.*?)" %\}', r'<details open><summary>\1</summary>\n', md)
46 md = re.sub(r'\{% details summary="(.*?)" %\}', r'<details><summary>\1</summary>\n', md)
@@ -43,6 +48,31 @@ def clean_and_write(md: str, path: Path):
48 path.write_text(md, encoding="utf-8")
49
50
51 +def resolve_related_links():
52 + """
53 + Post-process all written files: convert relatedResource tags to markdown links.
54 + Must be called after all files are written and id_to_path is fully populated.
55 + """
56 + for fpath in id_to_path.values():
57 + p = Path(fpath)
58 + if not p.exists():
59 + continue
60 + md = p.read_text(encoding="utf-8")
61 + if '{% relatedResource' not in md:
62 + continue
63 +
64 + def _resolve(m):
65 + rid = m.group(1)
66 + name = m.group(2)
67 + target = id_to_path.get(rid)
68 + if target:
69 + return f'[{name}](/{target})'
70 + return name
71 +
72 + md = re.sub(r'\{% relatedResource id="([^"]*)" %\}(.*?)\{% /relatedResource %\}', _resolve, md)
73 + p.write_text(md, encoding="utf-8")
74 +
75 +
76 def build_path(meta_yaml_link: str) -> str:
77 """
78 Convert GitHub edit link to local repo path (without trailing /metadata.yaml).
@@ -345,10 +375,11 @@ def create_overview_banner(md: str, community_badge: str) -> str:
375
376
377 def write_to_file(path: str, md: str, meta_yaml: str, sidebar_label: str, community: str, integration=None,
348 - mode: str = "default"):
378 + mode: str = "default", integration_id: str = None):
379 """
380 Write the generated markdown into an `integrations/` subdirectory located alongside the `metadata.yaml` file.
381 This mirrors the original behavior of placing docs next to their source metadata.
382 + Also registers the actual output path in id_to_path for later link resolution.
383 """
384 md = create_overview_banner(md, community)
385
@@ -362,6 +393,8 @@ def write_to_file(path: str, md: str, meta_yaml: str, sidebar_label: str, commun
393 md2 = add_custom_edit_url(md, meta_yaml, sidebar_label)
394 outfile = integrations_dir / f"{clean_string(sidebar_label)}.md"
395 clean_and_write(md2, outfile)
396 + if integration_id:
397 + id_to_path[integration_id] = str(outfile)
398 except FileNotFoundError as e:
399 print("Exception in writing to file", e)
400
@@ -383,6 +416,8 @@ def write_to_file(path: str, md: str, meta_yaml: str, sidebar_label: str, commun
416 finalpath = integrations_dir / f"{name}.md"
417 try:
418 clean_and_write(md2, finalpath)
419 + if integration_id:
420 + id_to_path[integration_id] = str(finalpath)
421 except FileNotFoundError as e:
422 print("Exception in writing to file", e)
423
@@ -391,6 +426,8 @@ def write_to_file(path: str, md: str, meta_yaml: str, sidebar_label: str, commun
426 finalpath = Path(path) / "README.md"
427 try:
428 clean_and_write(md2, finalpath)
429 + if integration_id:
430 + id_to_path[integration_id] = str(finalpath)
431 except FileNotFoundError as e:
432 print("Exception in writing to file", e)
433
@@ -403,6 +440,8 @@ def write_to_file(path: str, md: str, meta_yaml: str, sidebar_label: str, commun
440 finalpath = integrations_dir / f"{name}.md"
441 try:
442 clean_and_write(md2, finalpath)
443 + if integration_id:
444 + id_to_path[integration_id] = str(finalpath)
445 except FileNotFoundError as e:
446 print("Exception in writing to file", e)
447
@@ -415,6 +454,8 @@ def write_to_file(path: str, md: str, meta_yaml: str, sidebar_label: str, commun
454 finalpath = integrations_dir / f"{name}.md"
455 try:
456 clean_and_write(md2, finalpath)
457 + if integration_id:
458 + id_to_path[integration_id] = str(finalpath)
459 except FileNotFoundError as e:
460 print("Exception in writing to file", e)
461
@@ -491,9 +532,10 @@ def main():
532 # full cleanup (legacy behavior)
533 cleanup()
534
494 - # Generate
535 + # Generate (pass 1: write all files, record id → actual output path)
536 for integration in integrations:
537 itype = integration.get("integration_type")
538 + iid = integration.get("id")
539
540 # If -c is used, process ONLY the matching collector; skip everything else
541 if args.collector:
@@ -510,14 +552,14 @@ def main():
552 integration, categories, mode="collector"
553 )
554 path = build_path(meta_yaml)
513 - write_to_file(path, md, meta_yaml, sidebar_label, community)
555 + write_to_file(path, md, meta_yaml, sidebar_label, community, integration_id=iid)
556
557 elif itype == "exporter" and not args.collector:
558 meta_yaml, sidebar_label, learn_rel_path, md, community = build_readme_from_integration(
559 integration, categories, mode="exporter"
560 )
561 path = build_path(meta_yaml)
520 - write_to_file(path, md, meta_yaml, sidebar_label, community)
562 + write_to_file(path, md, meta_yaml, sidebar_label, community, integration_id=iid)
563
564 elif itype == "agent_notification" and not args.collector:
565 meta_yaml, sidebar_label, learn_rel_path, md, community = build_readme_from_integration(
@@ -525,7 +567,7 @@ def main():
567 )
568 path = build_path(meta_yaml)
569 write_to_file(path, md, meta_yaml, sidebar_label, community, integration=integration,
528 - mode="agent-notification")
570 + mode="agent-notification", integration_id=iid)
571
572 elif itype == "cloud_notification" and not args.collector:
573 meta_yaml, sidebar_label, learn_rel_path, md, community = build_readme_from_integration(
@@ -533,21 +575,26 @@ def main():
575 )
576 path = build_path(meta_yaml)
577 write_to_file(path, md, meta_yaml, sidebar_label, community, integration=integration,
536 - mode="cloud-notification")
578 + mode="cloud-notification", integration_id=iid)
579
580 elif itype == "logs" and not args.collector:
581 meta_yaml, sidebar_label, learn_rel_path, md, community = build_readme_from_integration(
582 integration, categories, mode="logs"
583 )
584 path = build_path(meta_yaml)
543 - write_to_file(path, md, meta_yaml, sidebar_label, community, integration=integration, mode="logs")
585 + write_to_file(path, md, meta_yaml, sidebar_label, community, integration=integration,
586 + mode="logs", integration_id=iid)
587
588 elif itype == "authentication" and not args.collector:
589 meta_yaml, sidebar_label, learn_rel_path, md, community = build_readme_from_integration(
590 integration, categories, mode="authentication"
591 )
592 path = build_path(meta_yaml)
550 - write_to_file(path, md, meta_yaml, sidebar_label, community, integration=integration, mode="authentication")
593 + write_to_file(path, md, meta_yaml, sidebar_label, community, integration=integration,
594 + mode="authentication", integration_id=iid)
595 +
596 + # Pass 2: resolve relatedResource tags to markdown links now that all paths are known
597 + resolve_related_links()
598
599 make_symlinks(symlink_dict)
600
src/collectors/cgroups.plugin/integrations/kubernetes_containers.md
+8
@@ -33,6 +33,14 @@ This collector is only supported on the following platforms:
33 This collector supports collecting metrics from multiple instances of this integration, including remote instances.
34
35
36 +Kubernetes Containers can be monitored further using the following other integrations:
37 +
38 +- [Kubernetes Cluster State](/src/go/plugin/go.d/collector/k8s_state/integrations/kubernetes_cluster_state.md)
39 +- [Kubernetes API Server](/src/go/plugin/go.d/collector/k8s_apiserver/integrations/kubernetes_api_server.md)
40 +- [Kubelet](/src/go/plugin/go.d/collector/k8s_kubelet/integrations/kubelet.md)
41 +- [Kubeproxy](/src/go/plugin/go.d/collector/k8s_kubeproxy/integrations/kubeproxy.md)
42 +- [CoreDNS](/src/go/plugin/go.d/collector/coredns/integrations/coredns.md)
43 +
44 ### Default Behavior
45
46 #### Auto-Detection
src/collectors/cgroups.plugin/metadata.yaml
+13
@@ -451,6 +451,19 @@ modules:
451 - cri-o
452 - kubelet
453 - kubepods
454 + related_resources:
455 + integrations:
456 + list:
457 + - plugin_name: go.d.plugin
458 + module_name: k8s_state
459 + - plugin_name: go.d.plugin
460 + module_name: k8s_apiserver
461 + - plugin_name: go.d.plugin
462 + module_name: k8s_kubelet
463 + - plugin_name: go.d.plugin
464 + module_name: k8s_kubeproxy
465 + - plugin_name: go.d.plugin
466 + module_name: coredns
467 most_popular: true
468 overview:
469 <<: *overview
src/collectors/diskspace.plugin/integrations/disk_space.md
+1 -1
@@ -33,7 +33,7 @@ This collector supports collecting metrics from multiple instances of this integ
33
34 Disk space can be monitored further using the following other integrations:
35
36 -- {% relatedResource id="ebpf.plugin-disk-eBPF_Disk" %}eBPF Disk{% /relatedResource %}
36 +- [eBPF Disk](/src/collectors/ebpf.plugin/integrations/ebpf_disk.md)
37
38 ### Default Behavior
39
src/collectors/ebpf.plugin/integrations/ebpf_cachestat.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netada sets necessa
36
37 eBPF Cachestat can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/ebpf.plugin/integrations/ebpf_dcstat.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netada sets necessa
36
37 eBPF DCstat can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/ebpf.plugin/integrations/ebpf_filedescriptor.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netdata sets necess
36
37 eBPF Filedescriptor can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/ebpf.plugin/integrations/ebpf_oomkill.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netada sets necessa
36
37 eBPF OOMkill can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/ebpf.plugin/integrations/ebpf_processes.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netada sets necessa
36
37 eBPF Processes can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/ebpf.plugin/integrations/ebpf_shm.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netada sets necessa
36
37 eBPF SHM can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/ebpf.plugin/integrations/ebpf_socket.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netada sets necessa
36
37 eBPF Socket can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/ebpf.plugin/integrations/ebpf_swap.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netada sets necessa
36
37 eBPF SWAP can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/ebpf.plugin/integrations/ebpf_vfs.md
+2 -2
@@ -36,8 +36,8 @@ The plugin needs setuid because it loads data inside kernel. Netada sets necessa
36
37 eBPF VFS can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/collectors/guides/proxmox/integrations/proxmox_ve_monitoring.md
+12 -12
@@ -48,18 +48,18 @@ This collector only supports collecting metrics from a single instance of this i
48
49 Proxmox VE Monitoring can be monitored further using the following other integrations:
50
51 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Proxmox_VMs_and_Containers" %}Proxmox VMs and Containers{% /relatedResource %}
52 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Systemd_Services" %}Systemd Services{% /relatedResource %}
53 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
54 -- {% relatedResource id="go.d.plugin-zfspool-ZFS_Pools" %}ZFS Pools{% /relatedResource %}
55 -- {% relatedResource id="go.d.plugin-ceph-Ceph" %}Ceph{% /relatedResource %}
56 -- {% relatedResource id="go.d.plugin-smartctl-S.M.A.R.T." %}S.M.A.R.T.{% /relatedResource %}
57 -- {% relatedResource id="go.d.plugin-sensors-Linux_Sensors" %}Linux Sensors{% /relatedResource %}
58 -- {% relatedResource id="proc.plugin-/proc/net/dev-Network_interfaces" %}Network interfaces{% /relatedResource %}
59 -- {% relatedResource id="proc.plugin-/proc/diskstats-Disk_Statistics" %}Disk Statistics{% /relatedResource %}
60 -- {% relatedResource id="proc.plugin-/proc/stat-System_statistics" %}System statistics{% /relatedResource %}
61 -- {% relatedResource id="proc.plugin-/proc/meminfo-Memory_Usage" %}Memory Usage{% /relatedResource %}
62 -- {% relatedResource id="proc.plugin-/proc/spl/kstat/zfs/arcstats-ZFS_Adaptive_Replacement_Cache" %}ZFS Adaptive Replacement Cache{% /relatedResource %}
51 +- [Proxmox VMs and Containers](/src/collectors/cgroups.plugin/integrations/proxmox_vms_and_containers.md)
52 +- [Systemd Services](/src/collectors/cgroups.plugin/integrations/systemd_services.md)
53 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
54 +- [ZFS Pools](/src/go/plugin/go.d/collector/zfspool/integrations/zfs_pools.md)
55 +- [Ceph](/src/go/plugin/go.d/collector/ceph/integrations/ceph.md)
56 +- [S.M.A.R.T.](/src/go/plugin/go.d/collector/smartctl/integrations/s.m.a.r.t..md)
57 +- [Linux Sensors](/src/go/plugin/go.d/collector/sensors/integrations/linux_sensors.md)
58 +- [Network interfaces](/src/collectors/proc.plugin/integrations/network_interfaces.md)
59 +- [Disk Statistics](/src/collectors/proc.plugin/integrations/disk_statistics.md)
60 +- [System statistics](/src/collectors/proc.plugin/integrations/system_statistics.md)
61 +- [Memory Usage](/src/collectors/proc.plugin/integrations/memory_usage.md)
62 +- [ZFS Adaptive Replacement Cache](/src/collectors/proc.plugin/integrations/zfs_adaptive_replacement_cache.md)
63
64 ### Default Behavior
65
src/go/plugin/go.d/collector/activemq/integrations/activemq.md
+2 -2
@@ -33,8 +33,8 @@ This collector supports collecting metrics from multiple instances of this integ
33
34 ActiveMQ can be monitored further using the following other integrations:
35
36 -- {% relatedResource id="go.d.plugin-httpcheck-HTTP_Endpoints" %}HTTP Endpoints{% /relatedResource %}
37 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
36 +- [HTTP Endpoints](/src/go/plugin/go.d/collector/httpcheck/integrations/http_endpoints.md)
37 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
38
39 ### Default Behavior
40
src/go/plugin/go.d/collector/apache/integrations/apache.md
+3 -3
@@ -36,9 +36,9 @@ This collector supports collecting metrics from multiple instances of this integ
36
37 Apache can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="go.d.plugin-web_log-Web_server_log_files" %}Web server log files{% /relatedResource %}
40 -- {% relatedResource id="go.d.plugin-httpcheck-HTTP_Endpoints" %}HTTP Endpoints{% /relatedResource %}
41 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
39 +- [Web server log files](/src/go/plugin/go.d/collector/weblog/integrations/web_server_log_files.md)
40 +- [HTTP Endpoints](/src/go/plugin/go.d/collector/httpcheck/integrations/http_endpoints.md)
41 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
42
43 ### Default Behavior
44
src/go/plugin/go.d/collector/apache/integrations/httpd.md
+3 -3
@@ -36,9 +36,9 @@ This collector supports collecting metrics from multiple instances of this integ
36
37 HTTPD can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="go.d.plugin-web_log-Web_server_log_files" %}Web server log files{% /relatedResource %}
40 -- {% relatedResource id="go.d.plugin-httpcheck-HTTP_Endpoints" %}HTTP Endpoints{% /relatedResource %}
41 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
39 +- [Web server log files](/src/go/plugin/go.d/collector/weblog/integrations/web_server_log_files.md)
40 +- [HTTP Endpoints](/src/go/plugin/go.d/collector/httpcheck/integrations/http_endpoints.md)
41 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
42
43 ### Default Behavior
44
src/go/plugin/go.d/collector/coredns/integrations/coredns.md
+8
@@ -32,6 +32,14 @@ This collector is supported on all platforms.
32 This collector supports collecting metrics from multiple instances of this integration, including remote instances.
33
34
35 +CoreDNS can be monitored further using the following other integrations:
36 +
37 +- [Kubernetes Cluster State](/src/go/plugin/go.d/collector/k8s_state/integrations/kubernetes_cluster_state.md)
38 +- [Kubernetes API Server](/src/go/plugin/go.d/collector/k8s_apiserver/integrations/kubernetes_api_server.md)
39 +- [Kubelet](/src/go/plugin/go.d/collector/k8s_kubelet/integrations/kubelet.md)
40 +- [Kubeproxy](/src/go/plugin/go.d/collector/k8s_kubeproxy/integrations/kubeproxy.md)
41 +- [Kubernetes Containers](/src/collectors/cgroups.plugin/integrations/kubernetes_containers.md)
42 +
43 ### Default Behavior
44
45 #### Auto-Detection
src/go/plugin/go.d/collector/coredns/metadata.yaml
+12 -1
@@ -16,7 +16,18 @@ modules:
16 - kubernetes
17 related_resources:
18 integrations:
19 - list: []
19 + list:
20 + - plugin_name: go.d.plugin
21 + module_name: k8s_state
22 + - plugin_name: go.d.plugin
23 + module_name: k8s_apiserver
24 + - plugin_name: go.d.plugin
25 + module_name: k8s_kubelet
26 + - plugin_name: go.d.plugin
27 + module_name: k8s_kubeproxy
28 + - plugin_name: cgroups.plugin
29 + module_name: /sys/fs/cgroup
30 + monitored_instance_name: "Kubernetes Containers"
31 info_provided_to_referring_integrations:
32 description: ""
33 most_popular: false
src/go/plugin/go.d/collector/dcgm/integrations/nvidia_dcgm_exporter.md
+4
@@ -34,6 +34,10 @@ This collector is supported on all platforms.
34 This collector supports collecting metrics from multiple instances of this integration, including remote instances.
35
36
37 +NVIDIA DCGM Exporter can be monitored further using the following other integrations:
38 +
39 +- [Nvidia GPU](/src/go/plugin/go.d/collector/nvidia_smi/integrations/nvidia_gpu.md)
40 +
41 ### Default Behavior
42
43 #### Auto-Detection
src/go/plugin/go.d/collector/dcgm/metadata.yaml
+3 -1
@@ -17,7 +17,9 @@ modules:
17 - dcgm-exporter
18 related_resources:
19 integrations:
20 - list: []
20 + list:
21 + - plugin_name: go.d.plugin
22 + module_name: nvidia_smi
23 info_provided_to_referring_integrations:
24 description: ""
25 most_popular: false
src/go/plugin/go.d/collector/elasticsearch/integrations/elasticsearch.md
+2 -2
@@ -45,8 +45,8 @@ This collector supports collecting metrics from multiple instances of this integ
45
46 Elasticsearch can be monitored further using the following other integrations:
47
48 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
49 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
48 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
49 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
50
51 ### Default Behavior
52
src/go/plugin/go.d/collector/elasticsearch/integrations/opensearch.md
+2 -2
@@ -45,8 +45,8 @@ This collector supports collecting metrics from multiple instances of this integ
45
46 OpenSearch can be monitored further using the following other integrations:
47
48 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
49 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
48 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
49 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
50
51 ### Default Behavior
52
src/go/plugin/go.d/collector/envoy/integrations/envoy.md
+1 -1
@@ -34,7 +34,7 @@ This collector supports collecting metrics from multiple instances of this integ
34
35 Envoy can be monitored further using the following other integrations:
36
37 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
37 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
38
39 ### Default Behavior
40
src/go/plugin/go.d/collector/geth/integrations/go-ethereum.md
+1 -1
@@ -34,7 +34,7 @@ This collector supports collecting metrics from multiple instances of this integ
34
35 Go-ethereum can be monitored further using the following other integrations:
36
37 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
37 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
38
39 ### Default Behavior
40
src/go/plugin/go.d/collector/k8s_apiserver/integrations/kubernetes_api_server.md
+5 -3
@@ -48,9 +48,11 @@ In most clusters, this requires cluster-admin or a custom ClusterRole with metri
48
49 Kubernetes API Server can be monitored further using the following other integrations:
50
51 -- {% relatedResource id="go.d.plugin-k8s_kubelet-Kubelet" %}Kubelet{% /relatedResource %}
52 -- {% relatedResource id="go.d.plugin-k8s_kubeproxy-Kubeproxy" %}Kubeproxy{% /relatedResource %}
53 -- {% relatedResource id="go.d.plugin-k8s_state-Kubernetes_Cluster_State" %}Kubernetes Cluster State{% /relatedResource %}
51 +- [Kubelet](/src/go/plugin/go.d/collector/k8s_kubelet/integrations/kubelet.md)
52 +- [Kubeproxy](/src/go/plugin/go.d/collector/k8s_kubeproxy/integrations/kubeproxy.md)
53 +- [Kubernetes Cluster State](/src/go/plugin/go.d/collector/k8s_state/integrations/kubernetes_cluster_state.md)
54 +- [Kubernetes Containers](/src/collectors/cgroups.plugin/integrations/kubernetes_containers.md)
55 +- [CoreDNS](/src/go/plugin/go.d/collector/coredns/integrations/coredns.md)
56
57 ### Default Behavior
58
src/go/plugin/go.d/collector/k8s_apiserver/metadata.yaml
+5
@@ -24,6 +24,11 @@ modules:
24 module_name: k8s_kubeproxy
25 - plugin_name: go.d.plugin
26 module_name: k8s_state
27 + - plugin_name: cgroups.plugin
28 + module_name: /sys/fs/cgroup
29 + monitored_instance_name: "Kubernetes Containers"
30 + - plugin_name: go.d.plugin
31 + module_name: coredns
32 info_provided_to_referring_integrations:
33 description: ""
34 most_popular: true
src/go/plugin/go.d/collector/k8s_kubelet/integrations/kubelet.md
+6 -1
@@ -34,7 +34,12 @@ This collector supports collecting metrics from multiple instances of this integ
34
35 Kubelet can be monitored further using the following other integrations:
36
37 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
37 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
38 +- [Kubernetes Cluster State](/src/go/plugin/go.d/collector/k8s_state/integrations/kubernetes_cluster_state.md)
39 +- [Kubernetes API Server](/src/go/plugin/go.d/collector/k8s_apiserver/integrations/kubernetes_api_server.md)
40 +- [Kubeproxy](/src/go/plugin/go.d/collector/k8s_kubeproxy/integrations/kubeproxy.md)
41 +- [Kubernetes Containers](/src/collectors/cgroups.plugin/integrations/kubernetes_containers.md)
42 +- [CoreDNS](/src/go/plugin/go.d/collector/coredns/integrations/coredns.md)
43
44 ### Default Behavior
45
src/go/plugin/go.d/collector/k8s_kubelet/metadata.yaml
+11
@@ -19,6 +19,17 @@ modules:
19 list:
20 - plugin_name: apps.plugin
21 module_name: apps
22 + - plugin_name: go.d.plugin
23 + module_name: k8s_state
24 + - plugin_name: go.d.plugin
25 + module_name: k8s_apiserver
26 + - plugin_name: go.d.plugin
27 + module_name: k8s_kubeproxy
28 + - plugin_name: cgroups.plugin
29 + module_name: /sys/fs/cgroup
30 + monitored_instance_name: "Kubernetes Containers"
31 + - plugin_name: go.d.plugin
32 + module_name: coredns
33 info_provided_to_referring_integrations:
34 description: ""
35 most_popular: true
src/go/plugin/go.d/collector/k8s_kubeproxy/integrations/kubeproxy.md
+6 -1
@@ -34,7 +34,12 @@ This collector supports collecting metrics from multiple instances of this integ
34
35 Kubeproxy can be monitored further using the following other integrations:
36
37 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
37 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
38 +- [Kubernetes Cluster State](/src/go/plugin/go.d/collector/k8s_state/integrations/kubernetes_cluster_state.md)
39 +- [Kubernetes API Server](/src/go/plugin/go.d/collector/k8s_apiserver/integrations/kubernetes_api_server.md)
40 +- [Kubelet](/src/go/plugin/go.d/collector/k8s_kubelet/integrations/kubelet.md)
41 +- [Kubernetes Containers](/src/collectors/cgroups.plugin/integrations/kubernetes_containers.md)
42 +- [CoreDNS](/src/go/plugin/go.d/collector/coredns/integrations/coredns.md)
43
44 ### Default Behavior
45
src/go/plugin/go.d/collector/k8s_kubeproxy/metadata.yaml
+11
@@ -19,6 +19,17 @@ modules:
19 list:
20 - plugin_name: apps.plugin
21 module_name: apps
22 + - plugin_name: go.d.plugin
23 + module_name: k8s_state
24 + - plugin_name: go.d.plugin
25 + module_name: k8s_apiserver
26 + - plugin_name: go.d.plugin
27 + module_name: k8s_kubelet
28 + - plugin_name: cgroups.plugin
29 + module_name: /sys/fs/cgroup
30 + monitored_instance_name: "Kubernetes Containers"
31 + - plugin_name: go.d.plugin
32 + module_name: coredns
33 info_provided_to_referring_integrations:
34 description: ""
35 most_popular: true
src/go/plugin/go.d/collector/k8s_state/integrations/kubernetes_cluster_state.md
+8
@@ -32,6 +32,14 @@ This collector is supported on all platforms.
32 This collector only supports collecting metrics from a single instance of this integration.
33
34
35 +Kubernetes Cluster State can be monitored further using the following other integrations:
36 +
37 +- [Kubernetes API Server](/src/go/plugin/go.d/collector/k8s_apiserver/integrations/kubernetes_api_server.md)
38 +- [Kubelet](/src/go/plugin/go.d/collector/k8s_kubelet/integrations/kubelet.md)
39 +- [Kubeproxy](/src/go/plugin/go.d/collector/k8s_kubeproxy/integrations/kubeproxy.md)
40 +- [Kubernetes Containers](/src/collectors/cgroups.plugin/integrations/kubernetes_containers.md)
41 +- [CoreDNS](/src/go/plugin/go.d/collector/coredns/integrations/coredns.md)
42 +
43 ### Default Behavior
44
45 #### Auto-Detection
src/go/plugin/go.d/collector/k8s_state/metadata.yaml
+12 -1
@@ -15,7 +15,18 @@ modules:
15 - k8s
16 related_resources:
17 integrations:
18 - list: []
18 + list:
19 + - plugin_name: go.d.plugin
20 + module_name: k8s_apiserver
21 + - plugin_name: go.d.plugin
22 + module_name: k8s_kubelet
23 + - plugin_name: go.d.plugin
24 + module_name: k8s_kubeproxy
25 + - plugin_name: cgroups.plugin
26 + module_name: /sys/fs/cgroup
27 + monitored_instance_name: "Kubernetes Containers"
28 + - plugin_name: go.d.plugin
29 + module_name: coredns
30 info_provided_to_referring_integrations:
31 description: ""
32 most_popular: true
src/go/plugin/go.d/collector/lighttpd/integrations/lighttpd.md
+3 -3
@@ -36,9 +36,9 @@ This collector supports collecting metrics from multiple instances of this integ
36
37 Lighttpd can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="go.d.plugin-web_log-Web_server_log_files" %}Web server log files{% /relatedResource %}
40 -- {% relatedResource id="go.d.plugin-httpcheck-HTTP_Endpoints" %}HTTP Endpoints{% /relatedResource %}
41 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
39 +- [Web server log files](/src/go/plugin/go.d/collector/weblog/integrations/web_server_log_files.md)
40 +- [HTTP Endpoints](/src/go/plugin/go.d/collector/httpcheck/integrations/http_endpoints.md)
41 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
42
43 ### Default Behavior
44
src/go/plugin/go.d/collector/mssql/integrations/microsoft_sql_server.md
+2 -2
@@ -55,8 +55,8 @@ SQL Agent job monitoring is part of collector startup, so access to
55
56 Microsoft SQL Server can be monitored further using the following other integrations:
57
58 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
59 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
58 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
59 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
60
61 ### Default Behavior
62
src/go/plugin/go.d/collector/mysql/integrations/mariadb.md
+2 -2
@@ -45,8 +45,8 @@ This collector supports collecting metrics from multiple instances of this integ
45
46 MariaDB can be monitored further using the following other integrations:
47
48 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
49 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
48 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
49 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
50
51 ### Default Behavior
52
src/go/plugin/go.d/collector/mysql/integrations/mysql.md
+2 -2
@@ -45,8 +45,8 @@ This collector supports collecting metrics from multiple instances of this integ
45
46 MySQL can be monitored further using the following other integrations:
47
48 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
49 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
48 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
49 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
50
51 ### Default Behavior
52
src/go/plugin/go.d/collector/mysql/integrations/percona_mysql.md
+2 -2
@@ -45,8 +45,8 @@ This collector supports collecting metrics from multiple instances of this integ
45
46 Percona MySQL can be monitored further using the following other integrations:
47
48 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
49 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
48 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
49 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
50
51 ### Default Behavior
52
src/go/plugin/go.d/collector/nginx/integrations/nginx.md
+4 -4
@@ -35,10 +35,10 @@ This collector supports collecting metrics from multiple instances of this integ
35
36 NGINX can be monitored further using the following other integrations:
37
38 -- {% relatedResource id="go.d.plugin-httpcheck-HTTP_Endpoints" %}HTTP Endpoints{% /relatedResource %}
39 -- {% relatedResource id="go.d.plugin-web_log-Web_server_log_files" %}Web server log files{% /relatedResource %}
40 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
41 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
38 +- [HTTP Endpoints](/src/go/plugin/go.d/collector/httpcheck/integrations/http_endpoints.md)
39 +- [Web server log files](/src/go/plugin/go.d/collector/weblog/integrations/web_server_log_files.md)
40 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
41 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
42
43 ### Default Behavior
44
src/go/plugin/go.d/collector/nginxvts/integrations/nginx_vts.md
+3 -3
@@ -36,9 +36,9 @@ This collector supports collecting metrics from multiple instances of this integ
36
37 NGINX VTS can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="go.d.plugin-web_log-Web_server_log_files" %}Web server log files{% /relatedResource %}
40 -- {% relatedResource id="go.d.plugin-httpcheck-HTTP_Endpoints" %}HTTP Endpoints{% /relatedResource %}
41 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
39 +- [Web server log files](/src/go/plugin/go.d/collector/weblog/integrations/web_server_log_files.md)
40 +- [HTTP Endpoints](/src/go/plugin/go.d/collector/httpcheck/integrations/http_endpoints.md)
41 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
42
43 ### Default Behavior
44
src/go/plugin/go.d/collector/nvidia_smi/integrations/nvidia_gpu.md
+4
@@ -33,6 +33,10 @@ This collector is supported on all platforms.
33 This collector supports collecting metrics from multiple instances of this integration, including remote instances.
34
35
36 +Nvidia GPU can be monitored further using the following other integrations:
37 +
38 +- [NVIDIA DCGM Exporter](/src/go/plugin/go.d/collector/dcgm/integrations/nvidia_dcgm_exporter.md)
39 +
40 ### Default Behavior
41
42 #### Auto-Detection
src/go/plugin/go.d/collector/nvidia_smi/metadata.yaml
+3 -1
@@ -16,7 +16,9 @@ modules:
16 - hardware
17 related_resources:
18 integrations:
19 - list: []
19 + list:
20 + - plugin_name: go.d.plugin
21 + module_name: dcgm
22 info_provided_to_referring_integrations:
23 description: ""
24 most_popular: false
src/go/plugin/go.d/collector/postgres/integrations/postgresql.md
+2 -2
@@ -36,8 +36,8 @@ This collector supports collecting metrics from multiple instances of this integ
36
37 PostgreSQL can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
40 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
41
42 ### Default Behavior
43
src/go/plugin/go.d/collector/pulsar/integrations/apache_pulsar.md
+1 -1
@@ -35,7 +35,7 @@ This collector supports collecting metrics from multiple instances of this integ
35
36 Apache Pulsar can be monitored further using the following other integrations:
37
38 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
38 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
39
40 ### Default Behavior
41
src/go/plugin/go.d/collector/redis/integrations/redis.md
+2 -2
@@ -38,8 +38,8 @@ This collector supports collecting metrics from multiple instances of this integ
38
39 Redis can be monitored further using the following other integrations:
40
41 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
42 -- {% relatedResource id="cgroups.plugin-/sys/fs/cgroup-Containers" %}Containers{% /relatedResource %}
41 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
42 +- [Containers](/src/collectors/cgroups.plugin/integrations/containers.md)
43
44 ### Default Behavior
45
src/go/plugin/go.d/collector/rspamd/integrations/rspamd.md
+2 -2
@@ -35,8 +35,8 @@ This collector supports collecting metrics from multiple instances of this integ
35
36 Rspamd can be monitored further using the following other integrations:
37
38 -- {% relatedResource id="go.d.plugin-httpcheck-HTTP_Endpoints" %}HTTP Endpoints{% /relatedResource %}
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
38 +- [HTTP Endpoints](/src/go/plugin/go.d/collector/httpcheck/integrations/http_endpoints.md)
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40
41 ### Default Behavior
42
src/go/plugin/go.d/collector/zookeeper/integrations/zookeeper.md
+1 -1
@@ -36,7 +36,7 @@ This collector supports collecting metrics from multiple instances of this integ
36
37 ZooKeeper can be monitored further using the following other integrations:
38
39 -- {% relatedResource id="apps.plugin-apps-Applications" %}Applications{% /relatedResource %}
39 +- [Applications](/src/collectors/apps.plugin/integrations/applications.md)
40
41 ### Default Behavior
42