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 }