awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
kubernetes avatar

kubernetes/node-problem-detector

0
View on GitHub↗
3,344 星标·687 分支·Go·apache-2.0·8 次浏览

Node Problem Detector

Node Problem Detector is a Kubernetes-native agent that monitors node health and reports hardware failures, kernel issues, and other node-level problems to the cluster control plane. It detects problems by scanning kernel ring buffer messages for error patterns, running user-defined health check scripts, and collecting system metrics from CPU, memory, disk, and network interfaces.

The agent distinguishes between permanent and temporary problems by mapping plugin failures to either persistent node conditions visible in kubectl describe node or one-time node events. It supports running multiple custom plugins concurrently with configurable concurrency limits, and can execute repair commands on unhealthy node components after a cooldown period. The detector also monitors systemd service health by scanning journald logs for repeated start/stop patterns, and checks for read-only filesystems or filesystem corruption.

Beyond problem detection, the agent collects system health metrics from /proc files on Linux and gopsutil on Windows, exposing them as Prometheus endpoints for external scraping. It includes built-in monitoring for CPU load averages, memory usage, disk I/O operations, network interface statistics, and host uptime. The project provides container images for both Linux and Windows deployments, and creates a dedicated Kubernetes service account with cluster role bindings for node problem detection permissions.

Features

  • Node Condition Reporters - An agent that monitors node health and reports hardware, kernel, and systemd issues as Kubernetes conditions or events.
  • Kubernetes Node Failure Detections - Detecting hardware failures, kernel issues, and other node-level problems in a Kubernetes cluster and reporting them as node conditions or events.
  • Kernel Log Pattern Matchers - Scans kernel ring buffer messages with regex patterns to detect hardware and software faults.
  • Plugin-Based - Invokes user-defined scripts on a schedule and reports their output as node conditions or events.
  • Node Condition Definitions - Maps plugin failures to persistent node conditions that the cluster scheduler can act upon.
  • Permanent Node Failure Detections - Identifies unrecoverable kernel problems and marks nodes with permanent conditions for cluster action.
  • Hardware Failure Detectors - Monitors kernel logs and system files to identify hardware malfunctions and reports them to the cluster.
  • Dual Condition and Event Reporting - Distinguishes between permanent node conditions and temporary node events for problem reporting.
  • Problem Detection Plugins - Runs user-defined scripts as plugins that report node problems via exit codes and structured output.
  • Systemd Service Monitoring - Scans journald logs for repeated start/stop patterns and reports conditions when restarts exceed thresholds.
  • Kernel Log Exporters - Scans kernel log files for patterns indicating issues like OOM kills and reports them as node conditions.
  • Custom Health Check Executors - Executes user-defined scripts or commands on each node and reports their exit status as node conditions.
  • Health Check Interval Configuration - Invokes user-defined health checks at fixed intervals with configurable timeouts and cooldown periods.
  • Custom Plugin Health Monitors - Running user-defined scripts or commands on Kubernetes nodes on a schedule to monitor custom health checks and report results.
  • Kernel Error Pattern Reporters - Scans kernel logs for known error patterns and surfaces them as node conditions or events.
  • Kernel Ring Buffer Streams - Scans kernel ring buffer messages in real time to detect hardware or software faults.
  • Kernel Problem Reporters - Parses kernel ring buffer messages to detect software or driver issues and surfaces them to the cluster.
  • System Metrics Collection - Collects CPU, memory, disk, and network metrics from system files for node health monitoring.
  • Kubernetes Node Metrics - Collecting CPU, memory, disk, and network metrics from Kubernetes nodes and exposing them for Prometheus scraping.
  • Node Health Tracking - Periodically checks node component health and reports conditions when components become unhealthy.
  • Prometheus System Metrics Exporters - Exposes CPU, memory, disk, and network metrics in Prometheus format through a dedicated REST endpoint.
  • Custom Script Exit-Code Monitors - Executes arbitrary monitor scripts and interprets exit codes and output to detect node problems.
  • Node Event Emitters - Generates one-time Kubernetes node events from plugin failures without persisting conditions.
  • Filesystem Corruption Detections - Checks for filesystem corruption or read-only mounts and alerts the cluster to storage issues.
  • Plugin Concurrency Limiters - Provides configurable concurrency limits for parallel execution of custom monitoring plugins.
  • Node Health Metric Collectors - A daemon that collects CPU, memory, disk, and network metrics and exposes them for Prometheus scraping.
  • Temporary Node Anomaly Detections - Emits temporary events for transient node issues like OOM kills without altering persistent conditions.
  • CPU Performance Monitors - Collects CPU load averages, usage time, and process statistics at configurable intervals.
  • Cross-Platform System Metrics Collectors - Collects system metrics across Linux and Windows using platform-specific backends.
  • Disk and Swap Monitoring - Collects disk usage, I/O operations, queue length, and weighted I/O for block devices.
  • Network Interface Statistics Collectors - Collects cumulative transmit and receive packet, error, and drop counts per network interface.
  • Node Component Repair Tools - Runs repair commands on unhealthy node components after a cooldown period to restore health.
  • Component Health Verifiers - Periodically verifying the health of node components like systemd services and reporting conditions when they become unhealthy.
  • Node-Level - Simulate node-level failures like filesystem errors or process hangs to verify that the cluster detects and reports problems correctly.
  • System Memory Monitors - Collects memory usage, page cache, anonymous, dirty, and unevictable memory statistics.
  • Kubernetes Windows Node Monitors - Collecting system health metrics and detecting problems on Windows Kubernetes nodes using platform-appropriate tools.
  • Windows Node Metric Collectors - Collects CPU, memory, disk, and uptime metrics on Windows nodes using the gopsutil library instead of /proc files.

