github.com/aristanetworks/goarista@v0.0.0-20240514173732-cca2755bbd44/healthzdata/healthzdata.proto (about)

     1  // Copyright (c) 2022 Arista Networks, Inc.
     2  // Use of this source code is governed by the Apache License 2.0
     3  // that can be found in the COPYING file.
     4  
     5  syntax = "proto3";
     6  
     7  // healthzdata.proto version changelist
     8  // version 0: initial version
     9  // version 1: add BashCommand
    10  
    11  // A HealthzData message is returned in the GNOI Healthz RPC,
    12  // to satisfy the ComponentStatus.healthz field, which is described as:
    13  // ```
    14  // Opaque data for how the healthcheck is implemented.  This can be any
    15  // proto defined by the vendor.  This could be the equivalent to outputs
    16  // like "show tech" or core files or any other diagnostic data.
    17  // ```
    18  // The size of the message may be large.
    19  // Ensure that the client is configured to receive large message sizes.
    20  message HealthzData {
    21    // healthzdata.proto version number
    22    uint32 version = 1;
    23  
    24    // data points collected for a component
    25    repeated HealthzDataPoint data_points = 2;
    26  }
    27  
    28  // A HealthzDataPoint represents data from one source
    29  // that relates to a component.
    30  // For example, the data relating to one 'show' command.
    31  // If multiple sources are being used to collect data,
    32  // each one will be captured in its own datapoint.
    33  message HealthzDataPoint{
    34    oneof datapoint {
    35      ShowCommand show_command = 1;
    36      SupportScript support_script = 2;
    37      Logs logs = 3;
    38      BashCommand bash_command = 4;
    39    }
    40  }
    41  
    42  // A Logs datapoint captures information from one or more
    43  // log files on the system.
    44  message Logs {
    45    string logs_description = 1;
    46    // data is a .tar.gz archive containing log file(s)
    47    bytes data = 2;
    48  }
    49  
    50  // A ShowCommand datapoint captures information from
    51  // running a CLI show command on the system
    52  message ShowCommand {
    53    string show_command = 1;
    54    // data is a .tar.gz archive containing
    55    // a JSON or text file with show command output
    56    bytes data = 2;
    57  }
    58  
    59  // A SupportScript datapoint captures information
    60  // from running an existing support script
    61  // on the system.
    62  message SupportScript {
    63    string script_name = 1;
    64    // data is a .tar.gz archive containing file(s)
    65    // generated by the support script
    66    bytes data = 2;
    67  }
    68  
    69  // A BashCommand datapoint captures information
    70  // from running some bash command on the system.
    71  message BashCommand {
    72    string command = 1;
    73    // data is a .tar.gz archive containing any output from
    74    // running the bash command on the system
    75    bytes data = 2;
    76  }