logstash-integration-snmp 4.0.0-java

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.
Files changed (324) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +23 -0
  3. data/CONTRIBUTORS +20 -0
  4. data/Gemfile +11 -0
  5. data/LICENSE +202 -0
  6. data/README.md +89 -0
  7. data/VERSION +1 -0
  8. data/docs/index.asciidoc +202 -0
  9. data/docs/input-snmp.asciidoc +524 -0
  10. data/docs/input-snmptrap.asciidoc +392 -0
  11. data/lib/logstash/inputs/snmp.rb +369 -0
  12. data/lib/logstash/inputs/snmptrap.rb +190 -0
  13. data/lib/logstash/plugin_mixins/snmp/common.rb +197 -0
  14. data/lib/logstash-integration-snmp_jars.rb +6 -0
  15. data/lib/mibs/ietf/ACCOUNTING-CONTROL-MIB.dic +1316 -0
  16. data/lib/mibs/ietf/ADSL-LINE-EXT-MIB.dic +1724 -0
  17. data/lib/mibs/ietf/ADSL-LINE-MIB.dic +7297 -0
  18. data/lib/mibs/ietf/ADSL-TC-MIB.dic +160 -0
  19. data/lib/mibs/ietf/ADSL2-LINE-MIB.dic +8663 -0
  20. data/lib/mibs/ietf/ADSL2-LINE-TC-MIB.dic +1462 -0
  21. data/lib/mibs/ietf/AGENTX-MIB.dic +817 -0
  22. data/lib/mibs/ietf/AGGREGATE-MIB.dic +708 -0
  23. data/lib/mibs/ietf/ALARM-MIB.dic +1734 -0
  24. data/lib/mibs/ietf/APM-MIB.dic +2870 -0
  25. data/lib/mibs/ietf/APPC-MIB.dic +8687 -0
  26. data/lib/mibs/ietf/APPLETALK-MIB.dic +4399 -0
  27. data/lib/mibs/ietf/APPLICATION-MIB.dic +3750 -0
  28. data/lib/mibs/ietf/APPN-DLUR-MIB.dic +972 -0
  29. data/lib/mibs/ietf/APPN-MIB.dic +9364 -0
  30. data/lib/mibs/ietf/APPN-TRAP-MIB.dic +664 -0
  31. data/lib/mibs/ietf/APS-MIB.dic +2430 -0
  32. data/lib/mibs/ietf/ARC-MIB.dic +552 -0
  33. data/lib/mibs/ietf/ATM-ACCOUNTING-INFORMATION-MIB.dic +816 -0
  34. data/lib/mibs/ietf/ATM-MIB.dic +4104 -0
  35. data/lib/mibs/ietf/ATM-TC-MIB.dic +914 -0
  36. data/lib/mibs/ietf/ATM2-MIB.dic +4715 -0
  37. data/lib/mibs/ietf/BFD-STD-MIB.dic +2367 -0
  38. data/lib/mibs/ietf/BFD-TC-STD-MIB.dic +202 -0
  39. data/lib/mibs/ietf/BGP4-MIB.dic +1931 -0
  40. data/lib/mibs/ietf/BLDG-HVAC-MIB.dic +812 -0
  41. data/lib/mibs/ietf/BRIDGE-MIB.dic +2257 -0
  42. data/lib/mibs/ietf/CAPWAP-BASE-MIB.dic +4128 -0
  43. data/lib/mibs/ietf/CAPWAP-DOT11-MIB.dic +482 -0
  44. data/lib/mibs/ietf/CHARACTER-MIB.dic +1140 -0
  45. data/lib/mibs/ietf/CIRCUIT-IF-MIB.dic +493 -0
  46. data/lib/mibs/ietf/CLNS-MIB.dic +1702 -0
  47. data/lib/mibs/ietf/COFFEE-POT-MIB.dic +282 -0
  48. data/lib/mibs/ietf/COPS-CLIENT-MIB.dic +1270 -0
  49. data/lib/mibs/ietf/DECNET-PHIV-MIB.dic +5837 -0
  50. data/lib/mibs/ietf/DIAL-CONTROL-MIB.dic +2139 -0
  51. data/lib/mibs/ietf/DIFFSERV-CONFIG-MIB.dic +378 -0
  52. data/lib/mibs/ietf/DIFFSERV-MIB.dic +5073 -0
  53. data/lib/mibs/ietf/DIRECTORY-SERVER-MIB.dic +1041 -0
  54. data/lib/mibs/ietf/DISMAN-EVENT-MIB.dic +3151 -0
  55. data/lib/mibs/ietf/DISMAN-EXPRESSION-MIB.dic +1716 -0
  56. data/lib/mibs/ietf/DISMAN-NSLOOKUP-MIB.dic +698 -0
  57. data/lib/mibs/ietf/DISMAN-PING-MIB.dic +2635 -0
  58. data/lib/mibs/ietf/DISMAN-SCHEDULE-MIB.dic +1744 -0
  59. data/lib/mibs/ietf/DISMAN-SCRIPT-MIB.dic +2820 -0
  60. data/lib/mibs/ietf/DISMAN-TRACEROUTE-MIB.dic +3239 -0
  61. data/lib/mibs/ietf/DLSW-MIB.dic +5635 -0
  62. data/lib/mibs/ietf/DNS-RESOLVER-MIB.dic +1765 -0
  63. data/lib/mibs/ietf/DNS-SERVER-MIB.dic +1593 -0
  64. data/lib/mibs/ietf/DOCS-BPI-MIB.dic +2634 -0
  65. data/lib/mibs/ietf/DOCS-CABLE-DEVICE-MIB.dic +5042 -0
  66. data/lib/mibs/ietf/DOCS-IETF-BPI2-MIB.dic +5478 -0
  67. data/lib/mibs/ietf/DOCS-IETF-CABLE-DEVICE-NOTIFICATION-MIB.dic +2447 -0
  68. data/lib/mibs/ietf/DOCS-IETF-QOS-MIB.dic +4886 -0
  69. data/lib/mibs/ietf/DOCS-IETF-SUBMGT-MIB.dic +1331 -0
  70. data/lib/mibs/ietf/DOCS-IF-MIB.dic +7980 -0
  71. data/lib/mibs/ietf/DOT12-IF-MIB.dic +1066 -0
  72. data/lib/mibs/ietf/DOT12-RPTR-MIB.dic +2669 -0
  73. data/lib/mibs/ietf/DOT3-EPON-MIB.dic +3297 -0
  74. data/lib/mibs/ietf/DOT3-OAM-MIB.dic +2830 -0
  75. data/lib/mibs/ietf/DS0-MIB.dic +466 -0
  76. data/lib/mibs/ietf/DS0BUNDLE-MIB.dic +468 -0
  77. data/lib/mibs/ietf/DS1-MIB.dic +4890 -0
  78. data/lib/mibs/ietf/DS3-MIB.dic +2719 -0
  79. data/lib/mibs/ietf/DSA-MIB.dic +888 -0
  80. data/lib/mibs/ietf/DSMON-MIB.dic +6177 -0
  81. data/lib/mibs/ietf/DVB-RCS-MIB.dic +5764 -0
  82. data/lib/mibs/ietf/EBN-MIB.dic +1026 -0
  83. data/lib/mibs/ietf/EFM-CU-MIB.dic +4335 -0
  84. data/lib/mibs/ietf/ENTITY-MIB.dic +2235 -0
  85. data/lib/mibs/ietf/ENTITY-SENSOR-MIB.dic +653 -0
  86. data/lib/mibs/ietf/ENTITY-STATE-MIB.dic +457 -0
  87. data/lib/mibs/ietf/ENTITY-STATE-TC-MIB.dic +260 -0
  88. data/lib/mibs/ietf/ETHER-CHIPSET-MIB.dic +787 -0
  89. data/lib/mibs/ietf/EtherLike-MIB.dic +2548 -0
  90. data/lib/mibs/ietf/FC-MGMT-MIB.dic +3465 -0
  91. data/lib/mibs/ietf/FCIP-MGMT-MIB.dic +1596 -0
  92. data/lib/mibs/ietf/FDDI-SMT73-MIB.dic +3378 -0
  93. data/lib/mibs/ietf/FIBRE-CHANNEL-FE-MIB.dic +2504 -0
  94. data/lib/mibs/ietf/FLOAT-TC-MIB.dic +128 -0
  95. data/lib/mibs/ietf/FLOW-METER-MIB.dic +3201 -0
  96. data/lib/mibs/ietf/FORCES-MIB.dic +598 -0
  97. data/lib/mibs/ietf/FR-ATM-PVC-SERVICE-IWF-MIB.dic +1601 -0
  98. data/lib/mibs/ietf/FR-MFR-MIB.dic +1351 -0
  99. data/lib/mibs/ietf/FRAME-RELAY-DTE-MIB.dic +1688 -0
  100. data/lib/mibs/ietf/FRNETSERV-MIB.dic +3940 -0
  101. data/lib/mibs/ietf/FRSLD-MIB.dic +2580 -0
  102. data/lib/mibs/ietf/Finisher-MIB.dic +1416 -0
  103. data/lib/mibs/ietf/GMPLS-LABEL-STD-MIB.dic +965 -0
  104. data/lib/mibs/ietf/GMPLS-LSR-STD-MIB.dic +693 -0
  105. data/lib/mibs/ietf/GMPLS-TC-STD-MIB.dic +180 -0
  106. data/lib/mibs/ietf/GMPLS-TE-STD-MIB.dic +2542 -0
  107. data/lib/mibs/ietf/GSMP-MIB.dic +2468 -0
  108. data/lib/mibs/ietf/HC-ALARM-MIB.dic +1050 -0
  109. data/lib/mibs/ietf/HC-PerfHist-TC-MIB.dic +310 -0
  110. data/lib/mibs/ietf/HC-RMON-MIB.dic +4456 -0
  111. data/lib/mibs/ietf/HDSL2-SHDSL-LINE-MIB.dic +3955 -0
  112. data/lib/mibs/ietf/HOST-RESOURCES-MIB.dic +2453 -0
  113. data/lib/mibs/ietf/HPR-IP-MIB.dic +640 -0
  114. data/lib/mibs/ietf/HPR-MIB.dic +1959 -0
  115. data/lib/mibs/ietf/IANA-ITU-ALARM-TC-MIB.dic +936 -0
  116. data/lib/mibs/ietf/IF-CAP-STACK-MIB.dic +356 -0
  117. data/lib/mibs/ietf/IF-INVERTED-STACK-MIB.dic +220 -0
  118. data/lib/mibs/ietf/IF-MIB.dic +2753 -0
  119. data/lib/mibs/ietf/IFCP-MGMT-MIB.dic +1717 -0
  120. data/lib/mibs/ietf/IGMP-STD-MIB.dic +809 -0
  121. data/lib/mibs/ietf/INET-ADDRESS-MIB.dic +570 -0
  122. data/lib/mibs/ietf/INTEGRATED-SERVICES-GUARANTEED-MIB.dic +319 -0
  123. data/lib/mibs/ietf/INTEGRATED-SERVICES-MIB.dic +1196 -0
  124. data/lib/mibs/ietf/INTERFACETOPN-MIB.dic +1705 -0
  125. data/lib/mibs/ietf/IP-FORWARD-MIB.dic +1853 -0
  126. data/lib/mibs/ietf/IP-MIB.dic +7064 -0
  127. data/lib/mibs/ietf/IPATM-IPMC-MIB.dic +4830 -0
  128. data/lib/mibs/ietf/IPFIX-MIB.dic +2334 -0
  129. data/lib/mibs/ietf/IPFIX-SELECTOR-MIB.dic +215 -0
  130. data/lib/mibs/ietf/IPMCAST-MIB.dic +3390 -0
  131. data/lib/mibs/ietf/IPMROUTE-STD-MIB.dic +1246 -0
  132. data/lib/mibs/ietf/IPOA-MIB.dic +2372 -0
  133. data/lib/mibs/ietf/IPS-AUTH-MIB.dic +1609 -0
  134. data/lib/mibs/ietf/IPSEC-SPD-MIB.dic +3989 -0
  135. data/lib/mibs/ietf/IPV6-FLOW-LABEL-MIB.dic +110 -0
  136. data/lib/mibs/ietf/IPV6-ICMP-MIB.dic +748 -0
  137. data/lib/mibs/ietf/IPV6-MIB.dic +2028 -0
  138. data/lib/mibs/ietf/IPV6-MLD-MIB.dic +659 -0
  139. data/lib/mibs/ietf/IPV6-TCP-MIB.dic +332 -0
  140. data/lib/mibs/ietf/IPV6-UDP-MIB.dic +209 -0
  141. data/lib/mibs/ietf/ISCSI-MIB.dic +4613 -0
  142. data/lib/mibs/ietf/ISDN-MIB.dic +1796 -0
  143. data/lib/mibs/ietf/ISIS-MIB.dic +6215 -0
  144. data/lib/mibs/ietf/ISNS-MIB.dic +6578 -0
  145. data/lib/mibs/ietf/ITU-ALARM-MIB.dic +665 -0
  146. data/lib/mibs/ietf/ITU-ALARM-TC-MIB.dic +137 -0
  147. data/lib/mibs/ietf/Job-Monitoring-MIB.dic +2519 -0
  148. data/lib/mibs/ietf/L2TP-MIB.dic +4050 -0
  149. data/lib/mibs/ietf/LANGTAG-TC-MIB.dic +104 -0
  150. data/lib/mibs/ietf/LISP-MIB.dic +4067 -0
  151. data/lib/mibs/ietf/LMP-MIB.dic +5166 -0
  152. data/lib/mibs/ietf/MALLOC-MIB.dic +2156 -0
  153. data/lib/mibs/ietf/MAU-MIB.dic +2619 -0
  154. data/lib/mibs/ietf/MIDCOM-MIB.dic +2856 -0
  155. data/lib/mibs/ietf/MIOX25-MIB.dic +828 -0
  156. data/lib/mibs/ietf/MIP-MIB.dic +3473 -0
  157. data/lib/mibs/ietf/MOBILEIPV6-MIB.dic +5228 -0
  158. data/lib/mibs/ietf/MPLS-FTN-STD-MIB.dic +1594 -0
  159. data/lib/mibs/ietf/MPLS-L3VPN-STD-MIB.dic +2548 -0
  160. data/lib/mibs/ietf/MPLS-LC-ATM-STD-MIB.dic +491 -0
  161. data/lib/mibs/ietf/MPLS-LC-FR-STD-MIB.dic +395 -0
  162. data/lib/mibs/ietf/MPLS-LDP-ATM-STD-MIB.dic +1019 -0
  163. data/lib/mibs/ietf/MPLS-LDP-FRAME-RELAY-STD-MIB.dic +862 -0
  164. data/lib/mibs/ietf/MPLS-LDP-GENERIC-STD-MIB.dic +445 -0
  165. data/lib/mibs/ietf/MPLS-LDP-STD-MIB.dic +3657 -0
  166. data/lib/mibs/ietf/MPLS-LSR-STD-MIB.dic +3103 -0
  167. data/lib/mibs/ietf/MPLS-TC-STD-MIB.dic +911 -0
  168. data/lib/mibs/ietf/MPLS-TE-STD-MIB.dic +3673 -0
  169. data/lib/mibs/ietf/MSDP-MIB.dic +1893 -0
  170. data/lib/mibs/ietf/MTA-MIB.dic +1898 -0
  171. data/lib/mibs/ietf/Modem-MIB.dic +2054 -0
  172. data/lib/mibs/ietf/NAT-MIB.dic +3866 -0
  173. data/lib/mibs/ietf/NETWORK-SERVICES-MIB.dic +1034 -0
  174. data/lib/mibs/ietf/NHDP-MIB.dic +3005 -0
  175. data/lib/mibs/ietf/NHRP-MIB.dic +3660 -0
  176. data/lib/mibs/ietf/NOTIFICATION-LOG-MIB.dic +1156 -0
  177. data/lib/mibs/ietf/NTPv4-MIB.dic +1535 -0
  178. data/lib/mibs/ietf/OPT-IF-MIB.dic +8972 -0
  179. data/lib/mibs/ietf/OSPF-MIB.dic +5963 -0
  180. data/lib/mibs/ietf/OSPF-TRAP-MIB.dic +1190 -0
  181. data/lib/mibs/ietf/OSPFV3-MIB.dic +5708 -0
  182. data/lib/mibs/ietf/P-BRIDGE-MIB.dic +1499 -0
  183. data/lib/mibs/ietf/PARALLEL-MIB.dic +476 -0
  184. data/lib/mibs/ietf/PIM-MIB.dic +1393 -0
  185. data/lib/mibs/ietf/PIM-STD-MIB.dic +6819 -0
  186. data/lib/mibs/ietf/PINT-MIB.dic +830 -0
  187. data/lib/mibs/ietf/PKTC-IETF-MTA-MIB.dic +3191 -0
  188. data/lib/mibs/ietf/PKTC-IETF-SIG-MIB.dic +4713 -0
  189. data/lib/mibs/ietf/PMIPV6-MIB.dic +3010 -0
  190. data/lib/mibs/ietf/PMIPV6-TC-MIB.dic +293 -0
  191. data/lib/mibs/ietf/POLICY-BASED-MANAGEMENT-MIB.dic +3316 -0
  192. data/lib/mibs/ietf/POWER-ETHERNET-MIB.dic +959 -0
  193. data/lib/mibs/ietf/PPP-BRIDGE-NCP-MIB.dic +587 -0
  194. data/lib/mibs/ietf/PPP-IP-NCP-MIB.dic +269 -0
  195. data/lib/mibs/ietf/PPP-LCP-MIB.dic +994 -0
  196. data/lib/mibs/ietf/PPP-SEC-MIB.dic +411 -0
  197. data/lib/mibs/ietf/PSAMP-MIB.dic +998 -0
  198. data/lib/mibs/ietf/PTOPO-MIB.dic +1135 -0
  199. data/lib/mibs/ietf/PW-ATM-MIB.dic +1642 -0
  200. data/lib/mibs/ietf/PW-CEP-STD-MIB.dic +3661 -0
  201. data/lib/mibs/ietf/PW-STD-MIB.dic +3592 -0
  202. data/lib/mibs/ietf/PW-TC-STD-MIB.dic +437 -0
  203. data/lib/mibs/ietf/PW-TDM-MIB.dic +1896 -0
  204. data/lib/mibs/ietf/PerfHist-TC-MIB.dic +152 -0
  205. data/lib/mibs/ietf/Printer-MIB.dic +6665 -0
  206. data/lib/mibs/ietf/Q-BRIDGE-MIB.dic +3115 -0
  207. data/lib/mibs/ietf/RADIUS-ACC-CLIENT-MIB.dic +991 -0
  208. data/lib/mibs/ietf/RADIUS-ACC-SERVER-MIB.dic +1183 -0
  209. data/lib/mibs/ietf/RADIUS-AUTH-CLIENT-MIB.dic +1073 -0
  210. data/lib/mibs/ietf/RADIUS-AUTH-SERVER-MIB.dic +1251 -0
  211. data/lib/mibs/ietf/RADIUS-DYNAUTH-CLIENT-MIB.dic +1116 -0
  212. data/lib/mibs/ietf/RADIUS-DYNAUTH-SERVER-MIB.dic +1003 -0
  213. data/lib/mibs/ietf/RAQMON-MIB.dic +2695 -0
  214. data/lib/mibs/ietf/RBRIDGE-MIB.dic +2981 -0
  215. data/lib/mibs/ietf/RDBMS-MIB.dic +1935 -0
  216. data/lib/mibs/ietf/RFC1065-SMI.dic +108 -0
  217. data/lib/mibs/ietf/RFC1155-SMI.dic +118 -0
  218. data/lib/mibs/ietf/RFC1158-MIB.dic +2440 -0
  219. data/lib/mibs/ietf/RFC1213-MIB.dic +3434 -0
  220. data/lib/mibs/ietf/RFC1269-MIB.dic +557 -0
  221. data/lib/mibs/ietf/RFC1271-MIB.dic +4135 -0
  222. data/lib/mibs/ietf/RFC1285-MIB.dic +2842 -0
  223. data/lib/mibs/ietf/RFC1316-MIB.dic +800 -0
  224. data/lib/mibs/ietf/RFC1381-MIB.dic +1347 -0
  225. data/lib/mibs/ietf/RFC1382-MIB.dic +3820 -0
  226. data/lib/mibs/ietf/RFC1414-MIB.dic +214 -0
  227. data/lib/mibs/ietf/RIPv2-MIB.dic +773 -0
  228. data/lib/mibs/ietf/RMON-MIB.dic +5551 -0
  229. data/lib/mibs/ietf/RMON2-MIB.dic +8224 -0
  230. data/lib/mibs/ietf/ROHC-MIB.dic +1613 -0
  231. data/lib/mibs/ietf/ROHC-RTP-MIB.dic +859 -0
  232. data/lib/mibs/ietf/ROHC-UNCOMPRESSED-MIB.dic +267 -0
  233. data/lib/mibs/ietf/RPKI-ROUTER-MIB.dic +1363 -0
  234. data/lib/mibs/ietf/RS-232-MIB.dic +1335 -0
  235. data/lib/mibs/ietf/RSERPOOL-MIB.dic +2501 -0
  236. data/lib/mibs/ietf/RSTP-MIB.dic +427 -0
  237. data/lib/mibs/ietf/RSVP-MIB.dic +4135 -0
  238. data/lib/mibs/ietf/RTP-MIB.dic +1376 -0
  239. data/lib/mibs/ietf/SCSI-MIB.dic +3804 -0
  240. data/lib/mibs/ietf/SCTP-MIB.dic +1924 -0
  241. data/lib/mibs/ietf/SFLOW-MIB.dic +568 -0
  242. data/lib/mibs/ietf/SIP-COMMON-MIB.dic +2769 -0
  243. data/lib/mibs/ietf/SIP-MIB.dic +1438 -0
  244. data/lib/mibs/ietf/SIP-SERVER-MIB.dic +1150 -0
  245. data/lib/mibs/ietf/SIP-TC-MIB.dic +257 -0
  246. data/lib/mibs/ietf/SIP-UA-MIB.dic +268 -0
  247. data/lib/mibs/ietf/SLAPM-MIB.dic +4527 -0
  248. data/lib/mibs/ietf/SMON-MIB.dic +1758 -0
  249. data/lib/mibs/ietf/SNA-NAU-MIB.dic +4042 -0
  250. data/lib/mibs/ietf/SNA-SDLC-MIB.dic +3858 -0
  251. data/lib/mibs/ietf/SNMP-COMMUNITY-MIB.dic +715 -0
  252. data/lib/mibs/ietf/SNMP-FRAMEWORK-MIB.dic +709 -0
  253. data/lib/mibs/ietf/SNMP-MPD-MIB.dic +230 -0
  254. data/lib/mibs/ietf/SNMP-NOTIFICATION-MIB.dic +859 -0
  255. data/lib/mibs/ietf/SNMP-PROXY-MIB.dic +414 -0
  256. data/lib/mibs/ietf/SNMP-REPEATER-MIB.dic +4335 -0
  257. data/lib/mibs/ietf/SNMP-SSH-TM-MIB.dic +447 -0
  258. data/lib/mibs/ietf/SNMP-TARGET-MIB.dic +924 -0
  259. data/lib/mibs/ietf/SNMP-TLS-TM-MIB.dic +1449 -0
  260. data/lib/mibs/ietf/SNMP-TSM-MIB.dic +315 -0
  261. data/lib/mibs/ietf/SNMP-USER-BASED-SM-MIB.dic +1164 -0
  262. data/lib/mibs/ietf/SNMP-USM-AES-MIB.dic +95 -0
  263. data/lib/mibs/ietf/SNMP-USM-DH-OBJECTS-MIB.dic +653 -0
  264. data/lib/mibs/ietf/SNMP-VIEW-BASED-ACM-MIB.dic +1202 -0
  265. data/lib/mibs/ietf/SNMPv2-MIB.dic +1382 -0
  266. data/lib/mibs/ietf/SNMPv2-SMI.dic +223 -0
  267. data/lib/mibs/ietf/SNMPv2-USEC-MIB.dic +405 -0
  268. data/lib/mibs/ietf/SONET-MIB.dic +3308 -0
  269. data/lib/mibs/ietf/SOURCE-ROUTING-MIB.dic +542 -0
  270. data/lib/mibs/ietf/SSPM-MIB.dic +1530 -0
  271. data/lib/mibs/ietf/SYSAPPL-MIB.dic +2092 -0
  272. data/lib/mibs/ietf/T11-FC-FABRIC-ADDR-MGR-MIB.dic +1779 -0
  273. data/lib/mibs/ietf/T11-FC-FABRIC-CONFIG-SERVER-MIB.dic +2822 -0
  274. data/lib/mibs/ietf/T11-FC-FABRIC-LOCK-MIB.dic +700 -0
  275. data/lib/mibs/ietf/T11-FC-FSPF-MIB.dic +1889 -0
  276. data/lib/mibs/ietf/T11-FC-NAME-SERVER-MIB.dic +1775 -0
  277. data/lib/mibs/ietf/T11-FC-ROUTE-MIB.dic +655 -0
  278. data/lib/mibs/ietf/T11-FC-RSCN-MIB.dic +1110 -0
  279. data/lib/mibs/ietf/T11-FC-VIRTUAL-FABRIC-MIB.dic +770 -0
  280. data/lib/mibs/ietf/T11-FC-ZONE-SERVER-MIB.dic +3886 -0
  281. data/lib/mibs/ietf/T11-TC-MIB.dic +110 -0
  282. data/lib/mibs/ietf/TCP-ESTATS-MIB.dic +3926 -0
  283. data/lib/mibs/ietf/TCP-MIB.dic +1319 -0
  284. data/lib/mibs/ietf/TCPIPX-MIB.dic +457 -0
  285. data/lib/mibs/ietf/TE-LINK-STD-MIB.dic +2876 -0
  286. data/lib/mibs/ietf/TE-MIB.dic +2924 -0
  287. data/lib/mibs/ietf/TED-MIB.dic +1749 -0
  288. data/lib/mibs/ietf/TIME-AGGREGATE-MIB.dic +550 -0
  289. data/lib/mibs/ietf/TN3270E-MIB.dic +2785 -0
  290. data/lib/mibs/ietf/TN3270E-RT-MIB.dic +1317 -0
  291. data/lib/mibs/ietf/TOKEN-RING-RMON-MIB.dic +2820 -0
  292. data/lib/mibs/ietf/TOKENRING-MIB.dic +1184 -0
  293. data/lib/mibs/ietf/TOKENRING-STATION-SR-MIB.dic +292 -0
  294. data/lib/mibs/ietf/TRANSPORT-ADDRESS-MIB.dic +610 -0
  295. data/lib/mibs/ietf/TRIP-MIB.dic +3159 -0
  296. data/lib/mibs/ietf/TRIP-TC-MIB.dic +241 -0
  297. data/lib/mibs/ietf/TUNNEL-MIB.dic +1095 -0
  298. data/lib/mibs/ietf/UDP-MIB.dic +751 -0
  299. data/lib/mibs/ietf/UDPLITE-MIB.dic +704 -0
  300. data/lib/mibs/ietf/UPS-MIB.dic +3088 -0
  301. data/lib/mibs/ietf/URI-TC-MIB.dic +193 -0
  302. data/lib/mibs/ietf/UUID-TC-MIB.dic +135 -0
  303. data/lib/mibs/ietf/VDSL-LINE-EXT-MCM-MIB.dic +989 -0
  304. data/lib/mibs/ietf/VDSL-LINE-EXT-SCM-MIB.dic +605 -0
  305. data/lib/mibs/ietf/VDSL-LINE-MIB.dic +4518 -0
  306. data/lib/mibs/ietf/VDSL2-LINE-MIB.dic +11029 -0
  307. data/lib/mibs/ietf/VDSL2-LINE-TC-MIB.dic +3152 -0
  308. data/lib/mibs/ietf/VPN-TC-STD-MIB.dic +121 -0
  309. data/lib/mibs/ietf/VRRP-MIB.dic +1163 -0
  310. data/lib/mibs/ietf/VRRPV3-MIB.dic +1403 -0
  311. data/lib/mibs/ietf/WWW-MIB.dic +1810 -0
  312. data/lib/mibs/logstash/iso.dic +18 -0
  313. data/logstash-integration-snmp.gemspec +40 -0
  314. data/spec/fixtures/RFC1213-MIB.dic +3445 -0
  315. data/spec/fixtures/collision.dic +25 -0
  316. data/spec/integration/inputs/snmp_spec.rb +443 -0
  317. data/spec/integration/inputs/snmptrap_spec.rb +383 -0
  318. data/spec/unit/inputs/common_spec.rb +264 -0
  319. data/spec/unit/inputs/snmp_spec.rb +510 -0
  320. data/spec/unit/inputs/snmptrap_spec.rb +141 -0
  321. data/vendor/jar-dependencies/org/logstash/integrations/plugin/4.0.0/plugin-4.0.0.jar +0 -0
  322. data/vendor/jar-dependencies/org/snakeyaml/snakeyaml-engine/2.7/snakeyaml-engine-2.7.jar +0 -0
  323. data/vendor/jar-dependencies/org/snmp4j/snmp4j/3.8.0/snmp4j-3.8.0.jar +0 -0
  324. metadata +523 -0