Star 历史

kubernetes/node-problem-detector 的 Star 历史图表kubernetes/node-problem-detector 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

kubernetes/node-problem-detector 是做什么的?

Node Problem Detector is a Kubernetes-native agent that monitors node health and reports hardware failures, kernel issues, and other node-level problems to the cluster control plane. It detects problems by scanning kernel ring buffer messages for error patterns, running user-defined health check scripts, and collecting system metrics from CPU, memory, disk, and network interfaces.

kubernetes/node-problem-detector 的主要功能有哪些?

kubernetes/node-problem-detector 的主要功能包括:Node Condition Reporters, Kubernetes Node Failure Detections, Kernel Log Pattern Matchers, Plugin-Based, Node Condition Definitions, Permanent Node Failure Detections, Hardware Failure Detectors, Dual Condition and Event Reporting。

kubernetes/node-problem-detector 有哪些开源替代品?

kubernetes/node-problem-detector 的开源替代品包括: prometheus-community/windows_exporter — The Windows Exporter is a service that collects system, performance, and hardware metrics from Windows servers and… gluster/glusterfs — GlusterFS is a software-defined distributed file system and scale-out storage cluster that aggregates disk resources… moleculerjs/moleculer — Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a… amidaware/tacticalrmm — TacticalRMM is a remote monitoring and management platform designed for overseeing endpoints and automating IT… aws/karpenter-provider-aws — karpenter-provider-aws is a Kubernetes node autoscaler and infrastructure provider for AWS. It serves as a node… qax-os/excelize — Excelize is a library for reading and writing spreadsheet files in the Office Open XML format. It provides a…

Node Problem Detector 的开源替代方案

相似的开源项目,按与 Node Problem Detector 的功能重合度排序。
  • prometheus-community/windows_exporterprometheus-community 的头像

    prometheus-community/windows_exporter

    3,465在 GitHub 上查看↗

    The Windows Exporter is a service that collects system, performance, and hardware metrics from Windows servers and exposes them via a text-based HTTP endpoint for Prometheus to scrape. It functions as a system metrics collector and service monitor designed to provide observability across Windows environments. The project utilizes a modular collector design that gathers data through Windows Management Instrumentation, native performance counters, and registry keys. It also includes a text-file metrics importer that allows user-defined or third-party business metrics to be read from local plain

    Goprometheusprometheus-exporterwindows
    在 GitHub 上查看↗3,465
  • gluster/glusterfsgluster 的头像

    gluster/glusterfs

    5,191在 GitHub 上查看↗

    GlusterFS is a software-defined distributed file system and scale-out storage cluster that aggregates disk resources from multiple servers into a single global namespace. It functions as a unified storage platform, allowing the same underlying data to be exposed through file, block, and object storage interfaces. The system distinguishes itself through a decentralized architecture that uses consistent hashing to distribute files across network nodes without a central metadata server. It ensures data integrity and availability using self-healing replication, quorum-based consistency to prevent

    C
    在 GitHub 上查看↗5,191
  • moleculerjs/moleculermoleculerjs 的头像

    moleculerjs/moleculer

    6,373在 GitHub 上查看↗

    Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake

    JavaScript
    在 GitHub 上查看↗6,373
  • amidaware/tacticalrmmamidaware 的头像

    amidaware/tacticalrmm

    4,161在 GitHub 上查看↗

    TacticalRMM is a remote monitoring and management platform designed for overseeing endpoints and automating IT administration. It functions as an endpoint management tool and IT automation framework, providing a centralized dashboard for executing scripts, monitoring system health, and managing remote devices across multiple tenants. The platform distinguishes itself through a comprehensive remote administration suite that includes real-time shell access, remote file management, and registry editing. It integrates with third-party remote desktop software and provides a hierarchical policy inh

    Pythondjangodjango-rest-frameworkmonitoring
    在 GitHub 上查看↗4,161
  • 查看 Node Problem Detector 的所有 30 个替代方案→