fluent-plugin-juniper-telemetry_tech-mocha 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/cpu_memory_utilization.pb.rb +53 -0
- data/lib/fabric.pb.rb +85 -0
- data/lib/firewall.pb.rb +83 -0
- data/lib/fluent/plugin/parser_juniper_analyticsd.rb +83 -0
- data/lib/fluent/plugin/parser_juniper_jti.rb +1145 -0
- data/lib/fluent/plugin/parser_juniper_na.rb +147 -0
- data/lib/google/protobuf/descriptor.pb.rb +290 -0
- data/lib/inline_jflow.pb.rb +117 -0
- data/lib/juniper_telemetry_lib.rb +114 -0
- data/lib/logical_port.pb.rb +98 -0
- data/lib/lsp_mon.pb.rb +115 -0
- data/lib/lsp_stats.pb.rb +46 -0
- data/lib/npu_memory_utilization.pb.rb +59 -0
- data/lib/npu_utilization.pb.rb +63 -0
- data/lib/optics.pb.rb +93 -0
- data/lib/packet_stats.pb.rb +56 -0
- data/lib/pbj.pb.rb +71 -0
- data/lib/port.pb.rb +105 -0
- data/lib/port_exp.pb.rb +41 -0
- data/lib/qmon.pb.rb +69 -0
- data/lib/telemetry_top.pb.rb +59 -0
- metadata +109 -0
@@ -0,0 +1,147 @@
|
|
1
|
+
module Fluent
|
2
|
+
class TextParser
|
3
|
+
class JuniperNaParser < Parser
|
4
|
+
|
5
|
+
Plugin.register_parser("juniper_na", self)
|
6
|
+
|
7
|
+
config_param :output_format, :string, :default => 'structured'
|
8
|
+
|
9
|
+
# This method is called after config_params have read configuration parameters
|
10
|
+
def configure(conf)
|
11
|
+
super
|
12
|
+
|
13
|
+
## Check if "output_format" has a valid value
|
14
|
+
unless @output_format.to_s == "structured" ||
|
15
|
+
@output_format.to_s == "flat" ||
|
16
|
+
@output_format.to_s == "statsd"
|
17
|
+
|
18
|
+
raise ConfigError, "output_format value '#{@output_format}' is not valid. Must be : structured, flat or statsd"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
# This is the main method. The input "text" is the unit of data to be parsed.
|
22
|
+
# If this is the in_tail plugin, it would be a line. If this is for in_syslog,
|
23
|
+
# it is a single syslog message.
|
24
|
+
def parse(text)
|
25
|
+
|
26
|
+
resources = JSON.parse(text)
|
27
|
+
time = Engine.now
|
28
|
+
|
29
|
+
resources.each do |resource|
|
30
|
+
resource["Resources"].each do |data|
|
31
|
+
name = data["Res_ID"]
|
32
|
+
|
33
|
+
name_h = Hash.new
|
34
|
+
type = ''
|
35
|
+
if output_format.to_s == 'flat' ||
|
36
|
+
output_format.to_s == 'statsd'
|
37
|
+
name_gr = name_flat(name)
|
38
|
+
|
39
|
+
elsif output_format.to_s == 'structured'
|
40
|
+
name_h = name_hash(name)
|
41
|
+
type = name_h['type']
|
42
|
+
|
43
|
+
else
|
44
|
+
$log.warn "Output_format '#{output_format.to_s}' not supported."
|
45
|
+
end
|
46
|
+
|
47
|
+
##
|
48
|
+
## Extract data
|
49
|
+
## First check if the value is a hash or not
|
50
|
+
##
|
51
|
+
data["Data"].each do |key, value|
|
52
|
+
if value.is_a?(Hash)
|
53
|
+
|
54
|
+
## If data is within a Hash, extract all values and construct new keys
|
55
|
+
data["Data"][key].each do |key2, value2|
|
56
|
+
sub_type = key + "." + key2
|
57
|
+
|
58
|
+
record = {}
|
59
|
+
if output_format.to_s == 'flat'
|
60
|
+
full_name = "#{name_gr}.#{sub_type}"
|
61
|
+
record[full_name.downcase]= value2
|
62
|
+
|
63
|
+
elsif output_format.to_s == 'structured'
|
64
|
+
name_h['type'] = type + sub_type
|
65
|
+
record['value'] = value2
|
66
|
+
record.merge!(name_h)
|
67
|
+
|
68
|
+
elsif output_format.to_s == 'statsd'
|
69
|
+
full_name = "#{name_gr}.#{sub_type}"
|
70
|
+
record[:statsd_type] = 'gauge'
|
71
|
+
record[:statsd_key] = full_name.downcase
|
72
|
+
record[:statsd_gauge] = value2
|
73
|
+
else
|
74
|
+
$log.warn "Output_format '#{output_format.to_s}' not supported for #{sub_type}"
|
75
|
+
end
|
76
|
+
|
77
|
+
yield time, record
|
78
|
+
end
|
79
|
+
else
|
80
|
+
record = {}
|
81
|
+
sub_type = key
|
82
|
+
|
83
|
+
if output_format.to_s == 'flat'
|
84
|
+
full_name = "#{name_gr}.#{sub_type}"
|
85
|
+
record[full_name.downcase]= value
|
86
|
+
|
87
|
+
elsif output_format.to_s == 'structured'
|
88
|
+
name_h['type'] = type + sub_type
|
89
|
+
record['value'] = value
|
90
|
+
record.merge!(name_h)
|
91
|
+
|
92
|
+
elsif output_format.to_s == 'statsd'
|
93
|
+
full_name = "#{name_gr}.#{sub_type}"
|
94
|
+
record[:statsd_type] = 'gauge'
|
95
|
+
record[:statsd_key] = full_name.downcase
|
96
|
+
record[:statsd_gauge] = value
|
97
|
+
else
|
98
|
+
$log.warn "Output_format '#{output_format.to_s}' not supported for #{sub_type}"
|
99
|
+
end
|
100
|
+
|
101
|
+
yield time, record
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def name_flat(res_id)
|
109
|
+
|
110
|
+
res_id.sub!(/^\//, "")
|
111
|
+
|
112
|
+
# ## Replace all / and : per .
|
113
|
+
res_id.gsub!('/', '.')
|
114
|
+
res_id.gsub!(':', '.')
|
115
|
+
|
116
|
+
return res_id
|
117
|
+
end
|
118
|
+
|
119
|
+
def name_hash(res_id)
|
120
|
+
|
121
|
+
# Parse Res_ID and convert to hash
|
122
|
+
# 1- Remove leading /
|
123
|
+
# 2- Split String by /
|
124
|
+
# 3- for each attribute split by : to extract key / value
|
125
|
+
|
126
|
+
res_id.sub!(/^\//, "")
|
127
|
+
attributes = res_id.split("/")
|
128
|
+
|
129
|
+
res_hash = Hash.new
|
130
|
+
type = ''
|
131
|
+
|
132
|
+
attributes.each do |attribute|
|
133
|
+
key_value = attribute.split(":")
|
134
|
+
res_hash[key_value[0].downcase] = key_value[1].downcase
|
135
|
+
|
136
|
+
if key_value[0].downcase != 'device'
|
137
|
+
type = type + key_value[0].downcase + '.'
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
res_hash['type'] = type
|
142
|
+
|
143
|
+
return res_hash
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
@@ -0,0 +1,290 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
##
|
4
|
+
# This file is auto-generated. DO NOT EDIT!
|
5
|
+
#
|
6
|
+
require 'protobuf'
|
7
|
+
|
8
|
+
module Google
|
9
|
+
module Protobuf
|
10
|
+
::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
|
11
|
+
|
12
|
+
##
|
13
|
+
# Message Classes
|
14
|
+
#
|
15
|
+
class FileDescriptorSet < ::Protobuf::Message; end
|
16
|
+
class FileDescriptorProto < ::Protobuf::Message; end
|
17
|
+
class DescriptorProto < ::Protobuf::Message
|
18
|
+
class ExtensionRange < ::Protobuf::Message; end
|
19
|
+
class ReservedRange < ::Protobuf::Message; end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
class FieldDescriptorProto < ::Protobuf::Message
|
24
|
+
class Type < ::Protobuf::Enum
|
25
|
+
define :TYPE_DOUBLE, 1
|
26
|
+
define :TYPE_FLOAT, 2
|
27
|
+
define :TYPE_INT64, 3
|
28
|
+
define :TYPE_UINT64, 4
|
29
|
+
define :TYPE_INT32, 5
|
30
|
+
define :TYPE_FIXED64, 6
|
31
|
+
define :TYPE_FIXED32, 7
|
32
|
+
define :TYPE_BOOL, 8
|
33
|
+
define :TYPE_STRING, 9
|
34
|
+
define :TYPE_GROUP, 10
|
35
|
+
define :TYPE_MESSAGE, 11
|
36
|
+
define :TYPE_BYTES, 12
|
37
|
+
define :TYPE_UINT32, 13
|
38
|
+
define :TYPE_ENUM, 14
|
39
|
+
define :TYPE_SFIXED32, 15
|
40
|
+
define :TYPE_SFIXED64, 16
|
41
|
+
define :TYPE_SINT32, 17
|
42
|
+
define :TYPE_SINT64, 18
|
43
|
+
end
|
44
|
+
|
45
|
+
class Label < ::Protobuf::Enum
|
46
|
+
define :LABEL_OPTIONAL, 1
|
47
|
+
define :LABEL_REQUIRED, 2
|
48
|
+
define :LABEL_REPEATED, 3
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
class OneofDescriptorProto < ::Protobuf::Message; end
|
54
|
+
class EnumDescriptorProto < ::Protobuf::Message; end
|
55
|
+
class EnumValueDescriptorProto < ::Protobuf::Message; end
|
56
|
+
class ServiceDescriptorProto < ::Protobuf::Message; end
|
57
|
+
class MethodDescriptorProto < ::Protobuf::Message; end
|
58
|
+
class FileOptions < ::Protobuf::Message
|
59
|
+
class OptimizeMode < ::Protobuf::Enum
|
60
|
+
define :SPEED, 1
|
61
|
+
define :CODE_SIZE, 2
|
62
|
+
define :LITE_RUNTIME, 3
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
class MessageOptions < ::Protobuf::Message; end
|
68
|
+
class FieldOptions < ::Protobuf::Message
|
69
|
+
class CType < ::Protobuf::Enum
|
70
|
+
define :STRING, 0
|
71
|
+
define :CORD, 1
|
72
|
+
define :STRING_PIECE, 2
|
73
|
+
end
|
74
|
+
|
75
|
+
class JSType < ::Protobuf::Enum
|
76
|
+
define :JS_NORMAL, 0
|
77
|
+
define :JS_STRING, 1
|
78
|
+
define :JS_NUMBER, 2
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
class EnumOptions < ::Protobuf::Message; end
|
84
|
+
class EnumValueOptions < ::Protobuf::Message; end
|
85
|
+
class ServiceOptions < ::Protobuf::Message; end
|
86
|
+
class MethodOptions < ::Protobuf::Message; end
|
87
|
+
class UninterpretedOption < ::Protobuf::Message
|
88
|
+
class NamePart < ::Protobuf::Message; end
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
class SourceCodeInfo < ::Protobuf::Message
|
93
|
+
class Location < ::Protobuf::Message; end
|
94
|
+
|
95
|
+
end
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
##
|
100
|
+
# Message Fields
|
101
|
+
#
|
102
|
+
class FileDescriptorSet
|
103
|
+
repeated ::Google::Protobuf::FileDescriptorProto, :file, 1
|
104
|
+
end
|
105
|
+
|
106
|
+
class FileDescriptorProto
|
107
|
+
optional :string, :name, 1
|
108
|
+
optional :string, :package, 2
|
109
|
+
repeated :string, :dependency, 3
|
110
|
+
repeated :int32, :public_dependency, 10
|
111
|
+
repeated :int32, :weak_dependency, 11
|
112
|
+
repeated ::Google::Protobuf::DescriptorProto, :message_type, 4
|
113
|
+
repeated ::Google::Protobuf::EnumDescriptorProto, :enum_type, 5
|
114
|
+
repeated ::Google::Protobuf::ServiceDescriptorProto, :service, 6
|
115
|
+
repeated ::Google::Protobuf::FieldDescriptorProto, :extension, 7
|
116
|
+
optional ::Google::Protobuf::FileOptions, :options, 8
|
117
|
+
optional ::Google::Protobuf::SourceCodeInfo, :source_code_info, 9
|
118
|
+
optional :string, :syntax, 12
|
119
|
+
end
|
120
|
+
|
121
|
+
class DescriptorProto
|
122
|
+
class ExtensionRange
|
123
|
+
optional :int32, :start, 1
|
124
|
+
optional :int32, :end, 2
|
125
|
+
end
|
126
|
+
|
127
|
+
class ReservedRange
|
128
|
+
optional :int32, :start, 1
|
129
|
+
optional :int32, :end, 2
|
130
|
+
end
|
131
|
+
|
132
|
+
optional :string, :name, 1
|
133
|
+
repeated ::Google::Protobuf::FieldDescriptorProto, :field, 2
|
134
|
+
repeated ::Google::Protobuf::FieldDescriptorProto, :extension, 6
|
135
|
+
repeated ::Google::Protobuf::DescriptorProto, :nested_type, 3
|
136
|
+
repeated ::Google::Protobuf::EnumDescriptorProto, :enum_type, 4
|
137
|
+
repeated ::Google::Protobuf::DescriptorProto::ExtensionRange, :extension_range, 5
|
138
|
+
repeated ::Google::Protobuf::OneofDescriptorProto, :oneof_decl, 8
|
139
|
+
optional ::Google::Protobuf::MessageOptions, :options, 7
|
140
|
+
repeated ::Google::Protobuf::DescriptorProto::ReservedRange, :reserved_range, 9
|
141
|
+
repeated :string, :reserved_name, 10
|
142
|
+
end
|
143
|
+
|
144
|
+
class FieldDescriptorProto
|
145
|
+
optional :string, :name, 1
|
146
|
+
optional :int32, :number, 3
|
147
|
+
optional ::Google::Protobuf::FieldDescriptorProto::Label, :label, 4
|
148
|
+
optional ::Google::Protobuf::FieldDescriptorProto::Type, :type, 5
|
149
|
+
optional :string, :type_name, 6
|
150
|
+
optional :string, :extendee, 2
|
151
|
+
optional :string, :default_value, 7
|
152
|
+
optional :int32, :oneof_index, 9
|
153
|
+
optional :string, :json_name, 10
|
154
|
+
optional ::Google::Protobuf::FieldOptions, :options, 8
|
155
|
+
end
|
156
|
+
|
157
|
+
class OneofDescriptorProto
|
158
|
+
optional :string, :name, 1
|
159
|
+
end
|
160
|
+
|
161
|
+
class EnumDescriptorProto
|
162
|
+
optional :string, :name, 1
|
163
|
+
repeated ::Google::Protobuf::EnumValueDescriptorProto, :value, 2
|
164
|
+
optional ::Google::Protobuf::EnumOptions, :options, 3
|
165
|
+
end
|
166
|
+
|
167
|
+
class EnumValueDescriptorProto
|
168
|
+
optional :string, :name, 1
|
169
|
+
optional :int32, :number, 2
|
170
|
+
optional ::Google::Protobuf::EnumValueOptions, :options, 3
|
171
|
+
end
|
172
|
+
|
173
|
+
class ServiceDescriptorProto
|
174
|
+
optional :string, :name, 1
|
175
|
+
repeated ::Google::Protobuf::MethodDescriptorProto, :method, 2
|
176
|
+
optional ::Google::Protobuf::ServiceOptions, :options, 3
|
177
|
+
end
|
178
|
+
|
179
|
+
class MethodDescriptorProto
|
180
|
+
optional :string, :name, 1
|
181
|
+
optional :string, :input_type, 2
|
182
|
+
optional :string, :output_type, 3
|
183
|
+
optional ::Google::Protobuf::MethodOptions, :options, 4
|
184
|
+
optional :bool, :client_streaming, 5, :default => false
|
185
|
+
optional :bool, :server_streaming, 6, :default => false
|
186
|
+
end
|
187
|
+
|
188
|
+
class FileOptions
|
189
|
+
optional :string, :java_package, 1
|
190
|
+
optional :string, :java_outer_classname, 8
|
191
|
+
optional :bool, :java_multiple_files, 10, :default => false
|
192
|
+
optional :bool, :java_generate_equals_and_hash, 20, :default => false
|
193
|
+
optional :bool, :java_string_check_utf8, 27, :default => false
|
194
|
+
optional ::Google::Protobuf::FileOptions::OptimizeMode, :optimize_for, 9, :default => ::Google::Protobuf::FileOptions::OptimizeMode::SPEED
|
195
|
+
optional :string, :go_package, 11
|
196
|
+
optional :bool, :cc_generic_services, 16, :default => false
|
197
|
+
optional :bool, :java_generic_services, 17, :default => false
|
198
|
+
optional :bool, :py_generic_services, 18, :default => false
|
199
|
+
optional :bool, :deprecated, 23, :default => false
|
200
|
+
optional :bool, :cc_enable_arenas, 31, :default => false
|
201
|
+
optional :string, :objc_class_prefix, 36
|
202
|
+
optional :string, :csharp_namespace, 37
|
203
|
+
optional :bool, :javanano_use_deprecated_package, 38
|
204
|
+
repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
|
205
|
+
# Extension Fields
|
206
|
+
extensions 1000...536870912
|
207
|
+
end
|
208
|
+
|
209
|
+
class MessageOptions
|
210
|
+
optional :bool, :message_set_wire_format, 1, :default => false
|
211
|
+
optional :bool, :no_standard_descriptor_accessor, 2, :default => false
|
212
|
+
optional :bool, :deprecated, 3, :default => false
|
213
|
+
optional :bool, :map_entry, 7
|
214
|
+
repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
|
215
|
+
# Extension Fields
|
216
|
+
extensions 1000...536870912
|
217
|
+
end
|
218
|
+
|
219
|
+
class FieldOptions
|
220
|
+
optional ::Google::Protobuf::FieldOptions::CType, :ctype, 1, :default => ::Google::Protobuf::FieldOptions::CType::STRING
|
221
|
+
optional :bool, :packed, 2
|
222
|
+
optional ::Google::Protobuf::FieldOptions::JSType, :jstype, 6, :default => ::Google::Protobuf::FieldOptions::JSType::JS_NORMAL
|
223
|
+
optional :bool, :lazy, 5, :default => false
|
224
|
+
optional :bool, :deprecated, 3, :default => false
|
225
|
+
optional :bool, :weak, 10, :default => false
|
226
|
+
repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
|
227
|
+
# Extension Fields
|
228
|
+
extensions 1000...536870912
|
229
|
+
end
|
230
|
+
|
231
|
+
class EnumOptions
|
232
|
+
optional :bool, :allow_alias, 2
|
233
|
+
optional :bool, :deprecated, 3, :default => false
|
234
|
+
repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
|
235
|
+
# Extension Fields
|
236
|
+
extensions 1000...536870912
|
237
|
+
end
|
238
|
+
|
239
|
+
class EnumValueOptions
|
240
|
+
optional :bool, :deprecated, 1, :default => false
|
241
|
+
repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
|
242
|
+
# Extension Fields
|
243
|
+
extensions 1000...536870912
|
244
|
+
end
|
245
|
+
|
246
|
+
class ServiceOptions
|
247
|
+
optional :bool, :deprecated, 33, :default => false
|
248
|
+
repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
|
249
|
+
# Extension Fields
|
250
|
+
extensions 1000...536870912
|
251
|
+
end
|
252
|
+
|
253
|
+
class MethodOptions
|
254
|
+
optional :bool, :deprecated, 33, :default => false
|
255
|
+
repeated ::Google::Protobuf::UninterpretedOption, :uninterpreted_option, 999
|
256
|
+
# Extension Fields
|
257
|
+
extensions 1000...536870912
|
258
|
+
end
|
259
|
+
|
260
|
+
class UninterpretedOption
|
261
|
+
class NamePart
|
262
|
+
required :string, :name_part, 1
|
263
|
+
required :bool, :is_extension, 2
|
264
|
+
end
|
265
|
+
|
266
|
+
repeated ::Google::Protobuf::UninterpretedOption::NamePart, :name, 2
|
267
|
+
optional :string, :identifier_value, 3
|
268
|
+
optional :uint64, :positive_int_value, 4
|
269
|
+
optional :int64, :negative_int_value, 5
|
270
|
+
optional :double, :double_value, 6
|
271
|
+
optional :bytes, :string_value, 7
|
272
|
+
optional :string, :aggregate_value, 8
|
273
|
+
end
|
274
|
+
|
275
|
+
class SourceCodeInfo
|
276
|
+
class Location
|
277
|
+
repeated :int32, :path, 1, :packed => true
|
278
|
+
repeated :int32, :span, 2, :packed => true
|
279
|
+
optional :string, :leading_comments, 3
|
280
|
+
optional :string, :trailing_comments, 4
|
281
|
+
repeated :string, :leading_detached_comments, 6
|
282
|
+
end
|
283
|
+
|
284
|
+
repeated ::Google::Protobuf::SourceCodeInfo::Location, :location, 1
|
285
|
+
end
|
286
|
+
|
287
|
+
end
|
288
|
+
|
289
|
+
end
|
290
|
+
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
##
|
4
|
+
# This file is auto-generated. DO NOT EDIT!
|
5
|
+
#
|
6
|
+
require 'protobuf'
|
7
|
+
|
8
|
+
|
9
|
+
##
|
10
|
+
# Imports
|
11
|
+
#
|
12
|
+
require 'telemetry_top.pb'
|
13
|
+
|
14
|
+
|
15
|
+
##
|
16
|
+
# Message Classes
|
17
|
+
#
|
18
|
+
class InlineJflow < ::Protobuf::Message; end
|
19
|
+
class InlineJflowNpuStats < ::Protobuf::Message; end
|
20
|
+
|
21
|
+
|
22
|
+
##
|
23
|
+
# Message Fields
|
24
|
+
#
|
25
|
+
class InlineJflow
|
26
|
+
optional :string, :ipv4_flows_export_format, 2
|
27
|
+
optional :string, :ipv6_flows_export_format, 3
|
28
|
+
optional :string, :vpls_flows_export_format, 4
|
29
|
+
optional :string, :mpls_flows_export_format, 5
|
30
|
+
optional :uint32, :ipv4_route_record_cnt, 6
|
31
|
+
optional :uint32, :ipv6_route_record_cnt, 7
|
32
|
+
optional :uint32, :mpls_route_record_cnt, 8
|
33
|
+
optional :uint32, :autonomous_system_record_cnt, 9
|
34
|
+
optional :uint64, :ipv4_max_flows_count, 10
|
35
|
+
optional :uint64, :ipv6_max_flows_count, 11
|
36
|
+
optional :uint64, :vpls_max_flows_count, 12
|
37
|
+
optional :uint64, :mpls_max_flows_count, 13
|
38
|
+
optional :uint32, :memory_alloc_fail_cnt, 14, :".telemetry_options" => { :is_counter => true }
|
39
|
+
optional :uint32, :ipv4_configured_observation_domain_id, 15
|
40
|
+
optional :uint32, :ipv6_configured_observation_domain_id, 16
|
41
|
+
optional :uint32, :vpls_configured_observation_domain_id, 17
|
42
|
+
optional :uint32, :mpls_configured_observation_domain_id, 18
|
43
|
+
optional :uint32, :last_clear_timestamp, 19
|
44
|
+
optional :bool, :ipv6_extended_attribute, 20
|
45
|
+
optional :bool, :flexible_flow_sizing, 21
|
46
|
+
optional :bool, :use_extended_flow_memory, 22
|
47
|
+
repeated ::InlineJflowNpuStats, :npu_stats, 50
|
48
|
+
end
|
49
|
+
|
50
|
+
class InlineJflowNpuStats
|
51
|
+
required :uint32, :npu_identifier, 1
|
52
|
+
optional :uint64, :ipv4_flow_packets, 51, :".telemetry_options" => { :is_counter => true }
|
53
|
+
optional :uint64, :ipv4_flow_bytes, 52, :".telemetry_options" => { :is_counter => true }
|
54
|
+
optional :uint64, :ipv4_total_flows, 53, :".telemetry_options" => { :is_counter => true }
|
55
|
+
optional :uint64, :ipv4_active_flows, 54, :".telemetry_options" => { :is_counter => true }
|
56
|
+
optional :uint64, :ipv4_flows_exported, 55, :".telemetry_options" => { :is_counter => true }
|
57
|
+
optional :uint64, :ipv4_packets_exported, 56, :".telemetry_options" => { :is_counter => true }
|
58
|
+
optional :uint64, :ipv4_flows_inactive_timed_out, 57, :".telemetry_options" => { :is_counter => true }
|
59
|
+
optional :uint64, :ipv4_flows_active_timed_out, 58, :".telemetry_options" => { :is_counter => true }
|
60
|
+
optional :uint64, :ipv4_flow_create_failure, 59, :".telemetry_options" => { :is_counter => true }
|
61
|
+
optional :uint64, :ipv4_route_lookup_failure, 60, :".telemetry_options" => { :is_counter => true }
|
62
|
+
optional :uint64, :ipv4_autonomous_system_lookup_failure, 61, :".telemetry_options" => { :is_counter => true }
|
63
|
+
optional :uint64, :ipv4_flow_packet_export_failure, 62, :".telemetry_options" => { :is_counter => true }
|
64
|
+
optional :float, :ipv4_flow_table_utilization, 63, :".telemetry_options" => { :is_gauge => true }
|
65
|
+
optional :uint64, :ipv4_flow_insert_count, 64, :".telemetry_options" => { :is_counter => true }
|
66
|
+
optional :uint64, :ipv6_flow_packets, 101, :".telemetry_options" => { :is_counter => true }
|
67
|
+
optional :uint64, :ipv6_flow_bytes, 102, :".telemetry_options" => { :is_counter => true }
|
68
|
+
optional :uint64, :ipv6_total_flows, 103, :".telemetry_options" => { :is_counter => true }
|
69
|
+
optional :uint64, :ipv6_active_flows, 104, :".telemetry_options" => { :is_counter => true }
|
70
|
+
optional :uint64, :ipv6_flows_exported, 105, :".telemetry_options" => { :is_counter => true }
|
71
|
+
optional :uint64, :ipv6_packets_exported, 106, :".telemetry_options" => { :is_counter => true }
|
72
|
+
optional :uint64, :ipv6_flows_inactive_timed_out, 107, :".telemetry_options" => { :is_counter => true }
|
73
|
+
optional :uint64, :ipv6_flows_active_timed_out, 108, :".telemetry_options" => { :is_counter => true }
|
74
|
+
optional :uint64, :ipv6_flow_create_failure, 109, :".telemetry_options" => { :is_counter => true }
|
75
|
+
optional :uint64, :ipv6_route_lookup_failure, 110, :".telemetry_options" => { :is_counter => true }
|
76
|
+
optional :uint64, :ipv6_autonomous_system_lookup_failure, 111, :".telemetry_options" => { :is_counter => true }
|
77
|
+
optional :uint64, :ipv6_flow_packet_export_failure, 112, :".telemetry_options" => { :is_counter => true }
|
78
|
+
optional :float, :ipv6_flow_table_utilization, 113, :".telemetry_options" => { :is_gauge => true }
|
79
|
+
optional :uint64, :ipv6_flow_insert_count, 114, :".telemetry_options" => { :is_counter => true }
|
80
|
+
optional :uint64, :vpls_flow_packets, 151, :".telemetry_options" => { :is_counter => true }
|
81
|
+
optional :uint64, :vpls_flow_bytes, 152, :".telemetry_options" => { :is_counter => true }
|
82
|
+
optional :uint64, :vpls_total_flows, 153, :".telemetry_options" => { :is_counter => true }
|
83
|
+
optional :uint64, :vpls_active_flows, 154, :".telemetry_options" => { :is_counter => true }
|
84
|
+
optional :uint64, :vpls_flows_exported, 155, :".telemetry_options" => { :is_counter => true }
|
85
|
+
optional :uint64, :vpls_packets_exported, 156, :".telemetry_options" => { :is_counter => true }
|
86
|
+
optional :uint64, :vpls_flows_inactive_timed_out, 157, :".telemetry_options" => { :is_counter => true }
|
87
|
+
optional :uint64, :vpls_flows_active_timed_out, 158, :".telemetry_options" => { :is_counter => true }
|
88
|
+
optional :uint64, :vpls_flow_create_failure, 159, :".telemetry_options" => { :is_counter => true }
|
89
|
+
optional :uint64, :vpls_route_lookup_failure, 160, :".telemetry_options" => { :is_counter => true }
|
90
|
+
optional :uint64, :vpls_autonomous_system_lookup_failure, 161, :".telemetry_options" => { :is_counter => true }
|
91
|
+
optional :uint64, :vpls_flow_packet_export_failure, 162, :".telemetry_options" => { :is_counter => true }
|
92
|
+
optional :float, :vpls_flow_table_utilization, 163, :".telemetry_options" => { :is_gauge => true }
|
93
|
+
optional :uint64, :vpls_flow_insert_count, 164, :".telemetry_options" => { :is_counter => true }
|
94
|
+
optional :uint64, :mpls_flow_packets, 201, :".telemetry_options" => { :is_counter => true }
|
95
|
+
optional :uint64, :mpls_flow_bytes, 202, :".telemetry_options" => { :is_counter => true }
|
96
|
+
optional :uint64, :mpls_total_flows, 203, :".telemetry_options" => { :is_counter => true }
|
97
|
+
optional :uint64, :mpls_active_flows, 204, :".telemetry_options" => { :is_counter => true }
|
98
|
+
optional :uint64, :mpls_flows_exported, 205, :".telemetry_options" => { :is_counter => true }
|
99
|
+
optional :uint64, :mpls_packets_exported, 206, :".telemetry_options" => { :is_counter => true }
|
100
|
+
optional :uint64, :mpls_flows_inactive_timed_out, 207, :".telemetry_options" => { :is_counter => true }
|
101
|
+
optional :uint64, :mpls_flows_active_timed_out, 208, :".telemetry_options" => { :is_counter => true }
|
102
|
+
optional :uint64, :mpls_flow_create_failure, 209, :".telemetry_options" => { :is_counter => true }
|
103
|
+
optional :uint64, :mpls_route_lookup_failure, 210, :".telemetry_options" => { :is_counter => true }
|
104
|
+
optional :uint64, :mpls_autonomous_system_lookup_failure, 211, :".telemetry_options" => { :is_counter => true }
|
105
|
+
optional :uint64, :mpls_flow_packet_export_failure, 212, :".telemetry_options" => { :is_counter => true }
|
106
|
+
optional :float, :mpls_flow_table_utilization, 213, :".telemetry_options" => { :is_gauge => true }
|
107
|
+
optional :uint64, :mpls_flow_insert_count, 214, :".telemetry_options" => { :is_counter => true }
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
##
|
112
|
+
# Extended Message Fields
|
113
|
+
#
|
114
|
+
class ::JuniperNetworksSensors < ::Protobuf::Message
|
115
|
+
optional ::InlineJflow, :".inline_jflow_stats_ext", 9, :extension => true
|
116
|
+
end
|
117
|
+
|