-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathCHANGES
executable file
·1268 lines (1074 loc) · 50.6 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
===============================================================================
genDevConfig change log
Notes on the historical section trainling the new releases
Historical section for previous versions of genDevConfig/genRtrConfig, 2.x.
The historical format which included a combined changelog/credit/features
has been split up to use the standard CREDITS, CHANGES format and the detailed
changelog is handled by the sourceforge cvs cricket.sourceforge.net for version
2.x and github xkilian/genDevConfig for 3.x series.
===============================================================================
Date format: Gregorian Little Endian, starting with Day [DD/MM/YYYY]
# TODO FOR FUTURE RELEASES
#
# Move other generic tests to external module
# Permit regex-mappings and direct mappings. All others are unsupported.
# Parameters read from INI formatted file at runtime instead of command-line parameters
2016/2017/2018
# Version 3_0_9 - Current master branch - unreleased
# - New plugin PaloAlto Firewalls
# - New plugin Peavey NioN hardware
# - New plugin Spectracom Securesync NTP Server
# - New plugin Datadomain NAS/Backup server
# - Major change to interface naming output to make them sortable as text. Ex. interface-name 1/1/9 will be converted to interface-name_01_01_09. The assumption is that a switch will never have mode than 99 interfaces, modules or chassis.
# - Added operstatus and admin status to cisco device specific interfaces
# - Added new option --triggerifstatus to add up/check critical trigger to interfaces
# - Fix: Logic bug in --gigonly
# - Added alias to Shinken config output
# - CiscoIOS plugin fix power supply and fan detection. Add support for Catalyst 6K Sup 2t54
# - Geist rsmini - support new hardware
# - Reworked option --ports "keyword, list" to select what interfaces to collect based on keywords. Now works with any switch type interface description or interface name!
# - Added new option --portsuplinks "keyword,list" to collect interfaces with standard cycle and full triggers based on key word and set all other interfaces as
# collected interfaces with a 5 minute cycle and no triggers.
# - AlcatelAOS Detect and add to info SFP type
# - AlcatelAOS fix for putting shinken config "use" statement in custom_interface detection, this should have been handled in the main script not in a module.
# - Removed all code related to chassis/interface detection to create hierarchical output. This is not supported anyway with Shinken.
# - Minor debug output formatting in various plugins
2016
# Version 3_0_8
# - New plugin for Alcatel OXE Call server nodes
# - New plugin for Alcatel Vxworks based L2 switches
# - New plugin for Alcatel Linux based L2/L3 switches
# - New plugin for Tripplite powerbar NET module
# - New plugin for Geist rsmini
# - If hostgroups are empty do not write to configuration files (fails on Shinken 2.x config check)
# - If parents are empty do not write to configuration files (fails on Shinken 2.x config check)
# - By default usebulk
# - Minor update to OSPF plugin
# - Bug fix for SNMP_Session get use in plugins where returned value was not cast into an array
# - Triggergroup handling is now functional
2013
# Version 3_0_7
# - Updated Nortel/Avaya plugin
# - Updated Accedian plugin
# - New plugin for OSPF area spf runs
# - New plugin for number of routes in routing table
# - Defined triggers (thresholds) for OSPF, number of routes, Nortel/Avaya metrics and various interfaces
# - Saner handling of service_descriptions for Shinken so that names are unique but any
# user input descriptions show up in the description not the service name.
# - Nortel/Avaya ES-470 type switches, only apply thresholds on the gigabit uplinks and not the 10/100 ports
# - Updated all Defaults files: Removed duplicate keys (oups), normalized OID naming
# - Performance testing with Shinken and the SnmpBooster module
# - Introduce noconcurrency option for devices that cannot deal with multiple concurrent SNMP requests
# - Introduce pollertag option to force certain checks on a specific poller(s)
# - New SNMP Host template with variables for concurrency maxoidreuqests and usebulk
13/11/2012
# Version 3_0_6
# - Updated nortel/avaya ERS plugin with better power supply descriptions
# - New command-line argument for setting the business impact, acts globally on all services
# All informational variables added with -i are also added globally to all services
# - Updated command-line help
13/11/2012
# Version 3_0_5
# - Always collect chassisstats, disregard chassiscollect option. active_check_enabled dos not
# work correctly in Shinken, it collects the data, but then discards it because the active_check is disabled
# instead of just skipping the check.
04/11/2012
# Version 3_0_4
# - Corrected duplicates in Defaults.cisco that did not pass ConfigObj strict checking
# - Renamed Default files to make sure the base Default files is treated first
# This is due to ConfigObj module which needs to load data in order to be able to apply
# inheritance.
# - Renamed Defaults.unified to Defaults_base.ini
# - Renamed Defaults.pluginname to Defaults_plugin_pluginname.ini
28/10/2012
# Version 3_0_3
# - Automatic service dependencies to chassis service for all plugins
# - Updated Defaults file for all plugins
# - Converted map(x) to map(rule,x) for all plugins
# - Removed incompatible maps and other features so all plugins can be supported
# - SnmpBooster now supports reading in a directory of ini or a single file
12/10/2012
# Version 3_0_2
#
# - Automatic service dependencies to chassis service
# - Created a unified config.ini file for Shinken SnmpBooster
# This is temporary until SnmpBooster supports reading from multiple ini files
# - Only Nortel/Avaya devices and generic SNMP devices are supported(See TODO)
31/08/2012
# Version 3_0_2 to 3_0_6
#
# - shinken host and service template renamed template.cfg
# - updated docs to make people copy to shinken/etc/packs/network/SnmpBooster to
# make it more consistent with how things are managed in Shinken.
# - Cleanup duplicate keys in base Defaults
# - Updates to all Nortel templates
# - Bug fixes to various Defaults files
# - Add RFC1253 Number of OSPF runs
# - Add RFC1253 number of OSPF routes
# - Add STP invalid community requests
31/08/2012
# Version 3_0_1
#
# Script is now dedicated to sending Shinken compatible formatted output.
#
# - Outputs Nagios variable formatted configuration files based on device name
# All plugins and main script updated to output new configuration syntax.
# - Removed monitorType processing
# - Introduce TRIGGER dictionnary, are refered to by TRIGGERGROUP templates.
# TRIGGERGROUP are referenced by the Shinken services.
# - Introduce DSTEMPLATE, which reference DS templates from the Shinken
# SNMP poller. Replaces targetTypes
# - Modified Defaults files to INI format for use with Shinken SNMP poller.
# INI format is based on Python configObj library.
# - Modified NortelPassport plugin to actually do something useful. Good
# for ERS-1600, ERS-8xxx, ES-470, ERS-4xxx
# - Introduce new options -ctemplate, -htemplate to apply templates
# to a host or chassis.
# - TRIGGER templates with simpler and more powerful syntax
09/01/2012
# Version 3_0_0
#
# Major project direction change
#
# First version of genDevConfig as a standalone profile generator.
# It currently outputs configuration profiles for use with the Cricket network
# monitoring system.
#
# This is intended as a proof of concept for making it compatible with
# other types of configuration profile formats.
#
# - Integrated Cricket log.pm into the genDevConfig package
# - Integrated Cricket snmpUtils.pm into the genDevConfig package
# - Changed calls to snmpUtils to genConfig::snmpUtils
# - Updated INSTALL file to reflect change of direction
# - Removed all calls to the Cricket database
# - Updated base directories to expect installation in $genDevConfig
# instead of $Cricket
# - Moved code for 3.x series to github instead of sourceforge: xkilian/genDevConfig
# - Converted date format in the current file for versions prior to 1.5 to : Gregorian Little Endian
# starting with Day.
23/05/2007
# Version 2_0_0beta14a
#
# Minor bug fix
#
# - Typo fixes in genDevConfig, CiscoIOS.pm and Sensatronic.pm
27/01/2007
# Version 2_0_0beta14
#
# Major new features
#
# - New CSS1100 cricket plugin
# - New Sensatronics EM1 cricket plugin
# - Support for DS1 serial interface statistics
11/05/2005
# Version 2_0_0beta12
#
# Major new features
#
# - Now uses GetOpts::Long module for args processing.
# Much more robust options matching.
# - --nospeedcheck option added
# - Support for greater than gig interfaces
# - Supports multiple plugin matches for a given device
# - Brand new Foundry plugin based on CHIRP ServerIron plugin
# - FIX: NortelAccelar plugin now recognizes devices correctly.
# - Defaults have been cleaned up commented and split by vendor.
# It should now be much, much easier to understand what is going on!
# - Many, many, many internal changes.
05/05/2005
# Version 2_0_0beta11
#
# Major new features
#
# - added --nomtucheck and nospeedcheck for sanity checking overrides.
# - Cleaned up Debug and Info output to be more readable.
# - various internal changes, see cvs commit info.
# Version 2_0_0beta10
#
# NOTICE! Compatibility with previous version of genDevConfig and genRtrConfig
# has been maintained. Please refrain from using beta9.
#
# Please update all plugins, libraries, defaults and main script. This
# is a major release.
#
# Major new features
#
# - new option: -o, --ouputdir Provide the output dir for target being created
# - added dot3stat support check for extended mib stats. (Andrew cutler)
# - modified back-end for --monitors. Will now use cricket config tree
# monitorType's as definitions for monitor-thresholds. This feature
# requires the monitorType patch to HandleTarget in sourceforge.
# - added support for non-unicast packets as a command-line option --nucast
# This will create targets with non-unicast stats if requested. Note that
# activating this for existing targets will break collection. As two new
# ds's are required to support this.
# - updated all modules to support the NUcast packet support
# - Deprecated --access and --core options, they will come back under a new
# form. As they influenced monitor thresholds for identical targetTypes.
# - Changed Defaults, removed all access and core interface targetTypes.
# - Bits and pieces all over the place. ;-)
18/02/2005 - Integrated by Francois Mikus
# Version 2_0_0beta9 !WARNING! DEPRECATED RELEASE DO NOT USE
#
# WARNING! genDevConfig targets are not compatible
# with existing targets.
#
# WARNING! You will need to recreate/delete your INTERFACE targets. All others
# target types are OK. Repeat, ONLY INTERFACE TARGETS need to be recreated.
#
# Modified Defaults, Defaults.nortel, all plugins, genDevConfig
# - Modified: standard-interface(-access, -hc, -access-hc)
# - Modified: extended-interface(-access, -hc, -access-hc)
# - Modified: cisco-interface(-access, -hc, -access-hc, -core, -core-hc)
# - Modified: nortel-interface
# The targets have changed. (I omit the ifOut.. to make this readable)
# Added to all : ifInNUcastpkts
# Added to all -hc : ifHCInUcastpkts, ifHCInBroadcastpkts, ifHCInMulticastPkts
# Enabled extended-interface stats based on dot3stats mib.
# Replaced nortel-interface with extended-interface.
# Modified behaviour in genDevConfig and plugins so that --vendorint will
# activate req_vendorint *and* req_extendedint *and* extendedint. In each
# plugin, only one of the two must activated. So the onus is on the plugin
# designers to deactivate extendedint if they use xxxxint(ie. ciscoint,
# juniperint, etc.).
# Modified genDevConfig
# - Deprecated -r, --rtragents, --nounused, -f, --framestats. They
# are replaced with --nortragents, --noframestats and --showunused. Makes it
# so that out fo the box it is running with the recommended options.
18/02/2005 - Integrated by Francois Mikus
# Version 2_0_0beta8
# Modified CiscoIOS
# (sergey eremenko, s.eremenko @ rtcomm-yug . ru )
# - Modified Cisco 1900 catalyst device type to use standard interface
# as it does not support cisco-interface type.
17/02/2005 - Integrated by Francois Mikus
# Version 2_0_0beta7
# Modified Defaults and CiscoIOS
# (Greg Cockburn, gcockburn @ tedis . com . au)
# - Added Cisco 800 router device type
# Modified genDevConfig, CiscoIOS and CatalystOS
# (Terje Bless)
# - Added --modular option for hierarchical output of targets
21/12/2004 - Integrated by Francois Mikus
# Version 2_0_0beta6
# Modified genDevConfig
# (Andrew Cutler, andrewc @ xtra . co . nz)
# - Corrected missing squiggly }
# Modified CiscoIOS.pm
# (Andrew Cutler, andrewc @ xtra . co . nz)
# - Modified handling of IOS sysDescr string.
# - Corrected syntax mistakes
#
20/12/2004 - Integrated by Francois Mikus
# Version 2_0_0beta5
# Modified genDevConfig
# (Andrew Cutler, andrewc @ xtra . co . nz)
# - Add missing ".0" to ipForwDatagrams OID.
# - Set "$opts{collect} = 0" on Packeteer chassis (Stats !available via SNMP).
# - Move handling of difficult ATM and Virtual interfaces to be
# proccessed with the rest. Removed some types that are handled by
# speed and mtu tests. Had to add ATM Interleave Channel and BRI
# Bearer Channel interfaces as having "Channel" in @EXCEPTIONS is
# overriding @DONTCOLLECT (81 & 124).
# - Created a new global $opts variable for having the max and max_octets
# show up in the the target config. $opts{show_max}
# - Exclude VOIP interfaces from having "rrd-max" and "rrd-max-octets" set.
# - Exclude VOIP interfaces from speed and MTU tests.
# - Cleanup to use logging instead of deprecated $moreverbose.
# Modified CiscoIOS.pm
# (Andrew Cutler, andrewc @ xtra . co . nz)
# - Change IOS regex from '^C\d\d\d\d to '^C\d\d\d+ so 800 series
# routers will be collected.
# - Add missing dialCtlPeerCfgOriginateAddress definition.
# - Allow vlan collection on Catalyst 4000 switches with the string
# "Catalyst 4000" in the sysDescr for versions less than 12.2.
# I have several working fine on 12.1.
# - Change primary $opts->{sysDescr} regex from /IOS/ to /IOS\s+\(tm\)/
# or it will always match and the secondary regex will never be tried.
# - QOS fix to ignore multiple occurrences of "class-default" maps
# in a Cisco QOS instance. Occurs because it is included by default
# if a service policy is called in a class map. Cannot actually be disabled.
# The duplicate instances were causing "unable to update rrd" errors.
# - Fixed QoS instances with trailing zeros to get lost due to quoting.
# - Fixed VOIP processing.
# - Corrected additional de-referencing for variables passed in %data hash
# for custom_files sub.
# - Set $peerid = '' in several places to stop previous non-VOIP
# interfaces being put in dialpeer targets file.
# - Remove '$customfile->close() || die "Cannot close $!";' or only the first
# object makes it into the dialpeer targets file and "blessed reference"
# errors are generated.
# Modified NortelAccelar.pm:
# (Andrew Cutler, andrewc @ xtra . co . nz)
# - Fixed various references.
21/05/2004 - Integrated by Francois Mikus
# Version 2_0_0beta4
# Modified Defaults
# (Karl Carsten, ckarl @ mpi-sb . mpg . de)
# - Added a new target-type called extended statistics
# Which will be used when no vendor specific extended statistics
# are available and that extended statistics are required. This
# target-types calls upon MIB-II interface statistics.
# - Categorized the display of generic MIB-II extended
# interface statistics
# Modified genDevConfig
# (Karl Carsten, ckarl @ mpi-sb . mpg . de)
# - Added an exception for insane speeds with Nortel 8xxx passports
# This should eventually be removed and fixed in the nortel.pm
# module itself. This is a hack for now.
# Added Nortel.pm
# (Karl Carsten, ckarl @ mpi-sb . mpg . de)
# - New module for passport 8x0x and accelar based switches
# (Based on the code submitted for genRtrConfig and rewritten for
# the new module format by Francois Mikus.)
# Modified Netscreen.pm
# (Francois Mikus)
# - Fixed a major bug, where the @config variable was not referenced back
# to the main script in the correct format.
# Modified CiscoIOS.pm, JUNOS.pm, Netscreen.pm
# (Francois Mikus)
# - Text references to genRtrConfig were replaced with genDevConfig.
18/05/2004 - Integrated by Francois Mikus
# Version 2_0_0beta3
# Modified genDevConfig
# (Francois Mikus)
# - Modified MIB-II switch traffic stats to be used by all
# network devices that support it. Not just the CiscoIOS devices
# as was previously configured.
# - Removed various bits of code and OIDs that were moved to CiscoIOS
# and CatalystOS modules in previous versions.
# - Various cosmetic changes to the code.
# (cougar @ random . ee)
# - removed Juniper (JUNOS) generic config
# - @EXCEPTIONS handling changed (can use interface names also)
# - collect ATM interface stats
# - skip switch CPU interface
# (Huw Lynch, huw_lynch @ yahoo . com)
# - moved speed and speed_str calculation to after the calls to plugins to
# allow the plugins to successfully override the values in the %speed hash.
# - added ifOperStatus and ifAdminStatus to the list of info passed into
# plugins. Required to decide if an interface with zero speed was
# actually up or not within a plugin. This is a fix for broken snmp
# implentations.
#
# Modified CiscoIOS.pm, Defaults
# (cougar @ random . ee)
# - Added Catalyst 1900 series switches
#
# Added JUNOS.pm, Defaults.junos
# (cougar @ random . ee)
# - Juniper stats: CPU, memory, temperature, interfaces and firewall counters
#
01/04/2004 - Francois Mikus
# Version 2_0_0beta2
#
# Modified genDevConfig
# - Added usev2c checking for querying ifHCInOctets, else it was default to v1.
#
# Modified CiscoIOS.pm
# - Fixed typos
#
# Modified CatalystCatOS.pm
# - Added -hc processing
# - Added custom_interface
# - Added correct memory and cpu mapping
#
# Modified Netscreen.pm
# - Added -hc processing
06/02/2004 - Francois Mikus
# Version 2_0_0beta1
#
# Renamed genRtrConfig to genDevConfig
#
# Modified genDevConfig
# - Fixed customfile processing
# Customfiles can be created and assigned to the opts hash in
# the custom_target function.
# - Added customsdesc and customldesc for custom_interfaces
# - Added processing of the custom*desc in creating the ldesc and sdesc
# - Fixed interface type recognition for EXCEPTIONS
# - Fixed value matching for --sortby, --communityrw options.
# Modified CiscoIOS.pm
# - Added use of customldesc, customsdesc for dialpeers
# - Moved voip dpfile creation from custom_interfaces to custom_targets
# (Thanks to Andrew Cutler for identifying the loop bug for dialpeers.)
06/02/2004 - Francois Mikus
# Version 2_0_0alpha6
#
# Modified genRtrConfig
# - Removed Catalyst processing functions
# - including various changes by Mike Fisher.
# Modified File.pm, Util.pm, SNMP.pm..
# - Major changes by Mike Fisher.
# - Bug fixes.
# Removed PluginUtils
# - Wrapped in Utils.pm
# Modified CiscoIOS.pm
# - Lots of logic and structure changes.
# New/Modified CatalystCatOS.pm
# - Lots of logic and structure changes.
# - Module recreates same logic as was in genRtrConfig
# Modified Netscreen.pm
# - Lots of structure changes.
# New/Modified NetSNMP
# - Added Comments
# - New module by Mike Fisher, used to query
# NetSNMP Unix servers.
07/01/2004 - Francois Mikus
# Version 2_0_0alpha5
#
# Modified genRtrConfig
# - Fixed call to pluginUtils missing genConfig::
# - fixed missing logic handling in Cisco aironet discovery
# Modified File.pm
# - Added subdir to the list of exported functions. Removed by error
# in previous release.
06/01/2004 - Francois Mikus
# Version 2_0_0alpha4
#
# Modified genRtrConfig
# - Integrated new utility modules from Mike Fisher which
# place all common calls to external modules File.pm, Util.pm and SNMP.pm.
# - Replaced all calls to functions that were moved out.
# Modified CiscoIOS.pm
# - Integrated use of utility modules
# Modified Netscreen.pm
# - Integrated use of utility modules
# Modified File.pm
# - Removed open, write, writetarget from exported functions.
06/01/2004 - Francois Mikus
# Version 2_0_0alpha2
#
# Modified genRtrConfig
# - Modified how openfile and subdir are called. Additional arguments.
# - Modified logic to deal with target ldesc and sdesc
# - Moved around some utility functions. (subdir, openfile, fmi, etc)
# - monitorCreation now takes an argument, the filename for the monitor config file.
# - modified logic surrounding target writetarget call after processing
# by local and plugin interface treatment functions.
# - Removed all processing functions and OIDs related to Cisco IOS, Netscreen
# and Foundry devices.
# Modified Netscreen.pm
# - Added variable transfert processing between main module and Netscreen module.
# - Added call to function from main module to get $gInstallRoot path
# - Added use of Common::Log in module
# - And various other changes which I don't really remember.
# Added CiscoIOS.pm
# - This is the first module to be created.
# NOTE: That any modules which are added
# need an associated Default file to be submitted
# so that the Default entries are added to the
# distribution.
# Added Foundry.pm
# - This is the first module to be created.
# NOTE: That any modules which are added
# need an associated Default file to be submitted
# so that the Default entries are added to the
# distribution.
12/12/2003 - Francois Mikus
# Version 2_0_0aplha1
#
# Modified genRtrConfig
# - Activated the plugin options.
# (These are loosely based on the plugin architecture
# used by the pancho project. A great SNMP based
# router/switch configuration backup system.)
#
# Added pluginUtils
# - This script finds and deals with plugins
#
# Added Netscreen.pm
# - This is the first module to be created.
# NOTE: That any modules which are added
# need an associated Default file to be submitted
# so that the Default entries are added to the
# distribution.
12/12/2003 - Francois Mikus
# Version 1_5_44
#
# Modified Defaults
# - Corrected lots of mixed case captions.
# - Added etherlike support, note that this is not used by genRtrConfig.
# - Added OIDs for more explicit QoS counters and descriptions.
# This feature is partially broken due to identical target names
# some platforms. Thanks to ? (I will add this when I find the mail)
# Modified genRtrConfig
# - Standardized the handling of the --vlan option to include
# feature demotion/promotion as it should have been implemented
# first place. Thanks to Kevin Stewart for the heads up.
# - Mixed case description corrections.
# - Slot/Port mapping fix. (Thanks to Kevin Stewart)
# - Modified exceptions list. ('Channel','Tunnel','ge-','fe-','fxp')
# - Added package identifier Common:genRtrConfig to script
14/11/2003 - Francois Mikus
# Version 1_5_43
#
# Modified Defaults
# - Added Device-Traffic pps statistics for forwarded and generated
# traffic in MIB-II cisco devices.
#
# Modified genRtrConfig
# - Added Device-Traffic targets for cisco based network equipment
# This could potentially be added to other devices that support the MIB-II OID.
# - Fixed a bug in the SAA code for devices that use the ftp SAA agents.
# This bug caused an exit on the genRtrConfig creation process leading to
# incomplete configurations.
# - Added global order support for all non-interface statistics
06/11/2003 - Francois Mikus
# Version 1_5_42 (Broken Release: SAA with FTP agents is Broken and exits the script)
#
# Modified Defaults
# - Added definitions for Packeteer Class traffic shaping statistics
# (Thanks to Kevin Stewart) Still have to add Graph definitions though.
#
# Modified genRtrConfig
# - Added Traffic Shaping Class statistics from Packeteer
# (Thanks to Andrew Cutler and Kevin Stewart)
# - Added support for identifying the ACL related to a CCAR rate-limit
# on Cisco routers. (Thanks to Kevin Stewart)
# - Rendered the CCAR target names unique with the ACL name instead of using
# an incrementing counter. (Thanks to Kevin Stewart)
#
05/11/2003 - Francois Mikus
# Version 1_5_41 (Broken Release: SAA with FTP agents is Broken and exits the script)
#
# Modified genRtrConfig
# - Bug fix for IOS routers that use SAA. This is a major bug that would cause
# the script to exit.
# - Minor text corrections and comments.
# - Added support for WS-X5530 CatOS supervisor modules to be recognized as
# IOS layer 3 modules.
04/11/2003 - Francois Mikus
# Version 1_5_40 (Broken Release: SAA is Broken and exits the script)
#
# Modified genRtrConfig
# - Bug fix to support multiple CAR based inbound or outbound traffic shaping
# on the same interface. (thanks to Ed Ravin for pointing it out)
# - Added a more descriptive description of the interface on which CAR
# traffic shaping rules are defined. (rate limit)
# - Added the actual IP address of the destination of the SAA agent
# defined on a router. (Thanks to Terje Bless for that one. I was stumped)
# - Added regex option /regex/i to discount case in exceptions to
# the DONTCOLLECT interface type list. So *someone* will be
# able to filter out his vLANs ;-) (Thanks to Ed Ravin)
# Added this information to the -h option output.
03/11/2003 - Francois Mikus
# Version 1_5_39
#
# Modified Defaults
# - Added definitions for L2 Statistics
#
# Modified genRtrConfig
# - Added support for L2 Catalyst statistics. Not sure if it works though.
03/11/2003 - Francois Mikus
# Version 1_5_38
#
# Modified genRtrConfig
# - Added a global variable opts{chassisinst} to be able to set
# any type of chassis inst mapping appropriate to the device being
# polled.
# - Added reference to map(cpu-stats) to be used with Chassis-PIX
# chassis targets. This should fix the bug with the invalid inst
# mapping with the PIX firewalls.
08/10/2003 - Francois Mikus
# Version 1_5_37
#
# Modified Defaults
# - Added ifHCInOctets/ifHCOutOctets, ifInOctets/ifOutOctets, MIB-II definitions
# to the Defaults file. These come from the root Defaults file.
# - Added graph definitions for them the above from the root Defaults files.
# - Added default datasource definition as DERIVE from the root Defaults file.
# - Added interface mappings from the root Defaults file.
# - Added tempState definition. (From Ann Truxton)
# - Changed tempOutlet reference to the first temperature outlet instance.
# (Thanks to Ole Hansen for his perseverance!)
08/10/2003 - Francois Mikus
# Version 1_5_36
#
# Modified genRtrConfig
# - Bug fix to the bug fix I just did. Syntax error. Doh.
07/10/2003 - Francois Mikus
# Version 1_5_35
#
# Modified genRtrConfig
# - Bug fix for invalid slots numbers for some cisco equipment,
# where value is -1. (Thanks to Florian Hinzmann)
24/09/2003 - Francois Mikus
# Version 1_5_34
#
# Modified Defaults
# - Added support for Netscreen Firewalls, all fixed chassis based products.
#
# Modified genRtrConfig
# - Replaces all commas from target names, this fixes support for SuperStack swicthes from 3COM
# - Added support for Netscreen Firewalls, cpu, memory, attack recognition, # processes
# Attack recognition does not seem to send back data, I am still investigating, so consider
# that to be beta. The processes, cpu, memory and interface work correctly though.
# - Added support for the new C1200 Cisco Access Points (Thanks to Manny Gonzales)
08/08/2003 - Francois Mikus
# Version 1_5_33
#
# Modified Defaults
# - Added Cisco PIX CPU recognition for PIX 6.2 and newer. Not tested against 6.3 yet. (Thanks to Joe Nave)
# - Added Cisco PIX no CPU for PIX 6.1 and older. (Thanks to Joe Nave)
# - Added missing release dates for earlier releases
25/06/2003 - Francois Mikus
# Version 1_5_32
#
# Modified Defaults
# - Added missing definitions for 12K, 7500 VIP CPU Stats
# (Thanks to Russell Heilling for the fixes)
#
# Modified genRtrConfig
# - Fixed redundant declaration of hashes for VIP CPU stats
# - Changed the name of the target-type for VIP CPU stats from cisco-cpu to cisco-vip-cpu
# - Fixed invalid pattern match for recognizing VIP CPU Stats
# (Thanks to Russell Heilling for the fixes)
#
23/06/2003 - Francois Mikus
# Version 1_5_30-31
#
# Modified genRtrConfig
# - Added Nortel Contivity vpn tunnel support. There is a fudge in the selection
# of the tunnel interface speed. It is currently statically assigned. Suggestions are
# welcome. (Thanks to Stephen Muir)
# - Added Cisco 12K, 75xx VIP CPU statistics (Thanks to ???, I can't find the email reference, sorry)
# - Minor display corrections at high debugging modes
# - Minor corrections to the --help information for examples on using --info option.
# - Minor display correction to rate-limit CAR grapher display
#
05/05/2003 - Francois Mikus
# Version 1_5_29
#
# Modified genRtrConfig
# - Added the Cisco Hardware serial numbers and chassis descriptions
# - Fixed instances where a pointer to an Array was returned for a reverse IP lookup
#
# Note: Please be advised that SAA FTP sourceip option is generally broken
# in a lot of IOS versions. A lot of IOS versions are also broken in that
# the FTP agent will run for a while then hang, and the process cannot be reset
# unless you reboot. You need
# to run 12.2.13b or higher. Some versions of 12.1(xx) can successfully
# use the setting but they are pretty rare. ( 12.1(3)T , 12.2(13b), etc.)
# Of course be careful upgrading to new IOS versions, there is always something broken...
#
16/04/2003 - Francois Mikus
# Version 1_5_28
#
# Modified genRtrConfig
# - Removed the refrence to Common::Log::setFormat('complete'); as this is not supported
# yet by the Cricket module Common::Log. ;-)
# - Added support for SAA FTP agents. The Defaults file has to be modified so that the
# graphs display the right information. (Scaling & comments)
#
15/04/2003 - Francois Mikus
# Version 1_5_26-27
#
# Defaults file
# - Now includes the Default file that was missing with version 1_5_23-25
#
# Modified genRtrConfig
# - Fixed mapping for Catalyst Switches portNames.. Finally getting there.
# - Now uses Cricket Log.pm with a default loglevel of 'warn'
# - Removed --verbose and --moreverbose options, replaced by --loglevel <level>
# - Requires a new version of Log.pm (For variable format logging)
# - Removed --ciscoint option (Replaced by --vendorint option)
# - Removed --pagergroup option (Replaced by --info option)
# - Added --info option. This is a generic option used to store
# arbitrary information in the Cricket config-tree
# Usage:
# --info "<key>:<value>" (Quotes are optional)
# Example:
# --info "colour:blue"
#
# target car
# colour = blue
#
03/04/2003 - Francois Mikus
# Version 1_5_23-25
#
# Defaults file
# - Now has support for ifName and mapping for Catalyst CatOS slot/port
#
# Modified genRtrConfig
# - Fixed Cisco Catalyst CatOS Support which was horribly broken..
# It will now collect chassis, and interface statistics
# - Added option map() statement which will be device specific
# currently only Catalyst CatOS devices will use the map(module-name)
# mapping.
# This should permit support of any device which has a single level
# of interface mapping or multiple levels or any other funky way of
# mapping interfaces.
# - Added a totaly arbitrary value called sortby which can be added
# to the config-tree for the device be created. This should be used
# in scripts that extend Crickets functionality.
# - Now supports order directive for all interfaces, so the interfaces
# should now appear in a nice easy to read decreasing order.
# - Fixed an issue with interfaces with 0 speed having the rrd-max set.
# This may cause problems to people using the rrd-max value with a negative
# rrd-min value. I will deal with the problem when it comes up. This should
# be considered a patch. genRtrConfig does not currently support negative
# values for rrd-min, nor does it accept or recognize dynamically the rrd-min.
# It is currently hardcoded at 0. So until we support negative values, there
# is no need to stretch our noodle.
# - Replaced tabs with 4 spaces
# - Removed trailing spaces
#
# Modified the INSTALLATION notes
# - Added more detailed information in sections that were unclear
# - Corrected relations to files within the cricket config-tree
24/02/2002 - Francois Mikus
# Version 1_5_22
#
# Modified genRtrConfig
# - Replaced CiscoCatalyst... OID with portName OID from the Catalyst MIB which contains
# the expected interface description.
# - Added logic to replace the ifDescr for CatOS Catalyst ports to a "portSLOT_PORT" format
# as the interface type is not very useful as a target name
24/02/2002 - Francois Mikus
# Version 1_5_21
#
# Modified genRtrConfig
# - Fixed a typo in the interface processing loop
# - Added even more verbose processing information. Ugly in the code, but good enough
# for now. Have to move to Cricket type error/debug/wrning/info type system in the future.
# More likely for verion 2_x_x
# - Added a new sysDescr string to match against Juniper Routers. This replaces the placeholder
# that was put in at version 1_5_20. Should match different versions of the mXX series routers.
# More sysDescr OID output would be nice though.
24/02/2002 - Francois Mikus
# Version 1_5_20
#
# Modified genRtrConfig
# - Added option -p or --ports to permit slot/port based exclusion lists. If the devices
# Slot/Port mapping is supported, it will be matched against the comma delimited quoted
# list provided by the user.
# - Added background code to support Slot/Port mapping on IOS and CatOS devices.
# - Corrected Kevin Stewart's name in the documentation. doh.
24/02/2002 - Francois Mikus
# Version 1_5_19
#
# Modified genRtrConfig
# - Added option -n or --nodns to disable DNS Instance Address Mapping (Thanks to Kevin Stewart)
# - Added DNS Resolution of router names to IP Adresses for informational purposes
# this information is to be displayed in the web interface and included in the config-tree
# under the chassis target ip => ip
# - Added support for Cisco SAA RTR Agents for HTTP queries. These are automatically collected
# Please note that a new config-tree is required.
# - Fixed instance problem when no unique description is available for an interface.
# Current method was totally useless. It now bases itself on the ifIndex number itself
# to come up with a unique target name. See example with an Altiga VPN concentrator for
# those that have such a device.
# - Added support for Juniper MPLS Statistics (Thanks to Kevin Stewart)
# - Added support for Cisco CAR Shaping Statistics (Thanks to Kevin Stewart)
#
# Modified Defaults Config-Tree
# - Added support for Cisco SAA RTR Agents using HTTP
# - Added support for Juniper MPLS Statistics (Thanks to Kevin Stewart)
# - Added support for Cisco CAR Shaping Statistics (Thanks to Kevin Stewart)
#
# Modified the INSTALLATION notes
# - Corrected some deprecated information for hard coded instances
# - Added more detailed information in sections that were unclear
30/12/2002 - Francois Mikus
# Version 1_5_17-18
#
# Modified genRtrConfig
# - Added logic to avoid empty dialpeer directories (Thanks to Andrew Cutler)
# - Added "order" directive to the chassis target to make sure it will always
# be the first target displayed in the web interface
# - Added logic to automatically determine if ISL and 802.1Q sub-interface
# stats are supported based on IOS version and other vendor versions.
# (Thanks to Andrew Cutler)
# - Included recognition of ISL sub-interfaces in the interface processing
# loop. (Andrew Cutler)
# - Added logic to strip out the .0 sub-interface of an ATM interface,
# as well as Virtual-Templates and Virtual-Access interfaces that are
# not used to carry traffic. (Andrew Cutler)
# - Fine tuned support for ifAlias for IOS versions greater or equal than 11.1
# instead of 11.2. (Andrew Cutler)
# - Modified the vlan processing logic to use the EXCEPTIONS list if --vlans
# is used.
# - Comments here and there..
#
# - Modified how options are stored within genRtrConfig. They are now
# contained in a global hash called %opts. All internal global variables
# will now be stored within this hash. This will also facilitate passing
# by reference options to external modules for device specific processing.
#
# Old way: $framestats
# New way: $opts{framestats}
# From an external module: $opts->{framestats}
#
# - Added a version subroutine version() that displays the genRtrConfig version information.
# - Moved initial snmp contact to the subroutine contact()
# - Consolidated some variable declarations ($file, $router, $snmp..)
# Variables that were declared in the early part of the script.
#
# Note: Always place the variable that will be receiving output from snmpUtil function
# between (). Or else it will store the return value of 0(failure) or 1(success).
15/12/2002 - Francois Mikus
# Version 1_5_16
#
# Modified genRtrConfig
# - Fixed undefined statements when the description is not set.
# (Thanks to Manny Gonzales for identifying this one)
#
15/12/2002 - Francois Mikus
# Version 1_5_15
#
# Modified genRtrConfig
# - Commented the changes I said I put in genRtrConfig_1_5_14. Totally my fault. Doh.
# This the logic for treating the snmpv2c support I touted...
# - Added a bypass for frame-relay sub-interfaces that do not have an mtu set.
# - Added automatic detection of ifAlias *or* ifName for generic devices.
09/12/2002 - Francois Mikus
# Version 1_5_13-14 (snmpv2c support fixed for good and enhanced)
#
# Modified Defaults
# - Added pix connections and memory operational block count
# - Added Foundry specific support for chassis and interfaces *this should be tested*
# (Thanks to John Deatherage)
#
# Modified genRtrConfig
# - Activated interface type 53, virtual interfaces
# exeception is vlans which are only activated if --vlans is specified
# - Added some comments for snmpv2 interface logic
# - Removed the --default-- logic for snmpv2c support
# Which I now remember why I removed, which is *only*
# query interfaces that require snmpv2c, for the rest use v1
# as version 1 will be better supported across the range of products.
# I replaced that logic with the one below..
# - Added a logic test for snmpv2c counter support for interfaces.
# - snmpv2c activation logic is now set to:
# - Global snmpv2c $usev2c variable is non-zero
# - A value is defined in the HC hash
# - A non-zero value for the interface in the hash
# - An interface speed of > 100Mbits
# So if the test is successful, the interface will use a targetType
# support HC counters and it will have an snmp-version '2c' tag in
# the interface definition. Better support across the board and
# more robust. :-)
# (Thanks to Andrew Cutler for good feedback)
#
# This is some of the most advanced snmpv2c detection available
#
# - Added a logic test for Generic Devices to see if they support MIB-II
# ifAlias interface descriptions.