@@ -0,0 +1,197 @@
1
+ module LogStash
2
+ module PluginMixins
3
+ module Snmp
4
+ # This module provides common configurations and functions to all SNMP plugins
5
+ #
6
+ module Common
7
+ require 'logstash-integration-snmp_jars'
8
+
9
+ java_import 'org.logstash.snmp.RubySnmpOidFieldMapper'
10
+ java_import 'org.logstash.snmp.DefaultOidFieldMapper'
11
+ java_import 'org.logstash.snmp.DottedStringOidFieldMapper'
12
+ java_import 'org.logstash.snmp.mib.MibManager'
13
+
14
+ OID_MAPPING_FORMAT_DEFAULT = 'default'.freeze
15
+ OID_MAPPING_FORMAT_RUBY_SNMP = 'ruby_snmp'.freeze
16
+
17
+ MIB_BASE_PATH = ::File.join(__FILE__, '..', '..', '..', '..', 'mibs')
18
+ MIB_PROVIDED_PATHS = [::File.join(MIB_BASE_PATH, 'logstash'), ::File.join(MIB_BASE_PATH, 'ietf')].map { |path| ::File.expand_path(path) }
19
+
20
+ def self.included(base)
21
+ # Common configuration supported by all SNMP plugins
22
+
23
+ # This plugin provides sets of MIBs publicly available. The full paths to these provided MIBs paths
24
+ # Will be displayed at plugin startup.
25
+ base.config :use_provided_mibs, :validate => :boolean, :default => true
26
+
27
+ # List of paths of MIB (.dic, .yaml) files of dirs. If a dir path is specified, all files with
28
+ # .dic and .yaml extension will be loaded.
29
+ #
30
+ # ATTENTION: a MIB .dic file must be generated using the libsmi library `smidump` command line utility
31
+ # like this for example. Here the `RFC1213-MIB.txt` file is an ASN.1 MIB file.
32
+ #
33
+ # `$ smidump -k -f python RFC1213-MIB.txt > RFC1213-MIB.dic`
34
+ #
35
+ # The OSS libsmi library https://www.ibr.cs.tu-bs.de/projects/libsmi/ is available & installable
36
+ # on most OS.
37
+ #
38
+ # .yaml MIBs files must be on the https://github.com/hallidave/ruby-snmp MIB format.
39
+ base.config :mib_paths, :validate => :array # ["path/to/mib.dic", "path/to/mib/dir"]
40
+
41
+ # Defines the OID field format.
42
+ # `ruby_snmp` produces ruby-snmp-like fields, prefixing the module name, followed
43
+ # by :: and resolved identifiers. E.g:
44
+ # 1.3.6.1.2.1.1.2.0 -> SNMPv2-MIB::sysObjectID.0
45
+ # `default` translates every identifier separating them by dots. E.g:
46
+ # 1.3.6.1.2.1.1.2.0 -> iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0
47
+ # `dotted_string` does not change the OID format and map fields using the dotted string format, E.g:
48
+ # 1.3.6.1.2.1.1.2.0 -> 1.3.6.1.2.1.1.2.0
49
+ base.config :oid_mapping_format, :validate => %w[default ruby_snmp dotted_string], :default => 'default'
50
+
51
+ # Defines if the Logstash event field values, which types are `OID`, are mapped using the configured OID textual representation
52
+ # set on the `oid_mapping_format`.
53
+ base.config :oid_map_field_values, :validate => :boolean, :default => false
54
+
55
+ # Number of OID root digits to ignore in event field name. For example, in a numeric OID
56
+ # like 1.3.6.1.2.1.1.1.0" the first 5 digits could be ignored by setting oid_root_skip => 5
57
+ # which would result in a field name "1.1.1.0". Similarly when a MIB is used an OID such
58
+ # as "1.3.6.1.2.mib-2.system.sysDescr.0" would become "mib-2.system.sysDescr.0"
59
+ base.config :oid_root_skip, :validate => :number, :default => 0
60
+
61
+ # Number of OID tail digits to retain in event field name. For example, in a numeric OID
62
+ # like 1.3.6.1.2.1.1.1.0" the last 2 digits could be retained by setting oid_path_length => 2
63
+ # which would result in a field name "1.0". Similarly, when a MIB is used an OID such as
64
+ # "1.3.6.1.2.mib-2.system.sysDescr.0" would become "sysDescr.0"
65
+ base.config :oid_path_length, :validate => :number, :default => 0
66
+
67
+ # Defines a target field for placing fields.
68
+ # If this setting is omitted, data gets stored at the root (top level) of the event.
69
+ # The target is only relevant while decoding data into a new event.
70
+ base.config :target, :validate => :field_reference
71
+
72
+ # SNMPv3 Credentials
73
+ #
74
+ # A single user can be configured and will be used for all defined SNMPv3 requests.
75
+ # Multiple snmp input declarations will be needed if multiple SNMPv3 users are required.
76
+ # If not using SNMPv3 simply leave options empty.
77
+
78
+ # The SNMPv3 security name or user name
79
+ base.config :security_name, :validate => :string
80
+
81
+ # The SNMPv3 authentication protocol or type
82
+ base.config :auth_protocol, :validate => %w[md5 sha sha2 hmac128sha224 hmac192sha256 hmac256sha384 hmac384sha512]
83
+
84
+ # The SNMPv3 authentication passphrase or password
85
+ base.config :auth_pass, :validate => :password
86
+
87
+ # The SNMPv3 privacy/encryption protocol
88
+ base.config :priv_protocol, :validate => %w[des 3des aes aes128 aes192 aes256]
89
+
90
+ # The SNMPv3 encryption password
91
+ base.config :priv_pass, :validate => :password
92
+
93
+ # The SNMPv3 security level can be Authentication, No Privacy; Authentication, Privacy; or no Authentication, no Privacy
94
+ base.config :security_level, :validate => %w[noAuthNoPriv authNoPriv authPriv]
95
+ end
96
+
97
+ def build_mib_manager!
98
+ mib_manager = new_mib_manager
99
+
100
+ if @mib_paths&.any?
101
+ logger.info('Loading user-provided MIB files', :path => @mib_paths)
102
+ @mib_paths.each do |path|
103
+ mib_manager.add(path)
104
+ end
105
+ end
106
+
107
+ if @use_provided_mibs
108
+ logger.info('Loading provided MIB files', :path => MIB_PROVIDED_PATHS)
109
+ MIB_PROVIDED_PATHS.each do |path|
110
+ mib_manager.add(path)
111
+ end
112
+ end
113
+
114
+ mib_manager
115
+ end
116
+
117
+ def build_snmp_client!(client_builder, validate_usm_user: false)
118
+ validate_usm_user! if validate_usm_user
119
+
120
+ unless @security_name.nil?
121
+ client_builder.addUsmUser(@security_name, @auth_protocol, @auth_pass&.value, @priv_protocol, @priv_pass&.value)
122
+ end
123
+
124
+ client_builder.setMapOidVariableValues(@oid_map_field_values)
125
+ client_builder.build
126
+ end
127
+
128
+ private
129
+
130
+ def new_mib_manager
131
+ MibManager.new(oid_field_mapper!)
132
+ end
133
+
134
+ def oid_field_mapper!
135
+ validate_oid_field_mapper_params!
136
+
137
+ if @oid_mapping_format == OID_MAPPING_FORMAT_DEFAULT
138
+ DefaultOidFieldMapper.new(@oid_root_skip, @oid_path_length)
139
+ elsif @oid_mapping_format == OID_MAPPING_FORMAT_RUBY_SNMP
140
+ RubySnmpOidFieldMapper.new
141
+ else
142
+ DottedStringOidFieldMapper.new
143
+ end
144
+ end
145
+
146
+ def validate_oid_field_mapper_params!
147
+ if @oid_mapping_format == 'default'
148
+ raise(LogStash::ConfigurationError, 'Use either `oid_root_skip` or `oid_path_length`') if @oid_root_skip.positive? && @oid_path_length.positive?
149
+ else
150
+ raise(LogStash::ConfigurationError, 'The `oid_root_skip` and `oid_path_length` requires setting `oid_mapping_format` to `default`') if @oid_root_skip.positive? || @oid_path_length.positive?
151
+ end
152
+ end
153
+
154
+ def validate_usm_user!
155
+ errors = []
156
+
157
+ errors << '`security_name` is required when SNMP v3 is enabled' if @security_name.nil?
158
+ validate_auth_protocol(errors)
159
+ validate_priv_protocol(errors)
160
+
161
+ raise(LogStash::ConfigurationError, errors.join(', ')) if errors.any?
162
+ end
163
+
164
+ def validate_auth_protocol(errors)
165
+ validate_protocol_config(errors, 'auth_protocol', 'auth_pass')
166
+
167
+ if @auth_protocol.nil? && (@security_level == 'authNoPriv' || @security_level == 'authPriv')
168
+ errors << "Using `security_level` set to `#{@security_level}` requires the configuration of `auth_protocol`"
169
+ end
170
+ end
171
+
172
+ def validate_priv_protocol(errors)
173
+ validate_protocol_config(errors, 'priv_protocol', 'priv_pass')
174
+
175
+ if @priv_protocol.nil? && @security_level == 'authPriv'
176
+ errors << "Using `security_level` set to `#{@security_level}` requires the configuration of `priv_protocol`"
177
+ end
178
+ end
179
+
180
+ def validate_protocol_config(errors, protocol_config_name, pass_config_name)
181
+ protocol_config_value = instance_variable_get("@#{protocol_config_name}".intern)
182
+ pass_config_value = instance_variable_get("@#{pass_config_name}".intern)
183
+
184
+ if protocol_config_value && !pass_config_value
185
+ errors << "Using `#{protocol_config_name}` requires the `#{pass_config_name}`"
186
+ elsif pass_config_value && !protocol_config_value
187
+ errors << "`#{protocol_config_name}` is required when using `#{pass_config_name}`"
188
+ end
189
+
190
+ if pass_config_value&.value && pass_config_value.value.length < 8
191
+ errors << "`#{pass_config_name}` passphrase must be at least 8 bytes long"
192
+ end
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,6 @@
1
+ # AUTOGENERATED BY THE GRADLE SCRIPT. DO NOT EDIT.
2
+
3
+ require 'jar_dependencies'
4
+ require_jar('org.snmp4j', 'snmp4j', '3.8.0')
5
+ require_jar('org.snakeyaml', 'snakeyaml-engine', '2.7')
6
+ require_jar('org.logstash.integrations', 'plugin', '4.0.0')