Skip to content

Feature: Add Node Collection Information Monitoring for Log Agent #588

@wtt40122

Description

@wtt40122

Labels: enhancement, logging, monitoring

📋 Feature Description

This PR introduces a new node collection information monitoring feature for the OzHera log agent system. The feature allows real-time monitoring and collection of log processing status across different nodes in the distributed logging infrastructure.

🎯 What's New

New Components Added:

  1. NodeCollInfoProcessor - RPC processor for handling node collection information requests
  2. NodeCollInfo model - Data structure for node collection information
  3. MachineCollInfo model - Machine-specific collection information (replaced by NodeCollInfo)

Key Features:

  • Real-time Node Monitoring: Monitor log collection progress across different nodes
  • Tail Collection Status: Track individual log tail collection information including:
    • Tail ID and name
    • File collection progress
    • Current and maximum file pointers
    • Collection timestamps
  • Host Information: Capture host IP and hostname for each node
  • RPC Communication: Efficient communication between log agent server and agents

🔧 Technical Implementation

Core Classes:

  • NodeCollInfoProcessor: Handles RPC requests for node collection info
  • NodeCollInfo: Main data model containing host info and tail collection details
  • ChannelEngine.getNodeCollInfo(): Collects and aggregates node information
  • DefaultLogProcessCollector.getNodeCollInfo(): Server-side collection method

Data Structure:

NodeCollInfo {
    String hostIp;
    String hostName;
    List<TailCollInfo> tailCollInfos;
    
    TailCollInfo {
        Long tailId;
        String tailName;
        List<CollInfo> collInfos;
    }
    
    CollInfo {
        String fileName;
        String fileNode;
        String collProgress;
        Long maxPointer;
        Long currentPointer;
        Long currentNumber;
        Long collTime;
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions