trisulrp 3.2.9 → 3.2.26
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 +5 -5
- data/README.rdoc +1 -1
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/trisulrp/protocol.rb +41 -0
- data/lib/trisulrp/trp.pb.rb +199 -1
- data/lib/trisulrp/trp.proto +214 -13
- data/trisulrp.gemspec +28 -28
- metadata +3 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 1eb9ef98c73c9736310f21bd9cdb84c4f6f2409dc4f1c0915aaf86f4d5522dba
|
|
4
|
+
data.tar.gz: e53eccfad2338f817067c392338d501bebd9c66e319e32fb189965f72f5d042b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7a31a36b630e1e1f7a957fed3d3d4f480900f4cdfed69869bbeee628aa9a303c31b3f4f6a1e2740bd0297b6537896a38501a1b9d3a8395e279846f13a9490a51
|
|
7
|
+
data.tar.gz: 9080652d629291fb28f4b313c3f0c6769f1bc0117ca6d0295037e16b992d6bdecc435cd9a95c033b7458d61d8471310da781f33c4f2f79e6891e558916a95037
|
data/README.rdoc
CHANGED
|
@@ -16,7 +16,7 @@ Key Features :
|
|
|
16
16
|
|
|
17
17
|
* TRP Documentation and Tutorials http://trisul.org/docs/trp/index.html
|
|
18
18
|
* Getting started tutorial http://trisul.org/docs/trp/trpgemsteps.html
|
|
19
|
-
* Github repo of sample scripts https://github.com/
|
|
19
|
+
* Github repo of sample scripts https://github.com/trisulnsm/trisul-scripts/trp
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
== Contributing to trisulrp
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.2.
|
|
1
|
+
3.2.26
|
data/lib/trisulrp/protocol.rb
CHANGED
|
@@ -335,6 +335,32 @@ module TrisulRP::Protocol
|
|
|
335
335
|
return tint
|
|
336
336
|
end
|
|
337
337
|
|
|
338
|
+
|
|
339
|
+
# Helper iterate through each time interval in reverse order
|
|
340
|
+
#
|
|
341
|
+
# [endpoint] - the ZMQ endpoint
|
|
342
|
+
#
|
|
343
|
+
# ==== Returns
|
|
344
|
+
# ==== Yields
|
|
345
|
+
# [time_interval, id, total_intervals] A TRP::TimeInterval object which can be attached to any :time_interval field of a TRP request
|
|
346
|
+
#
|
|
347
|
+
#
|
|
348
|
+
def each_time_interval(zmq_endpt)
|
|
349
|
+
|
|
350
|
+
req=mk_request(TRP::Message::Command::TIMESLICES_REQUEST )
|
|
351
|
+
get_response_zmq(zmq_endpt,req) do |resp|
|
|
352
|
+
|
|
353
|
+
slice_id = 0
|
|
354
|
+
total_slices = resp.slices.size
|
|
355
|
+
|
|
356
|
+
resp.slices.reverse_each do | slc |
|
|
357
|
+
yield slc.time_interval, slice_id, total_slices
|
|
358
|
+
slice_id=slice_id+1
|
|
359
|
+
end
|
|
360
|
+
end
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
|
|
338
364
|
# Helper to allow assinging string to KeyT field
|
|
339
365
|
#
|
|
340
366
|
# instead of
|
|
@@ -460,6 +486,9 @@ module TrisulRP::Protocol
|
|
|
460
486
|
when TRP::Message::Command::QUERY_SESSIONS_REQUEST
|
|
461
487
|
fix_TRP_Fields( TRP::QuerySessionsRequest, params)
|
|
462
488
|
req.query_sessions_request = TRP::QuerySessionsRequest.new(params)
|
|
489
|
+
when TRP::Message::Command::AGGREGATE_SESSIONS_REQUEST
|
|
490
|
+
fix_TRP_Fields( TRP::AggregateSessionsRequest, params)
|
|
491
|
+
req.aggregate_sessions_request = TRP::AggregateSessionsRequest.new(params)
|
|
463
492
|
when TRP::Message::Command::GREP_REQUEST
|
|
464
493
|
fix_TRP_Fields( TRP::GrepRequest, params)
|
|
465
494
|
req.grep_request = TRP::GrepRequest.new(params)
|
|
@@ -517,6 +546,12 @@ module TrisulRP::Protocol
|
|
|
517
546
|
when TRP::Message::Command::GRAPH_REQUEST
|
|
518
547
|
fix_TRP_Fields( TRP::GraphRequest, params)
|
|
519
548
|
req.graph_request = TRP::GraphRequest.new(params)
|
|
549
|
+
when TRP::Message::Command::RUNTOOL_REQUEST
|
|
550
|
+
fix_TRP_Fields( TRP::RunToolRequest, params)
|
|
551
|
+
req.run_tool_request = TRP::RunToolRequest.new(params)
|
|
552
|
+
when TRP::Message::Command::TOOL_INFO_REQUEST
|
|
553
|
+
fix_TRP_Fields( TRP::ToolInfoRequest, params)
|
|
554
|
+
req.tool_info_request = TRP::ToolInfoRequest.new(params)
|
|
520
555
|
else
|
|
521
556
|
raise "Unknown TRP command ID"
|
|
522
557
|
end
|
|
@@ -586,6 +621,8 @@ module TrisulRP::Protocol
|
|
|
586
621
|
resp.session_tracker_response
|
|
587
622
|
when TRP::Message::Command::QUERY_SESSIONS_RESPONSE
|
|
588
623
|
resp.query_sessions_response
|
|
624
|
+
when TRP::Message::Command::AGGREGATE_SESSIONS_RESPONSE
|
|
625
|
+
resp.aggregate_sessions_response
|
|
589
626
|
when TRP::Message::Command::GREP_RESPONSE
|
|
590
627
|
resp.grep_response
|
|
591
628
|
when TRP::Message::Command::KEYSPACE_RESPONSE
|
|
@@ -614,6 +651,10 @@ module TrisulRP::Protocol
|
|
|
614
651
|
resp.file_response
|
|
615
652
|
when TRP::Message::Command::GRAPH_RESPONSE
|
|
616
653
|
resp.graph_response
|
|
654
|
+
when TRP::Message::Command::RUNTOOL_RESPONSE
|
|
655
|
+
resp.run_tool_response
|
|
656
|
+
when TRP::Message::Command::TOOL_INFO_RESPONSE
|
|
657
|
+
resp.tool_info_response
|
|
617
658
|
else
|
|
618
659
|
raise "#{resp.trp_command.to_i} Unknown TRP command ID"
|
|
619
660
|
end
|
data/lib/trisulrp/trp.pb.rb
CHANGED
|
@@ -78,7 +78,11 @@ module TRP
|
|
|
78
78
|
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
-
class CounterGroupT < ::Protobuf::Message
|
|
81
|
+
class CounterGroupT < ::Protobuf::Message
|
|
82
|
+
class Crosskey < ::Protobuf::Message; end
|
|
83
|
+
|
|
84
|
+
end
|
|
85
|
+
|
|
82
86
|
class SessionT < ::Protobuf::Message; end
|
|
83
87
|
class AlertT < ::Protobuf::Message; end
|
|
84
88
|
class ResourceT < ::Protobuf::Message; end
|
|
@@ -159,6 +163,15 @@ module TRP
|
|
|
159
163
|
define :SUBSYSTEM_EXIT, 125
|
|
160
164
|
define :GRAPH_REQUEST, 130
|
|
161
165
|
define :GRAPH_RESPONSE, 131
|
|
166
|
+
define :AGGREGATE_SESSIONS_REQUEST, 132
|
|
167
|
+
define :AGGREGATE_SESSIONS_RESPONSE, 133
|
|
168
|
+
define :RUNTOOL_REQUEST, 134
|
|
169
|
+
define :RUNTOOL_RESPONSE, 135
|
|
170
|
+
define :HA_CONTROL_REQUEST, 140
|
|
171
|
+
define :HA_CONTROL_RESPONSE, 141
|
|
172
|
+
define :DOMAIN_PING, 142
|
|
173
|
+
define :TOOL_INFO_REQUEST, 143
|
|
174
|
+
define :TOOL_INFO_RESPONSE, 144
|
|
162
175
|
end
|
|
163
176
|
|
|
164
177
|
end
|
|
@@ -177,6 +190,13 @@ module TRP
|
|
|
177
190
|
class CounterGroupInfoResponse < ::Protobuf::Message; end
|
|
178
191
|
class QuerySessionsRequest < ::Protobuf::Message; end
|
|
179
192
|
class QuerySessionsResponse < ::Protobuf::Message; end
|
|
193
|
+
class AggregateSessionsRequest < ::Protobuf::Message; end
|
|
194
|
+
class AggregateSessionsResponse < ::Protobuf::Message
|
|
195
|
+
class KeyTCount < ::Protobuf::Message; end
|
|
196
|
+
class TagGroup < ::Protobuf::Message; end
|
|
197
|
+
|
|
198
|
+
end
|
|
199
|
+
|
|
180
200
|
class UpdateKeyRequest < ::Protobuf::Message; end
|
|
181
201
|
class SessionTrackerRequest < ::Protobuf::Message; end
|
|
182
202
|
class SessionTrackerResponse < ::Protobuf::Message; end
|
|
@@ -184,6 +204,12 @@ module TRP
|
|
|
184
204
|
class QueryAlertsResponse < ::Protobuf::Message; end
|
|
185
205
|
class QueryResourcesRequest < ::Protobuf::Message; end
|
|
186
206
|
class QueryResourcesResponse < ::Protobuf::Message; end
|
|
207
|
+
class AggregateResourcesRequest < ::Protobuf::Message; end
|
|
208
|
+
class AggregateResourcesResponse < ::Protobuf::Message
|
|
209
|
+
class KeyTCount < ::Protobuf::Message; end
|
|
210
|
+
|
|
211
|
+
end
|
|
212
|
+
|
|
187
213
|
class KeySpaceRequest < ::Protobuf::Message
|
|
188
214
|
class KeySpace < ::Protobuf::Message; end
|
|
189
215
|
|
|
@@ -227,6 +253,18 @@ module TRP
|
|
|
227
253
|
|
|
228
254
|
end
|
|
229
255
|
|
|
256
|
+
class HAControlRequest < ::Protobuf::Message
|
|
257
|
+
class HAOperation < ::Protobuf::Enum
|
|
258
|
+
define :HA_TEST_REACHABILITY, 0
|
|
259
|
+
define :HA_SWITCH_BACKUP, 1
|
|
260
|
+
define :HA_SWITCH_PRIMARY, 2
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
class HAControlResponse < ::Protobuf::Message; end
|
|
266
|
+
class ToolInfoRequest < ::Protobuf::Message; end
|
|
267
|
+
class ToolInfoResponse < ::Protobuf::Message; end
|
|
230
268
|
class NodeConfigRequest < ::Protobuf::Message
|
|
231
269
|
class IntelFeed < ::Protobuf::Message; end
|
|
232
270
|
|
|
@@ -265,6 +303,18 @@ module TRP
|
|
|
265
303
|
class FileResponse < ::Protobuf::Message; end
|
|
266
304
|
class GraphRequest < ::Protobuf::Message; end
|
|
267
305
|
class GraphResponse < ::Protobuf::Message; end
|
|
306
|
+
class RunToolRequest < ::Protobuf::Message
|
|
307
|
+
class NodeTool < ::Protobuf::Enum
|
|
308
|
+
define :PING, 1
|
|
309
|
+
define :DF, 2
|
|
310
|
+
define :GEOQUERY, 3
|
|
311
|
+
define :TOP, 4
|
|
312
|
+
define :BGPQUERY, 5
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
end
|
|
316
|
+
|
|
317
|
+
class RunToolResponse < ::Protobuf::Message; end
|
|
268
318
|
|
|
269
319
|
|
|
270
320
|
##
|
|
@@ -330,15 +380,25 @@ module TRP
|
|
|
330
380
|
optional :string, :description, 4
|
|
331
381
|
optional :int64, :metric, 5
|
|
332
382
|
repeated ::TRP::KeyT::NameValueT, :attributes, 6
|
|
383
|
+
optional :int64, :metric_max, 7
|
|
384
|
+
optional :int64, :metric_min, 8
|
|
385
|
+
optional :int64, :metric_avg, 9
|
|
333
386
|
end
|
|
334
387
|
|
|
335
388
|
class CounterGroupT
|
|
389
|
+
class Crosskey
|
|
390
|
+
required :string, :parentguid, 1
|
|
391
|
+
required :string, :crosskeyguid_1, 2
|
|
392
|
+
optional :string, :crosskeyguid_2, 3
|
|
393
|
+
end
|
|
394
|
+
|
|
336
395
|
required :string, :guid, 1
|
|
337
396
|
required :string, :name, 2
|
|
338
397
|
optional :int64, :bucket_size, 3
|
|
339
398
|
optional ::TRP::TimeInterval, :time_interval, 4
|
|
340
399
|
optional :int64, :topper_bucket_size, 5
|
|
341
400
|
repeated ::TRP::MeterInfo, :meters, 6
|
|
401
|
+
optional ::TRP::CounterGroupT::Crosskey, :crosskey, 7
|
|
342
402
|
end
|
|
343
403
|
|
|
344
404
|
class SessionT
|
|
@@ -491,6 +551,16 @@ module TRP
|
|
|
491
551
|
optional ::TRP::FileResponse, :file_response, 123
|
|
492
552
|
optional ::TRP::GraphRequest, :graph_request, 130
|
|
493
553
|
optional ::TRP::GraphResponse, :graph_response, 131
|
|
554
|
+
optional ::TRP::AggregateSessionsRequest, :aggregate_sessions_request, 140
|
|
555
|
+
optional ::TRP::AggregateSessionsResponse, :aggregate_sessions_response, 141
|
|
556
|
+
optional ::TRP::AggregateResourcesRequest, :aggregate_resources_request, 142
|
|
557
|
+
optional ::TRP::AggregateResourcesResponse, :aggregate_resources_response, 143
|
|
558
|
+
optional ::TRP::RunToolRequest, :run_tool_request, 144
|
|
559
|
+
optional ::TRP::RunToolResponse, :run_tool_response, 145
|
|
560
|
+
optional ::TRP::HAControlRequest, :ha_control_request, 150
|
|
561
|
+
optional ::TRP::HAControlResponse, :ha_control_response, 151
|
|
562
|
+
optional ::TRP::ToolInfoRequest, :tool_info_request, 152
|
|
563
|
+
optional ::TRP::ToolInfoResponse, :tool_info_response, 153
|
|
494
564
|
optional :string, :destination_node, 200
|
|
495
565
|
optional :string, :probe_id, 201
|
|
496
566
|
optional :bool, :run_async, 202
|
|
@@ -506,6 +576,8 @@ module TRP
|
|
|
506
576
|
optional :string, :station_id_request, 2
|
|
507
577
|
optional :string, :message, 3
|
|
508
578
|
optional :int64, :local_timestamp, 4
|
|
579
|
+
optional :string, :local_timestamp_string, 5
|
|
580
|
+
optional :bool, :is_primary, 6
|
|
509
581
|
end
|
|
510
582
|
|
|
511
583
|
class ErrorResponse
|
|
@@ -532,6 +604,9 @@ module TRP
|
|
|
532
604
|
required ::TRP::KeyT, :key, 2
|
|
533
605
|
optional ::TRP::StatsArray, :totals, 3
|
|
534
606
|
repeated ::TRP::StatsArray, :stats, 4
|
|
607
|
+
optional ::TRP::StatsArray, :maximums, 5
|
|
608
|
+
optional ::TRP::StatsArray, :minimums, 6
|
|
609
|
+
optional ::TRP::StatsArray, :samples, 8
|
|
535
610
|
end
|
|
536
611
|
|
|
537
612
|
class CounterGroupTopperRequest
|
|
@@ -542,6 +617,8 @@ module TRP
|
|
|
542
617
|
optional ::TRP::Timestamp, :time_instant, 6
|
|
543
618
|
optional :int64, :flags, 7
|
|
544
619
|
optional :bool, :resolve_keys, 8, :default => true
|
|
620
|
+
optional :string, :key_filter, 9
|
|
621
|
+
optional :string, :inverse_key_filter, 10
|
|
545
622
|
end
|
|
546
623
|
|
|
547
624
|
class CounterGroupTopperResponse
|
|
@@ -600,6 +677,7 @@ module TRP
|
|
|
600
677
|
optional :bool, :resolve_keys, 21, :default => true
|
|
601
678
|
optional :string, :outputpath, 22
|
|
602
679
|
repeated :string, :idlist, 23
|
|
680
|
+
optional ::TRP::KeyT, :any_nf_ifindex, 24
|
|
603
681
|
end
|
|
604
682
|
|
|
605
683
|
class QuerySessionsResponse
|
|
@@ -608,9 +686,66 @@ module TRP
|
|
|
608
686
|
optional :string, :outputpath, 4
|
|
609
687
|
end
|
|
610
688
|
|
|
689
|
+
class AggregateSessionsRequest
|
|
690
|
+
optional :string, :session_group, 2, :default => "{99A78737-4B41-4387-8F31-8077DB917336}"
|
|
691
|
+
optional ::TRP::TimeInterval, :time_interval, 3
|
|
692
|
+
optional ::TRP::KeyT, :source_ip, 5
|
|
693
|
+
optional ::TRP::KeyT, :source_port, 6
|
|
694
|
+
optional ::TRP::KeyT, :dest_ip, 7
|
|
695
|
+
optional ::TRP::KeyT, :dest_port, 8
|
|
696
|
+
optional ::TRP::KeyT, :any_ip, 9
|
|
697
|
+
optional ::TRP::KeyT, :any_port, 10
|
|
698
|
+
repeated ::TRP::KeyT, :ip_pair, 11
|
|
699
|
+
optional ::TRP::KeyT, :protocol, 12
|
|
700
|
+
optional :string, :flowtag, 13
|
|
701
|
+
optional ::TRP::KeyT, :nf_routerid, 14
|
|
702
|
+
optional ::TRP::KeyT, :nf_ifindex_in, 15
|
|
703
|
+
optional ::TRP::KeyT, :nf_ifindex_out, 16
|
|
704
|
+
optional :string, :subnet_24, 17
|
|
705
|
+
optional :string, :subnet_16, 18
|
|
706
|
+
optional :int64, :aggregate_topcount, 19, :default => 100
|
|
707
|
+
repeated :string, :group_by_fields, 20
|
|
708
|
+
optional ::TRP::KeyT, :any_nf_ifindex, 21
|
|
709
|
+
end
|
|
710
|
+
|
|
711
|
+
class AggregateSessionsResponse
|
|
712
|
+
class KeyTCount
|
|
713
|
+
required ::TRP::KeyT, :key, 1
|
|
714
|
+
required :int64, :count, 2
|
|
715
|
+
required :int64, :metric, 3
|
|
716
|
+
end
|
|
717
|
+
|
|
718
|
+
class TagGroup
|
|
719
|
+
required :string, :group_name, 1
|
|
720
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :tag_metrics, 2
|
|
721
|
+
end
|
|
722
|
+
|
|
723
|
+
required :string, :session_group, 2
|
|
724
|
+
optional ::TRP::TimeInterval, :time_interval, 3
|
|
725
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :source_ip, 5
|
|
726
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :source_port, 6
|
|
727
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :dest_ip, 7
|
|
728
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :dest_port, 8
|
|
729
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :any_ip, 9
|
|
730
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :any_port, 10
|
|
731
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :ip_pair, 11
|
|
732
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :protocol, 12
|
|
733
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :flowtag, 13
|
|
734
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :nf_routerid, 14
|
|
735
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :nf_ifindex_in, 15
|
|
736
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :nf_ifindex_out, 16
|
|
737
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :subnet_24, 17
|
|
738
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :internal_port, 18
|
|
739
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :internal_ip, 19
|
|
740
|
+
repeated ::TRP::AggregateSessionsResponse::KeyTCount, :external_ip, 20
|
|
741
|
+
repeated ::TRP::AggregateSessionsResponse::TagGroup, :tag_group, 21
|
|
742
|
+
end
|
|
743
|
+
|
|
611
744
|
class UpdateKeyRequest
|
|
612
745
|
required :string, :counter_group, 2
|
|
613
746
|
repeated ::TRP::KeyT, :keys, 4
|
|
747
|
+
optional :bool, :remove_all_attributes, 5
|
|
748
|
+
repeated :string, :remove_attributes, 6
|
|
614
749
|
end
|
|
615
750
|
|
|
616
751
|
class SessionTrackerRequest
|
|
@@ -684,6 +819,25 @@ module TRP
|
|
|
684
819
|
optional :int64, :approx_count, 4
|
|
685
820
|
end
|
|
686
821
|
|
|
822
|
+
class AggregateResourcesRequest
|
|
823
|
+
required ::TRP::QueryResourcesRequest, :query, 1
|
|
824
|
+
optional :int64, :aggregate_topcount, 2, :default => 100
|
|
825
|
+
end
|
|
826
|
+
|
|
827
|
+
class AggregateResourcesResponse
|
|
828
|
+
class KeyTCount
|
|
829
|
+
required ::TRP::KeyT, :key, 1
|
|
830
|
+
required :int64, :count, 2
|
|
831
|
+
end
|
|
832
|
+
|
|
833
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :source_ip, 5
|
|
834
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :source_port, 6
|
|
835
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :destination_ip, 7
|
|
836
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :destination_port, 8
|
|
837
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :uri, 9
|
|
838
|
+
repeated ::TRP::AggregateResourcesResponse::KeyTCount, :userlabel, 10
|
|
839
|
+
end
|
|
840
|
+
|
|
687
841
|
class KeySpaceRequest
|
|
688
842
|
class KeySpace
|
|
689
843
|
required ::TRP::KeyT, :from_key, 1
|
|
@@ -709,6 +863,8 @@ module TRP
|
|
|
709
863
|
optional :int64, :meter, 3, :default => 0
|
|
710
864
|
optional :int64, :maxitems, 4, :default => 100
|
|
711
865
|
optional ::TRP::TimeInterval, :time_interval, 5
|
|
866
|
+
optional :string, :key_filter, 6
|
|
867
|
+
optional :string, :inverse_key_filter, 7
|
|
712
868
|
end
|
|
713
869
|
|
|
714
870
|
class TopperTrendResponse
|
|
@@ -824,6 +980,7 @@ module TRP
|
|
|
824
980
|
optional :string, :extra_info, 4
|
|
825
981
|
optional ::TRP::Timestamp, :register_time, 5
|
|
826
982
|
optional ::TRP::Timestamp, :heartbeat_time, 6
|
|
983
|
+
optional :bool, :is_primary, 7, :default => true
|
|
827
984
|
end
|
|
828
985
|
|
|
829
986
|
required ::TRP::DomainOperation, :cmd, 1
|
|
@@ -833,12 +990,39 @@ module TRP
|
|
|
833
990
|
optional :bool, :need_reconnect, 5, :default => false
|
|
834
991
|
end
|
|
835
992
|
|
|
993
|
+
class HAControlRequest
|
|
994
|
+
required ::TRP::HAControlRequest::HAOperation, :cmd, 1
|
|
995
|
+
optional :string, :station_id, 2
|
|
996
|
+
optional :string, :params, 3
|
|
997
|
+
end
|
|
998
|
+
|
|
999
|
+
class HAControlResponse
|
|
1000
|
+
optional :bool, :control_success, 1
|
|
1001
|
+
optional :string, :station_id, 2
|
|
1002
|
+
optional :string, :status_message, 3
|
|
1003
|
+
optional :bool, :primary_reachable, 4
|
|
1004
|
+
optional :bool, :backup_reachable, 5
|
|
1005
|
+
end
|
|
1006
|
+
|
|
1007
|
+
class ToolInfoRequest
|
|
1008
|
+
optional :string, :context_name, 1
|
|
1009
|
+
optional :string, :tool_name, 2
|
|
1010
|
+
repeated :string, :tool_info_requested, 3
|
|
1011
|
+
end
|
|
1012
|
+
|
|
1013
|
+
class ToolInfoResponse
|
|
1014
|
+
repeated ::TRP::NameValue, :tool_info, 1
|
|
1015
|
+
end
|
|
1016
|
+
|
|
836
1017
|
class NodeConfigRequest
|
|
837
1018
|
class IntelFeed
|
|
838
1019
|
required :string, :guid, 1
|
|
839
1020
|
optional :string, :name, 2
|
|
840
1021
|
optional :string, :download_rules, 3
|
|
841
1022
|
repeated :string, :uri, 4
|
|
1023
|
+
repeated :string, :usernodes, 5
|
|
1024
|
+
optional :int64, :sub_feed_id, 6, :default => -1
|
|
1025
|
+
optional :bool, :restore_mode, 7, :default => false
|
|
842
1026
|
end
|
|
843
1027
|
|
|
844
1028
|
optional :string, :message, 1
|
|
@@ -846,6 +1030,7 @@ module TRP
|
|
|
846
1030
|
optional ::TRP::NodeConfigRequest::IntelFeed, :process_new_feed, 3
|
|
847
1031
|
optional :bool, :get_all_nodes, 4, :default => true
|
|
848
1032
|
repeated ::TRP::NameValue, :query_config, 5
|
|
1033
|
+
optional ::TRP::NodeConfigRequest::IntelFeed, :remove_feed, 6
|
|
849
1034
|
end
|
|
850
1035
|
|
|
851
1036
|
class NodeConfigResponse
|
|
@@ -871,6 +1056,7 @@ module TRP
|
|
|
871
1056
|
class ContextInfoRequest
|
|
872
1057
|
optional :string, :context_name, 1
|
|
873
1058
|
optional :bool, :get_size_on_disk, 2, :default => false
|
|
1059
|
+
optional :string, :tool_name, 3
|
|
874
1060
|
end
|
|
875
1061
|
|
|
876
1062
|
class ContextInfoResponse
|
|
@@ -1048,5 +1234,17 @@ module TRP
|
|
|
1048
1234
|
repeated ::TRP::EdgeGraphT, :graphs, 3
|
|
1049
1235
|
end
|
|
1050
1236
|
|
|
1237
|
+
class RunToolRequest
|
|
1238
|
+
required :string, :context_name, 1
|
|
1239
|
+
required ::TRP::RunToolRequest::NodeTool, :tool, 2
|
|
1240
|
+
optional :string, :tool_input, 3
|
|
1241
|
+
optional :string, :tool_input_file_data, 4
|
|
1242
|
+
end
|
|
1243
|
+
|
|
1244
|
+
class RunToolResponse
|
|
1245
|
+
required :string, :context_name, 1
|
|
1246
|
+
optional :string, :tool_output, 2
|
|
1247
|
+
end
|
|
1248
|
+
|
|
1051
1249
|
end
|
|
1052
1250
|
|
data/lib/trisulrp/trp.proto
CHANGED
|
@@ -107,6 +107,9 @@ message KeyT {
|
|
|
107
107
|
required string attr_value=2;
|
|
108
108
|
}
|
|
109
109
|
repeated NameValueT attributes=6; /// New: Attributes are NVP for keys
|
|
110
|
+
optional int64 metric_max=7; /// optional : max observed value for metric in context
|
|
111
|
+
optional int64 metric_min=8; /// optional : max observed value for metric
|
|
112
|
+
optional int64 metric_avg=9; /// optional : max observed value for metric
|
|
110
113
|
}
|
|
111
114
|
|
|
112
115
|
|
|
@@ -119,6 +122,14 @@ message CounterGroupT {
|
|
|
119
122
|
optional TimeInterval time_interval=4; /// total time interval available in DB
|
|
120
123
|
optional int64 topper_bucket_size=5; /// topper bucketsize (streaming analytics window)
|
|
121
124
|
repeated MeterInfo meters=6; /// array of meter information (m0, m1, .. mn)
|
|
125
|
+
|
|
126
|
+
message Crosskey {
|
|
127
|
+
required string parentguid=1; /// parent GUID of ckey counter group
|
|
128
|
+
required string crosskeyguid_1=2; /// crosskey 1 guid - required
|
|
129
|
+
optional string crosskeyguid_2=3; /// crosskey 2 guid - optional
|
|
130
|
+
}
|
|
131
|
+
optional Crosskey crosskey=7; /// for cross key counter group
|
|
132
|
+
|
|
122
133
|
}
|
|
123
134
|
|
|
124
135
|
/// SessionT : an IP flow
|
|
@@ -340,6 +351,16 @@ message Message {
|
|
|
340
351
|
SUBSYSTEM_EXIT=125;
|
|
341
352
|
GRAPH_REQUEST=130;
|
|
342
353
|
GRAPH_RESPONSE=131;
|
|
354
|
+
AGGREGATE_SESSIONS_REQUEST=132;
|
|
355
|
+
AGGREGATE_SESSIONS_RESPONSE=133;
|
|
356
|
+
RUNTOOL_REQUEST=134;
|
|
357
|
+
RUNTOOL_RESPONSE=135;
|
|
358
|
+
HA_CONTROL_REQUEST=140;
|
|
359
|
+
HA_CONTROL_RESPONSE=141;
|
|
360
|
+
DOMAIN_PING=142;
|
|
361
|
+
TOOL_INFO_REQUEST=143;
|
|
362
|
+
TOOL_INFO_RESPONSE=144;
|
|
363
|
+
|
|
343
364
|
}
|
|
344
365
|
|
|
345
366
|
required Command trp_command=1;
|
|
@@ -403,6 +424,16 @@ message Message {
|
|
|
403
424
|
optional FileResponse file_response=123;
|
|
404
425
|
optional GraphRequest graph_request=130;
|
|
405
426
|
optional GraphResponse graph_response=131;
|
|
427
|
+
optional AggregateSessionsRequest aggregate_sessions_request=140;
|
|
428
|
+
optional AggregateSessionsResponse aggregate_sessions_response=141;
|
|
429
|
+
optional AggregateResourcesRequest aggregate_resources_request=142;
|
|
430
|
+
optional AggregateResourcesResponse aggregate_resources_response=143;
|
|
431
|
+
optional RunToolRequest run_tool_request=144;
|
|
432
|
+
optional RunToolResponse run_tool_response=145;
|
|
433
|
+
optional HAControlRequest ha_control_request=150;
|
|
434
|
+
optional HAControlResponse ha_control_response=151;
|
|
435
|
+
optional ToolInfoRequest tool_info_request=152;
|
|
436
|
+
optional ToolInfoResponse tool_info_response=153;
|
|
406
437
|
optional string destination_node=200; // todo move 2nd
|
|
407
438
|
optional string probe_id=201; // todo move 3rd
|
|
408
439
|
optional bool run_async=202; /// if run_async = true, then you will immediately get a AsynResponse with a token you can poll
|
|
@@ -429,6 +460,8 @@ message HelloResponse{
|
|
|
429
460
|
optional string station_id_request=2; /// station id found in the request
|
|
430
461
|
optional string message=3; /// message found in the request
|
|
431
462
|
optional int64 local_timestamp=4; /// local timestamp at server, used to detect drifts
|
|
463
|
+
optional string local_timestamp_string=5; /// on server with time zone, use this
|
|
464
|
+
optional bool is_primary=6; /// is this a primary or HA node
|
|
432
465
|
}
|
|
433
466
|
|
|
434
467
|
/// ErrorResponse
|
|
@@ -463,6 +496,9 @@ message CounterItemResponse{
|
|
|
463
496
|
required KeyT key=2; /// key : filled up with readable,label automatically
|
|
464
497
|
optional StatsArray totals=3; /// if volumes_only = 1 in request, this contains totals for each metric
|
|
465
498
|
repeated StatsArray stats=4; /// time series stats - can use to draw charts etc
|
|
499
|
+
optional StatsArray maximums=5; /// if volumes_only = 1 this contains MAX(..)
|
|
500
|
+
optional StatsArray minimums=6; /// if volumes_only = 1 this contains MIN(..)
|
|
501
|
+
optional StatsArray samples=8; /// if volumes_only = 1 this contains SAMPLES(..)
|
|
466
502
|
}
|
|
467
503
|
|
|
468
504
|
|
|
@@ -475,6 +511,8 @@ message CounterGroupTopperRequest{
|
|
|
475
511
|
optional Timestamp time_instant=6; ///
|
|
476
512
|
optional int64 flags=7;
|
|
477
513
|
optional bool resolve_keys=8 [default=true]; /// retrieve labels as set in the response for each key
|
|
514
|
+
optional string key_filter=9; /// only get keys with this pattern and SYS:GROUP
|
|
515
|
+
optional string inverse_key_filter=10; /// only get keys without this pattern NOT
|
|
478
516
|
}
|
|
479
517
|
|
|
480
518
|
/// CounterGroupTopperResponse
|
|
@@ -529,7 +567,7 @@ message QuerySessionsRequest {
|
|
|
529
567
|
optional KeyT dest_ip=7;
|
|
530
568
|
optional KeyT dest_port=8;
|
|
531
569
|
optional KeyT any_ip=9; /// source or dest match
|
|
532
|
-
optional KeyT any_port=10;
|
|
570
|
+
optional KeyT any_port=10; /// source or dest match
|
|
533
571
|
repeated KeyT ip_pair=11; /// array of 2 ips
|
|
534
572
|
optional KeyT protocol=12;
|
|
535
573
|
optional string flowtag=13; /// string flow tagger text
|
|
@@ -543,6 +581,7 @@ message QuerySessionsRequest {
|
|
|
543
581
|
optional bool resolve_keys=21[default=true];
|
|
544
582
|
optional string outputpath=22; /// write results to a file (CSV) on trisul-hub (for very large dumps)
|
|
545
583
|
repeated string idlist=23; /// array of flow ids , usually from SessionTracker response
|
|
584
|
+
optional KeyT any_nf_ifindex=24; /// composite query for both ifindex
|
|
546
585
|
}
|
|
547
586
|
|
|
548
587
|
|
|
@@ -554,11 +593,76 @@ message QuerySessionsResponse {
|
|
|
554
593
|
optional string outputpath=4; /// if 'outputpath' set in request, the sessions are here (in CSV format)
|
|
555
594
|
}
|
|
556
595
|
|
|
596
|
+
|
|
597
|
+
/// AggregateSessions - count star
|
|
598
|
+
/// query flow and then count the numbers
|
|
599
|
+
/// by default aggregate on ALL fields
|
|
600
|
+
message AggregateSessionsRequest {
|
|
601
|
+
optional string session_group=2[default="{99A78737-4B41-4387-8F31-8077DB917336}"];
|
|
602
|
+
optional TimeInterval time_interval=3;
|
|
603
|
+
optional KeyT source_ip=5;
|
|
604
|
+
optional KeyT source_port=6;
|
|
605
|
+
optional KeyT dest_ip=7;
|
|
606
|
+
optional KeyT dest_port=8;
|
|
607
|
+
optional KeyT any_ip=9; /// source or dest match
|
|
608
|
+
optional KeyT any_port=10; /// source or dest match
|
|
609
|
+
repeated KeyT ip_pair=11; /// array of 2 ips
|
|
610
|
+
optional KeyT protocol=12;
|
|
611
|
+
optional string flowtag=13; /// string flow tagger text
|
|
612
|
+
optional KeyT nf_routerid=14;
|
|
613
|
+
optional KeyT nf_ifindex_in=15;
|
|
614
|
+
optional KeyT nf_ifindex_out=16;
|
|
615
|
+
optional string subnet_24=17; /// ip /24 subnet matching
|
|
616
|
+
optional string subnet_16=18; /// ip /16 subnet
|
|
617
|
+
optional int64 aggregate_topcount=19[default=100]; /// number of count-star per field
|
|
618
|
+
repeated string group_by_fields=20; /// list of field names
|
|
619
|
+
optional KeyT any_nf_ifindex=21; /// matches either gen2 or gen3
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
/// AggregateSessionsResponse
|
|
623
|
+
/// contains counts of each key
|
|
624
|
+
message AggregateSessionsResponse {
|
|
625
|
+
|
|
626
|
+
message KeyTCount {
|
|
627
|
+
required KeyT key=1; /// aggregate key
|
|
628
|
+
required int64 count=2; /// number of matching flows
|
|
629
|
+
required int64 metric=3; /// aggregated metrics, eg total bytes
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
message TagGroup {
|
|
633
|
+
required string group_name=1;
|
|
634
|
+
repeated KeyTCount tag_metrics=2;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
required string session_group=2;
|
|
638
|
+
optional TimeInterval time_interval=3;
|
|
639
|
+
repeated KeyTCount source_ip=5; /// top IPs
|
|
640
|
+
repeated KeyTCount source_port=6; /// top ports
|
|
641
|
+
repeated KeyTCount dest_ip=7; /// dest IPs
|
|
642
|
+
repeated KeyTCount dest_port=8; /// dest ports
|
|
643
|
+
repeated KeyTCount any_ip=9; /// source or dest match
|
|
644
|
+
repeated KeyTCount any_port=10; /// source or dest match
|
|
645
|
+
repeated KeyTCount ip_pair=11; /// array of 2 ips
|
|
646
|
+
repeated KeyTCount protocol=12; /// protocols
|
|
647
|
+
repeated KeyTCount flowtag=13; /// string flow tagger text
|
|
648
|
+
repeated KeyTCount nf_routerid=14;
|
|
649
|
+
repeated KeyTCount nf_ifindex_in=15;
|
|
650
|
+
repeated KeyTCount nf_ifindex_out=16;
|
|
651
|
+
repeated KeyTCount subnet_24=17; /// ip /24 subnet matching
|
|
652
|
+
repeated KeyTCount internal_port=18; /// internal IP ports
|
|
653
|
+
repeated KeyTCount internal_ip=19; /// internal IPs
|
|
654
|
+
repeated KeyTCount external_ip=20; /// external IPs
|
|
655
|
+
repeated TagGroup tag_group=21; /// tag groups
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
|
|
557
659
|
/// UpdatekeysRequest
|
|
558
660
|
/// Response = OKResponse or ErrorResponse
|
|
559
661
|
message UpdateKeyRequest{
|
|
560
662
|
required string counter_group=2;
|
|
561
|
-
repeated KeyT keys=4;
|
|
663
|
+
repeated KeyT keys=4; /// key : if you set both key and label, the DB label will be updated
|
|
664
|
+
optional bool remove_all_attributes=5; /// remove all key attributes from keys
|
|
665
|
+
repeated string remove_attributes=6; /// remove these attributes only from keys
|
|
562
666
|
}
|
|
563
667
|
|
|
564
668
|
/// SessionTrackerRequest - query session trackers
|
|
@@ -619,6 +723,7 @@ message QueryAlertsResponse {
|
|
|
619
723
|
|
|
620
724
|
|
|
621
725
|
/// QueryResourcesRequest - resource queries
|
|
726
|
+
/// DNS, HTTP,
|
|
622
727
|
message QueryResourcesRequest {
|
|
623
728
|
required string resource_group=2;
|
|
624
729
|
optional TimeInterval time_interval=3;
|
|
@@ -648,6 +753,30 @@ message QueryResourcesResponse {
|
|
|
648
753
|
}
|
|
649
754
|
|
|
650
755
|
|
|
756
|
+
/// AggregatedResourceRequest - resource queries
|
|
757
|
+
/// DNS, HTTP,
|
|
758
|
+
message AggregateResourcesRequest {
|
|
759
|
+
required QueryResourcesRequest query=1;
|
|
760
|
+
optional int64 aggregate_topcount=2[default=100]; /// number of count-star per field
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
/// AggregateResourcesResponse
|
|
764
|
+
/// various counters
|
|
765
|
+
message AggregateResourcesResponse {
|
|
766
|
+
|
|
767
|
+
message KeyTCount {
|
|
768
|
+
required KeyT key=1;
|
|
769
|
+
required int64 count=2;
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
repeated KeyTCount source_ip=5;
|
|
773
|
+
repeated KeyTCount source_port=6;
|
|
774
|
+
repeated KeyTCount destination_ip=7;
|
|
775
|
+
repeated KeyTCount destination_port=8;
|
|
776
|
+
repeated KeyTCount uri=9; /// group by URI
|
|
777
|
+
repeated KeyTCount userlabel=10; /// group by Pattern
|
|
778
|
+
}
|
|
779
|
+
|
|
651
780
|
|
|
652
781
|
/// KeySpaceRequest - search hits in Key Space
|
|
653
782
|
/// for example you can search the key space 10.0.0.0 to 11.0.0.0 to get all IP
|
|
@@ -681,6 +810,8 @@ message TopperTrendRequest {
|
|
|
681
810
|
optional int64 meter=3 [default=0];
|
|
682
811
|
optional int64 maxitems=4 [default=100];
|
|
683
812
|
optional TimeInterval time_interval=5;
|
|
813
|
+
optional string key_filter=6; /// only get keys with this pattern and SYS:GROUP
|
|
814
|
+
optional string inverse_key_filter=7; /// only get keys without this pattern NOT
|
|
684
815
|
}
|
|
685
816
|
|
|
686
817
|
/// TopperTrendResponse
|
|
@@ -747,9 +878,16 @@ message QueryFTSResponse {
|
|
|
747
878
|
/// get the METERS METASLICE info
|
|
748
879
|
/// .. response = TimeSlicesResponse
|
|
749
880
|
message TimeSlicesRequest {
|
|
750
|
-
optional bool get_disk_usage=1[default=false];
|
|
751
|
-
|
|
752
|
-
optional bool
|
|
881
|
+
optional bool get_disk_usage=1[default=false]; /// get disk usage per SLICE
|
|
882
|
+
|
|
883
|
+
optional bool get_all_engines=2[default=false]; /// by default (set to false) we only get instance-0
|
|
884
|
+
/// because are interested in iterating over
|
|
885
|
+
/// the time interval rather then each slice
|
|
886
|
+
/// inside the time interval. set this to true
|
|
887
|
+
/// if you want each slice to be reported
|
|
888
|
+
|
|
889
|
+
optional bool get_total_window=3[default=false]; /// just get the total time window in the
|
|
890
|
+
/// trisul database
|
|
753
891
|
}
|
|
754
892
|
|
|
755
893
|
/// .. response = TimeSlicesResponse
|
|
@@ -849,6 +987,7 @@ message DomainResponse {
|
|
|
849
987
|
optional string extra_info=4;
|
|
850
988
|
optional Timestamp register_time=5;
|
|
851
989
|
optional Timestamp heartbeat_time=6;
|
|
990
|
+
optional bool is_primary=7[default=true]; /// primary or backup HA mode
|
|
852
991
|
|
|
853
992
|
}
|
|
854
993
|
|
|
@@ -859,22 +998,62 @@ message DomainResponse {
|
|
|
859
998
|
optional bool need_reconnect=5[default=false];
|
|
860
999
|
}
|
|
861
1000
|
|
|
1001
|
+
/// messages to HAControl
|
|
1002
|
+
message HAControlRequest {
|
|
1003
|
+
enum HAOperation
|
|
1004
|
+
{
|
|
1005
|
+
HA_TEST_REACHABILITY=0; /// test if primary or backup is reachable (test the other side)
|
|
1006
|
+
HA_SWITCH_BACKUP=1; /// switch all nodes to backup HA
|
|
1007
|
+
HA_SWITCH_PRIMARY=2; /// switch to primary HA
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
|
|
1011
|
+
required HAOperation cmd=1;
|
|
1012
|
+
optional string station_id=2;
|
|
1013
|
+
optional string params=3;
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
message HAControlResponse {
|
|
1017
|
+
optional bool control_success=1;
|
|
1018
|
+
optional string station_id=2;
|
|
1019
|
+
optional string status_message=3;
|
|
1020
|
+
optional bool primary_reachable=4;
|
|
1021
|
+
optional bool backup_reachable=5;
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
/// tool info
|
|
1025
|
+
/// general purpose probe information gathering tool
|
|
1026
|
+
/// use cases : get BGP route receiver peer status
|
|
1027
|
+
message ToolInfoRequest {
|
|
1028
|
+
optional string context_name=1;
|
|
1029
|
+
optional string tool_name=2;
|
|
1030
|
+
repeated string tool_info_requested=3; /// array of information elements requested
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
message ToolInfoResponse {
|
|
1034
|
+
repeated NameValue tool_info=1; /// info elements Name=Value
|
|
1035
|
+
}
|
|
1036
|
+
|
|
862
1037
|
|
|
863
1038
|
message NodeConfigRequest {
|
|
864
1039
|
optional string message=1;
|
|
865
1040
|
|
|
866
1041
|
message IntelFeed {
|
|
867
|
-
required string guid=1;
|
|
868
|
-
optional string name=2;
|
|
869
|
-
optional string download_rules=3;
|
|
870
|
-
repeated string uri=4;
|
|
1042
|
+
required string guid=1; /// identifying feed group (eg Geo, Badfellas)
|
|
1043
|
+
optional string name=2; /// feed name (eg badfellas)
|
|
1044
|
+
optional string download_rules=3; /// xml file with feed update instructions
|
|
1045
|
+
repeated string uri=4; /// individual files in config//.. for FileRequest download
|
|
1046
|
+
repeated string usernodes=5; /// user requesting the feed, the probe0, probe1, etc
|
|
1047
|
+
optional int64 sub_feed_id=6[default=-1];/// sub feed ID, when a feed consists of several sub-feeds
|
|
1048
|
+
optional bool restore_mode=7[default=false]; /// restore mode will backup and restore, used with add,remove
|
|
1049
|
+
|
|
871
1050
|
}
|
|
872
1051
|
|
|
873
1052
|
optional IntelFeed add_feed=2;
|
|
874
1053
|
optional IntelFeed process_new_feed=3;
|
|
875
1054
|
optional bool get_all_nodes=4[default=true];
|
|
876
1055
|
repeated NameValue query_config=5;
|
|
877
|
-
|
|
1056
|
+
optional IntelFeed remove_feed=6;
|
|
878
1057
|
}
|
|
879
1058
|
|
|
880
1059
|
message NodeConfigResponse {
|
|
@@ -905,8 +1084,9 @@ message ContextCreateRequest {
|
|
|
905
1084
|
/// ContextInfo : one or all contexts
|
|
906
1085
|
/// use is_init to prime with config
|
|
907
1086
|
message ContextInfoRequest {
|
|
908
|
-
optional string context_name=1;
|
|
1087
|
+
optional string context_name=1; /// if not set all context get in
|
|
909
1088
|
optional bool get_size_on_disk=2[default=false]; /// get size on disk (expensive)
|
|
1089
|
+
optional string tool_name=3; /// get status of this tool, freeform bgp, suricata, snort, udpsink etc..
|
|
910
1090
|
}
|
|
911
1091
|
|
|
912
1092
|
message ContextInfoResponse {
|
|
@@ -916,11 +1096,11 @@ message ContextInfoResponse {
|
|
|
916
1096
|
{
|
|
917
1097
|
required string context_name=1;
|
|
918
1098
|
required bool is_initialized=2;
|
|
919
|
-
required bool is_running=3;
|
|
1099
|
+
required bool is_running=3; /// trisul processes runs
|
|
920
1100
|
optional int64 size_on_disk=4;
|
|
921
1101
|
optional TimeInterval time_interval=5;
|
|
922
1102
|
optional bool is_clean=6;
|
|
923
|
-
optional string extrainfo=7;
|
|
1103
|
+
optional string extrainfo=7; /// freeform text output when tool is specified , can be long string
|
|
924
1104
|
repeated TimeInterval run_history=8;
|
|
925
1105
|
optional string profile=9;
|
|
926
1106
|
optional string runmode=10;
|
|
@@ -1137,3 +1317,24 @@ message GraphResponse {
|
|
|
1137
1317
|
/// repeated because returned in time chunks
|
|
1138
1318
|
}
|
|
1139
1319
|
|
|
1320
|
+
/// RunToolRequest : run set of named tools
|
|
1321
|
+
message RunToolRequest {
|
|
1322
|
+
required string context_name=1; /// if not set all context get in
|
|
1323
|
+
enum NodeTool {
|
|
1324
|
+
PING=1;
|
|
1325
|
+
DF=2;
|
|
1326
|
+
GEOQUERY=3;
|
|
1327
|
+
TOP=4;
|
|
1328
|
+
BGPQUERY=5;
|
|
1329
|
+
}
|
|
1330
|
+
required NodeTool tool=2; /// which of these tools you want to run on node
|
|
1331
|
+
optional string tool_input=3; /// input
|
|
1332
|
+
optional string tool_input_file_data=4;/// data that goes into a tool input file
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1335
|
+
/// RunToolResponse : ouput
|
|
1336
|
+
message RunToolResponse {
|
|
1337
|
+
required string context_name=1; /// if not set all context get in
|
|
1338
|
+
optional string tool_output=2; /// cmd lines
|
|
1339
|
+
}
|
|
1340
|
+
|
data/trisulrp.gemspec
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: trisulrp 3.2.
|
|
5
|
+
# stub: trisulrp 3.2.26 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
|
-
s.name = "trisulrp"
|
|
9
|
-
s.version = "3.2.
|
|
8
|
+
s.name = "trisulrp".freeze
|
|
9
|
+
s.version = "3.2.26"
|
|
10
10
|
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
|
-
s.require_paths = ["lib"]
|
|
13
|
-
s.authors = ["vivek"]
|
|
14
|
-
s.date = "
|
|
15
|
-
s.description = "This gem deals about the trisul remote protocol"
|
|
16
|
-
s.email = "vivek_rajagopal@yahoo.com"
|
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
|
+
s.require_paths = ["lib".freeze]
|
|
13
|
+
s.authors = ["vivek".freeze]
|
|
14
|
+
s.date = "2021-04-07"
|
|
15
|
+
s.description = "This gem deals about the trisul remote protocol".freeze
|
|
16
|
+
s.email = "vivek_rajagopal@yahoo.com".freeze
|
|
17
17
|
s.extra_rdoc_files = [
|
|
18
18
|
"LICENSE.txt",
|
|
19
19
|
"README.rdoc"
|
|
@@ -47,33 +47,33 @@ Gem::Specification.new do |s|
|
|
|
47
47
|
"test/test_trisulrp.rb",
|
|
48
48
|
"trisulrp.gemspec"
|
|
49
49
|
]
|
|
50
|
-
s.homepage = "http://github.com/vivekrajan/trisulrp"
|
|
51
|
-
s.licenses = ["MIT"]
|
|
52
|
-
s.rubygems_version = "
|
|
53
|
-
s.summary = "trisul trp"
|
|
50
|
+
s.homepage = "http://github.com/vivekrajan/trisulrp".freeze
|
|
51
|
+
s.licenses = ["MIT".freeze]
|
|
52
|
+
s.rubygems_version = "3.0.3".freeze
|
|
53
|
+
s.summary = "trisul trp".freeze
|
|
54
54
|
|
|
55
55
|
if s.respond_to? :specification_version then
|
|
56
56
|
s.specification_version = 4
|
|
57
57
|
|
|
58
58
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
59
|
-
s.add_runtime_dependency(%q<protobuf
|
|
60
|
-
s.add_development_dependency(%q<shoulda
|
|
61
|
-
s.add_development_dependency(%q<bundler
|
|
62
|
-
s.add_development_dependency(%q<juwelier
|
|
63
|
-
s.add_development_dependency(%q<simplecov
|
|
59
|
+
s.add_runtime_dependency(%q<protobuf>.freeze, [">= 0"])
|
|
60
|
+
s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
|
|
61
|
+
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
|
|
62
|
+
s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
|
|
63
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
64
64
|
else
|
|
65
|
-
s.add_dependency(%q<protobuf
|
|
66
|
-
s.add_dependency(%q<shoulda
|
|
67
|
-
s.add_dependency(%q<bundler
|
|
68
|
-
s.add_dependency(%q<juwelier
|
|
69
|
-
s.add_dependency(%q<simplecov
|
|
65
|
+
s.add_dependency(%q<protobuf>.freeze, [">= 0"])
|
|
66
|
+
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
|
|
67
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
|
68
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
|
69
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
70
70
|
end
|
|
71
71
|
else
|
|
72
|
-
s.add_dependency(%q<protobuf
|
|
73
|
-
s.add_dependency(%q<shoulda
|
|
74
|
-
s.add_dependency(%q<bundler
|
|
75
|
-
s.add_dependency(%q<juwelier
|
|
76
|
-
s.add_dependency(%q<simplecov
|
|
72
|
+
s.add_dependency(%q<protobuf>.freeze, [">= 0"])
|
|
73
|
+
s.add_dependency(%q<shoulda>.freeze, [">= 0"])
|
|
74
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
|
75
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
|
76
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
77
77
|
end
|
|
78
78
|
end
|
|
79
79
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: trisulrp
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.2.
|
|
4
|
+
version: 3.2.26
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- vivek
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-04-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: protobuf
|
|
@@ -134,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
134
134
|
- !ruby/object:Gem::Version
|
|
135
135
|
version: '0'
|
|
136
136
|
requirements: []
|
|
137
|
-
|
|
138
|
-
rubygems_version: 2.5.1
|
|
137
|
+
rubygems_version: 3.0.3
|
|
139
138
|
signing_key:
|
|
140
139
|
specification_version: 4
|
|
141
140
|
summary: trisul trp
|