logstash-input-remote_proc 0.0.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (372) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +21 -0
  3. data/CONTRIBUTORS +10 -0
  4. data/Gemfile +2 -0
  5. data/LICENSE +13 -0
  6. data/NOTICE.TXT +5 -0
  7. data/README.md +98 -0
  8. data/USAGE.md +76 -0
  9. data/lib/logstash/inputs/remote_proc.rb +496 -0
  10. data/logstash-input-remote_proc.gemspec +35 -0
  11. data/spec/inputs/remote_proc_spec.rb +58 -0
  12. data/vendor/bundle/jruby/1.9/bin/rake +23 -0
  13. data/vendor/bundle/jruby/1.9/cache/rake-11.3.0.gem +0 -0
  14. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/FileUtils/cdesc-FileUtils.ri +0 -0
  15. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/FileUtils/ruby-i.ri +0 -0
  16. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/FileUtils/safe_ln-i.ri +0 -0
  17. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/FileUtils/sh-i.ri +0 -0
  18. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/FileUtils/split_all-i.ri +0 -0
  19. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Module/cdesc-Module.ri +0 -0
  20. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Object/cdesc-Object.ri +0 -0
  21. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Pathname/cdesc-Pathname.ri +0 -0
  22. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Pathname/ext-i.ri +0 -0
  23. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Pathname/pathmap-i.ri +0 -0
  24. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/add_loader-i.ri +0 -0
  25. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/cdesc-Application.ri +0 -0
  26. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/init-i.ri +0 -0
  27. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/load_rakefile-i.ri +0 -0
  28. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/name-i.ri +2 -0
  29. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/new-c.ri +0 -0
  30. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/options-i.ri +0 -0
  31. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/original_dir-i.ri +2 -0
  32. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/rakefile-i.ri +2 -0
  33. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/run-i.ri +0 -0
  34. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/run_with_threads-i.ri +0 -0
  35. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/terminal_columns-i.ri +2 -0
  36. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/top_level-i.ri +0 -0
  37. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/top_level_tasks-i.ri +2 -0
  38. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Application/tty_output-i.ri +2 -0
  39. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Backtrace/cdesc-Backtrace.ri +0 -0
  40. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Cleaner/cdesc-Cleaner.ri +0 -0
  41. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Cloneable/cdesc-Cloneable.ri +0 -0
  42. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/CompositePublisher/add-i.ri +0 -0
  43. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/CompositePublisher/cdesc-CompositePublisher.ri +0 -0
  44. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/CompositePublisher/new-c.ri +0 -0
  45. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/CompositePublisher/upload-i.ri +0 -0
  46. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/CpuCounter/cdesc-CpuCounter.ri +0 -0
  47. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/cdesc-DSL.ri +0 -0
  48. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/desc-i.ri +0 -0
  49. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/directory-i.ri +0 -0
  50. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/file-i.ri +0 -0
  51. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/file_create-i.ri +0 -0
  52. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/import-i.ri +0 -0
  53. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/multitask-i.ri +0 -0
  54. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/namespace-i.ri +0 -0
  55. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/rule-i.ri +0 -0
  56. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DSL/task-i.ri +0 -0
  57. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DefaultLoader/cdesc-DefaultLoader.ri +0 -0
  58. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/DefaultLoader/load-i.ri +0 -0
  59. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/EarlyTime/%3c%3d%3e-i.ri +0 -0
  60. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/EarlyTime/cdesc-EarlyTime.ri +0 -0
  61. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileCreationTask/cdesc-FileCreationTask.ri +0 -0
  62. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileCreationTask/needed%3f-i.ri +0 -0
  63. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileCreationTask/timestamp-i.ri +0 -0
  64. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileList/cdesc-FileList.ri +0 -0
  65. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileTask/cdesc-FileTask.ri +0 -0
  66. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileTask/needed%3f-i.ri +0 -0
  67. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileTask/out_of_date%3f-i.ri +0 -0
  68. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileTask/scope_name-c.ri +0 -0
  69. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileTask/timestamp-i.ri +0 -0
  70. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/cdesc-FileUtilsExt.ri +0 -0
  71. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/nowrite-i.ri +0 -0
  72. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/nowrite_flag-c.ri +0 -0
  73. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/rake_check_options-i.ri +0 -0
  74. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/rake_merge_option-i.ri +0 -0
  75. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/rake_output_message-i.ri +0 -0
  76. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/verbose-i.ri +0 -0
  77. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/verbose_flag-c.ri +0 -0
  78. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FileUtilsExt/when_writing-i.ri +0 -0
  79. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FtpFile/cdesc-FtpFile.ri +0 -0
  80. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/FtpUploader/cdesc-FtpUploader.ri +0 -0
  81. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/EmptyInvocationChain/append-i.ri +0 -0
  82. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/EmptyInvocationChain/cdesc-EmptyInvocationChain.ri +0 -0
  83. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/EmptyInvocationChain/member%3f-i.ri +0 -0
  84. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/EmptyInvocationChain/to_s-i.ri +0 -0
  85. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/append-c.ri +0 -0
  86. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/append-i.ri +0 -0
  87. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/cdesc-InvocationChain.ri +0 -0
  88. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/member%3f-i.ri +0 -0
  89. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/prefix-i.ri +0 -0
  90. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationChain/to_s-i.ri +0 -0
  91. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationExceptionMixin/cdesc-InvocationExceptionMixin.ri +0 -0
  92. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationExceptionMixin/chain%3d-i.ri +0 -0
  93. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/InvocationExceptionMixin/chain-i.ri +0 -0
  94. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LateTime/%3c%3d%3e-i.ri +0 -0
  95. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LateTime/cdesc-LateTime.ri +0 -0
  96. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LateTime/to_s-i.ri +0 -0
  97. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/%3d%3d-i.ri +0 -0
  98. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/EmptyLinkedList/cdesc-EmptyLinkedList.ri +0 -0
  99. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/EmptyLinkedList/cons-c.ri +0 -0
  100. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/EmptyLinkedList/empty%3f-i.ri +0 -0
  101. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/EmptyLinkedList/new-c.ri +0 -0
  102. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/cdesc-LinkedList.ri +0 -0
  103. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/conj-i.ri +0 -0
  104. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/cons-c.ri +0 -0
  105. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/each-i.ri +0 -0
  106. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/empty%3f-i.ri +0 -0
  107. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/empty-c.ri +0 -0
  108. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/head-i.ri +0 -0
  109. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/inspect-i.ri +0 -0
  110. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/make-c.ri +0 -0
  111. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/new-c.ri +0 -0
  112. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/tail-i.ri +0 -0
  113. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/LinkedList/to_s-i.ri +0 -0
  114. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/MakefileLoader/cdesc-MakefileLoader.ri +0 -0
  115. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/MultiTask/cdesc-MultiTask.ri +0 -0
  116. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/NameSpace/%5b%5d-i.ri +0 -0
  117. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/NameSpace/cdesc-NameSpace.ri +0 -0
  118. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/NameSpace/new-c.ri +0 -0
  119. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/NameSpace/scope-i.ri +0 -0
  120. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/NameSpace/tasks-i.ri +0 -0
  121. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/cdesc-PackageTask.ri +0 -0
  122. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/define-i.ri +0 -0
  123. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/init-i.ri +0 -0
  124. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/name-i.ri +2 -0
  125. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/need_tar-i.ri +2 -0
  126. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/need_tar_bz2-i.ri +2 -0
  127. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/need_tar_gz-i.ri +2 -0
  128. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/need_tar_xz-i.ri +2 -0
  129. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/need_zip-i.ri +2 -0
  130. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/new-c.ri +0 -0
  131. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/package_dir-i.ri +2 -0
  132. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/package_dir_path-i.ri +0 -0
  133. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/package_files-i.ri +2 -0
  134. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/package_name-i.ri +0 -0
  135. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/tar_bz2_file-i.ri +0 -0
  136. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/tar_command-i.ri +2 -0
  137. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/tar_gz_file-i.ri +0 -0
  138. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/tar_xz_file-i.ri +0 -0
  139. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/tgz_file-i.ri +0 -0
  140. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/version-i.ri +2 -0
  141. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/zip_command-i.ri +2 -0
  142. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PackageTask/zip_file-i.ri +0 -0
  143. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PrivateReader/ClassMethods/cdesc-ClassMethods.ri +0 -0
  144. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PrivateReader/cdesc-PrivateReader.ri +0 -0
  145. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Promise/cdesc-Promise.ri +0 -0
  146. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/PseudoStatus/cdesc-PseudoStatus.ri +0 -0
  147. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/RuleRecursionOverflowError/add_target-i.ri +0 -0
  148. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/RuleRecursionOverflowError/cdesc-RuleRecursionOverflowError.ri +0 -0
  149. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/RuleRecursionOverflowError/message-i.ri +0 -0
  150. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/RuleRecursionOverflowError/new-c.ri +0 -0
  151. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Scope/EmptyScope/cdesc-EmptyScope.ri +0 -0
  152. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Scope/cdesc-Scope.ri +0 -0
  153. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/SshDirPublisher/cdesc-SshDirPublisher.ri +0 -0
  154. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/SshDirPublisher/new-c.ri +0 -0
  155. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/SshDirPublisher/upload-i.ri +0 -0
  156. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/SshFilePublisher/cdesc-SshFilePublisher.ri +0 -0
  157. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/SshFilePublisher/new-c.ri +0 -0
  158. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/SshFilePublisher/upload-i.ri +0 -0
  159. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/SshFreshDirPublisher/cdesc-SshFreshDirPublisher.ri +0 -0
  160. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/SshFreshDirPublisher/upload-i.ri +0 -0
  161. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/%5b%5d-c.ri +0 -0
  162. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/actions-i.ri +2 -0
  163. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/add_description-i.ri +0 -0
  164. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/all_prerequisite_tasks-i.ri +0 -0
  165. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/already_invoked-i.ri +2 -0
  166. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/application-i.ri +2 -0
  167. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/arg_names-i.ri +0 -0
  168. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/cdesc-Task.ri +0 -0
  169. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/clear-c.ri +0 -0
  170. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/clear-i.ri +0 -0
  171. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/clear_actions-i.ri +0 -0
  172. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/clear_comments-i.ri +0 -0
  173. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/clear_prerequisites-i.ri +0 -0
  174. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/comment-i.ri +0 -0
  175. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/create_rule-c.ri +0 -0
  176. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/define_task-c.ri +0 -0
  177. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/enhance-i.ri +0 -0
  178. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/execute-i.ri +0 -0
  179. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/first_sentence-i.ri +0 -0
  180. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/format_trace_flags-i.ri +0 -0
  181. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/full_comment-i.ri +0 -0
  182. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/investigation-i.ri +0 -0
  183. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/invoke-i.ri +0 -0
  184. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/locations-i.ri +2 -0
  185. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/name-i.ri +0 -0
  186. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/needed%3f-i.ri +0 -0
  187. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/new-c.ri +0 -0
  188. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/prerequisite_tasks-i.ri +0 -0
  189. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/prerequisites-i.ri +2 -0
  190. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/reenable-i.ri +0 -0
  191. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/scope-i.ri +3 -0
  192. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/scope_name-c.ri +0 -0
  193. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/set_arg_names-i.ri +0 -0
  194. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/source-i.ri +0 -0
  195. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/sources-i.ri +2 -0
  196. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/task_defined%3f-c.ri +0 -0
  197. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/tasks-c.ri +0 -0
  198. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/timestamp-i.ri +0 -0
  199. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/to_s-i.ri +0 -0
  200. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Task/transform_comments-i.ri +0 -0
  201. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArgumentError/cdesc-TaskArgumentError.ri +0 -0
  202. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/%5b%5d-i.ri +0 -0
  203. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/cdesc-TaskArguments.ri +0 -0
  204. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/each-i.ri +0 -0
  205. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/extras-i.ri +0 -0
  206. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/fetch-i.ri +0 -0
  207. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/has_key%3f-i.ri +0 -0
  208. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/method_missing-i.ri +0 -0
  209. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/names-i.ri +3 -0
  210. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/new-c.ri +0 -0
  211. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/new_scope-i.ri +0 -0
  212. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/to_a-i.ri +0 -0
  213. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/to_hash-i.ri +0 -0
  214. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/values_at-i.ri +0 -0
  215. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskArguments/with_defaults-i.ri +0 -0
  216. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskLib/cdesc-TaskLib.ri +0 -0
  217. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/%5b%5d-i.ri +0 -0
  218. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/add_location-i.ri +0 -0
  219. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/attempt_rule-i.ri +0 -0
  220. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/cdesc-TaskManager.ri +0 -0
  221. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/clear-i.ri +0 -0
  222. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/current_scope-i.ri +0 -0
  223. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/enhance_with_matching_rule-i.ri +0 -0
  224. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/find_location-i.ri +0 -0
  225. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/generate_name-i.ri +0 -0
  226. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/get_description-i.ri +0 -0
  227. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/in_namespace-i.ri +0 -0
  228. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/intern-i.ri +0 -0
  229. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/last_description-i.ri +2 -0
  230. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/lookup-i.ri +0 -0
  231. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/lookup_in_scope-i.ri +0 -0
  232. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/make_sources-i.ri +0 -0
  233. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/resolve_args-i.ri +0 -0
  234. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/resolve_args_without_dependencies-i.ri +0 -0
  235. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/tasks-i.ri +0 -0
  236. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TaskManager/tasks_in_scope-i.ri +0 -0
  237. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/cdesc-TestTask.ri +0 -0
  238. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/define-i.ri +0 -0
  239. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/deps-i.ri +2 -0
  240. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/description-i.ri +2 -0
  241. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/libs-i.ri +2 -0
  242. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/loader-i.ri +0 -0
  243. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/name-i.ri +2 -0
  244. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/new-c.ri +0 -0
  245. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/options-i.ri +2 -0
  246. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/pattern-i.ri +2 -0
  247. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/ruby_opts-i.ri +2 -0
  248. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/test_files%3d-i.ri +0 -0
  249. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/verbose-i.ri +2 -0
  250. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TestTask/warning-i.ri +2 -0
  251. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/ThreadHistoryDisplay/cdesc-ThreadHistoryDisplay.ri +0 -0
  252. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/ThreadPool/cdesc-ThreadPool.ri +0 -0
  253. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/TraceOutput/cdesc-TraceOutput.ri +0 -0
  254. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Version/cdesc-Version.ri +0 -0
  255. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Win32/Win32HomeError/cdesc-Win32HomeError.ri +0 -0
  256. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/Win32/cdesc-Win32.ri +0 -0
  257. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/add_rakelib-c.ri +0 -0
  258. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/application%3d-c.ri +0 -0
  259. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/application-c.ri +0 -0
  260. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/cdesc-Rake.ri +0 -0
  261. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/load_rakefile-c.ri +0 -0
  262. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/Rake/original_dir-c.ri +0 -0
  263. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/String/cdesc-String.ri +0 -0
  264. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/String/ext-i.ri +0 -0
  265. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/String/pathmap-i.ri +0 -0
  266. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/String/pathmap_explode-i.ri +0 -0
  267. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/String/pathmap_partial-i.ri +0 -0
  268. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/String/pathmap_replace-i.ri +0 -0
  269. data/vendor/bundle/jruby/1.9/doc/rake-11.3.0/ri/cache.ri +0 -0
  270. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/CONTRIBUTING.rdoc +36 -0
  271. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/Gemfile +3 -0
  272. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/History.rdoc +2234 -0
  273. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/MIT-LICENSE +21 -0
  274. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/README.rdoc +157 -0
  275. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/Rakefile +33 -0
  276. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/appveyor.yml +22 -0
  277. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/bin/console +7 -0
  278. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/bin/setup +6 -0
  279. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/command_line_usage.rdoc +158 -0
  280. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/example/Rakefile1 +38 -0
  281. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/example/Rakefile2 +35 -0
  282. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/example/a.c +6 -0
  283. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/example/b.c +6 -0
  284. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/example/main.c +11 -0
  285. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/glossary.rdoc +42 -0
  286. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/jamis.rb +591 -0
  287. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/proto_rake.rdoc +127 -0
  288. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/rake.1 +141 -0
  289. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/rakefile.rdoc +624 -0
  290. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/rational.rdoc +151 -0
  291. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/README.md +4 -0
  292. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  293. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  294. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  295. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  296. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  297. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  298. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  299. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  300. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  301. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  302. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  303. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  304. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  305. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  306. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  307. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  308. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  309. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  310. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  311. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  312. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  313. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  314. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  315. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  316. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  317. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  318. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  319. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  320. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  321. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  322. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/exe/rake +27 -0
  323. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake.rb +70 -0
  324. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/application.rb +784 -0
  325. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/backtrace.rb +23 -0
  326. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/clean.rb +76 -0
  327. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/cloneable.rb +16 -0
  328. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/contrib/compositepublisher.rb +21 -0
  329. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/contrib/ftptools.rb +137 -0
  330. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/contrib/sshpublisher.rb +60 -0
  331. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/cpu_counter.rb +106 -0
  332. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/default_loader.rb +14 -0
  333. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/dsl_definition.rb +194 -0
  334. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/early_time.rb +21 -0
  335. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/ext/core.rb +25 -0
  336. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/ext/pathname.rb +25 -0
  337. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/ext/string.rb +175 -0
  338. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/file_creation_task.rb +24 -0
  339. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/file_list.rb +436 -0
  340. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/file_task.rb +46 -0
  341. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/file_utils.rb +139 -0
  342. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/file_utils_ext.rb +144 -0
  343. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/invocation_chain.rb +56 -0
  344. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/invocation_exception_mixin.rb +16 -0
  345. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/late_time.rb +17 -0
  346. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/linked_list.rb +111 -0
  347. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/loaders/makefile.rb +53 -0
  348. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/multi_task.rb +13 -0
  349. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/name_space.rb +38 -0
  350. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/packagetask.rb +210 -0
  351. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/phony.rb +15 -0
  352. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/private_reader.rb +20 -0
  353. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/promise.rb +99 -0
  354. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/pseudo_status.rb +29 -0
  355. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/rake_module.rb +38 -0
  356. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/rake_test_loader.rb +21 -0
  357. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/rule_recursion_overflow_error.rb +19 -0
  358. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/scope.rb +42 -0
  359. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/task.rb +391 -0
  360. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/task_argument_error.rb +7 -0
  361. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/task_arguments.rb +103 -0
  362. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/task_manager.rb +316 -0
  363. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/tasklib.rb +11 -0
  364. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/testtask.rb +212 -0
  365. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/thread_history_display.rb +48 -0
  366. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/thread_pool.rb +162 -0
  367. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/trace_output.rb +22 -0
  368. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/version.rb +9 -0
  369. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/lib/rake/win32.rb +50 -0
  370. data/vendor/bundle/jruby/1.9/gems/rake-11.3.0/rake.gemspec +30 -0
  371. data/vendor/bundle/jruby/1.9/specifications/rake-11.3.0.gemspec +43 -0
  372. metadata +518 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0983a9d2e35c35ad804f33c09edb2dcbb3700804
4
+ data.tar.gz: 3e91fd6e62044ddb991862dfa78179d5f7eba9c8
5
+ SHA512:
6
+ metadata.gz: 1fb45c39cea960ed7106cce6c65c6557df398b7119d6a626d6dbf0430cc0402553f7f45524a6660f594da71869927c5fd55bdea53de872ad775dba856f6f7675
7
+ data.tar.gz: c5d77173d7ebbd0237656af361dcb128fe7134e4b8d3f716941a64781cc238990db7a1c08bcec558691d064303a3f3972c04174f2302a5737f5e508a30208a63
data/CHANGELOG.md ADDED
@@ -0,0 +1,21 @@
1
+ ## 0.0.7
2
+ - Fix: run the test with Java8 to fix 'rspec' call error.
3
+
4
+ ## 0.0.6
5
+ - Code review.
6
+
7
+ ## 0.0.5
8
+ - Fix: add '_rspec' to the test file.
9
+
10
+ ## 0.0.4
11
+ - Fix JSON rendering in README.md.
12
+
13
+ ## 0.0.3
14
+ - Fix: gem dependency version.
15
+
16
+ ## 0.0.2
17
+ - Fix: In 'proc_cpuinfo' method, sometime 'cpu cores' field is missing. If so we set the value to 1.
18
+ - Fix typo.
19
+
20
+ ## 0.0.1
21
+ - Initialition.
data/CONTRIBUTORS ADDED
@@ -0,0 +1,10 @@
1
+ The following is a list of people who have contributed ideas, code, bug
2
+ reports, or in general have helped logstash along its way.
3
+
4
+ Contributors:
5
+ * Christian Kakesa (fenicks)
6
+
7
+ Note: If you've sent us patches, bug reports, or otherwise contributed to
8
+ Logstash, and you aren't on the list above and want to be, please let us know
9
+ and we'll make sure you're here. Contributions from folks like you are what make
10
+ open source awesome.
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2012–2016 Elasticsearch <http://www.elastic.co>
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
data/NOTICE.TXT ADDED
@@ -0,0 +1,5 @@
1
+ Elasticsearch
2
+ Copyright 2012-2015 Elasticsearch
3
+
4
+ This product includes software developed by The Apache Software
5
+ Foundation (http://www.apache.org/).
data/README.md ADDED
@@ -0,0 +1,98 @@
1
+ # Logstash RemoteProc Input Plugin
2
+
3
+ [![Travis Build Status](https://travis-ci.org/fenicks/logstash-input-remote_proc.svg)](https://travis-ci.org/fenicks/logstash-input-remote_proc)
4
+
5
+ This is a plugin for [Logstash](https://github.com/elastic/logstash).
6
+
7
+ It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
8
+
9
+ ## Documentation
10
+
11
+ Logstash provides infrastructure to automatically generate documentation for this plugin. We use the asciidoc format to write documentation so any comments in the source code will be first converted into asciidoc and then into html. All plugin documentation are placed under one [central location](http://www.elastic.co/guide/en/logstash/current/).
12
+
13
+ - For formatting code or config example, you can use the asciidoc `[source,ruby]` directive
14
+ - For more asciidoc formatting tips, see the excellent reference here https://github.com/elastic/docs#asciidoc-guide
15
+
16
+ ## Need Help?
17
+
18
+ Need help? Try #logstash on freenode IRC or the https://discuss.elastic.co/c/logstash discussion forum.
19
+
20
+ ## Developing
21
+
22
+ ### 1. Plugin Developement and Testing
23
+
24
+ #### Code
25
+ - To get started, you'll need JRuby with the Bundler gem installed.
26
+
27
+ - Create a new plugin or clone and existing from the GitHub [logstash-plugins](https://github.com/logstash-plugins) organization. We also provide [example plugins](https://github.com/logstash-plugins?query=example).
28
+
29
+ - Install dependencies
30
+ ```sh
31
+ bundle install
32
+ ```
33
+
34
+ #### Test
35
+
36
+ - Update your dependencies
37
+
38
+ ```sh
39
+ bundle install
40
+ ```
41
+
42
+ - Run tests
43
+
44
+ ```sh
45
+ bundle exec rspec
46
+ ```
47
+
48
+ ### 2. Running your unpublished Plugin in Logstash
49
+
50
+ #### 2.1 Run in a local Logstash clone
51
+
52
+ - Edit Logstash `Gemfile` and add the local plugin path, for example:
53
+ ```ruby
54
+ gem "logstash-filter-awesome", :path => "/your/local/logstash-filter-awesome"
55
+ ```
56
+ - Install plugin
57
+ ```sh
58
+ # Logstash 2.3 and higher
59
+ bin/logstash-plugin install --no-verify
60
+
61
+ # Prior to Logstash 2.3
62
+ bin/plugin install --no-verify
63
+
64
+ ```
65
+ - Run Logstash with your plugin
66
+ ```sh
67
+ bin/logstash -e 'filter {awesome {}}'
68
+ ```
69
+ At this point any modifications to the plugin code will be applied to this local Logstash setup. After modifying the plugin, simply rerun Logstash.
70
+
71
+ #### 2.2 Run in an installed Logstash
72
+
73
+ You can use the same **2.1** method to run your plugin in an installed Logstash by editing its `Gemfile` and pointing the `:path` to your local plugin development directory or you can build the gem and install it using:
74
+
75
+ - Build your plugin gem
76
+ ```sh
77
+ gem build logstash-filter-awesome.gemspec
78
+ ```
79
+ - Install the plugin from the Logstash home
80
+ ```sh
81
+ # Logstash 2.3 and higher
82
+ bin/logstash-plugin install --no-verify
83
+
84
+ # Prior to Logstash 2.3
85
+ bin/plugin install --no-verify
86
+
87
+ ```
88
+ - Start Logstash and proceed to test the plugin
89
+
90
+ ## Contributing
91
+
92
+ All contributions are welcome: ideas, patches, documentation, bug reports, complaints, and even something you drew up on a napkin.
93
+
94
+ Programming is not a required skill. Whatever you've seen about open source and maintainers or community members saying "send patches or die" - you will not see that here.
95
+
96
+ It is more important to the community that you are able to contribute.
97
+
98
+ For more information about contributing, see the [CONTRIBUTING](https://github.com/elastic/logstash/blob/master/CONTRIBUTING.md) file.
data/USAGE.md ADDED
@@ -0,0 +1,76 @@
1
+ # Logstash-input-remote_proc
2
+ This plugin retrieve `/proc/*` information remotely via SSH connection.
3
+
4
+ ## How to use
5
+
6
+ **Default values**
7
+
8
+ ```ruby
9
+ SERVER_OPTIONS = {
10
+ 'host' => 'localhost', # :string
11
+ 'port' => 22, # :number
12
+ 'ssh_private_key' => nil, # :path (needed if no 'password')
13
+ 'username' => ENV['USER'], # :string (default to unix $USER)
14
+ 'password' => nil # :string (needed if no 'ssh_private_key')
15
+ }.freeze
16
+ ```
17
+
18
+ When no password is given, the private key path are : `$HOME/.ssh/id_dsa`, `$HOME/.ssh2/id_dsa`, `$HOME/.ssh/id_rsa`, and `$HOME/.ssh2/id_rsa`.
19
+
20
+ ### SSH server with default values and authenticate by private key
21
+
22
+ ```javascript
23
+ input { remote_proc { servers => [{}] } } output { stdout { codec => rubydebug } }
24
+ ```
25
+
26
+ ### With SSH server `host`, `port` and `username` and authenticate by private key
27
+
28
+ ```javascript
29
+ input {
30
+ remote_proc {
31
+ servers => [
32
+ { host => "domain.com" port => 22 username => "fenicks" }
33
+ ]
34
+ }
35
+ }
36
+
37
+ output {
38
+ stdout { codec => rubydebug }
39
+ }
40
+ ```
41
+
42
+ ### With SSH server `host`, `port` and `username` and authenticate by a specific private key file
43
+
44
+ ```javascript
45
+ input {
46
+ remote_proc {
47
+ servers => [
48
+ {
49
+ host => "domain.com"
50
+ port => 22
51
+ username => "fenicks"
52
+ ssh_private_key => "${HOME}/.ssh/id_rsa_domain.com"
53
+ }
54
+ ]
55
+ }
56
+ }
57
+
58
+ output {
59
+ stdout { codec => rubydebug }
60
+ }
61
+ ```
62
+
63
+ ### With SSH server `host`, `port` and `username` and authenticate by password
64
+ ```javascript
65
+ input {
66
+ remote_proc {
67
+ servers => [
68
+ { host => "domain.com" port => 22 username => "fenicks" password => "my_password!" }
69
+ ]
70
+ }
71
+ }
72
+
73
+ output {
74
+ stdout { codec => rubydebug }
75
+ }
76
+ ```
@@ -0,0 +1,496 @@
1
+ # encoding: utf-8
2
+ require 'logstash/inputs/base'
3
+ require 'logstash/namespace'
4
+ require 'socket' # for Socket.gethostname
5
+ require 'stud/interval'
6
+
7
+ module LogStash
8
+ module Inputs
9
+ # Collecting PROCFS metrics through SSH.
10
+ #
11
+ # Supported endpoints :
12
+ # * /proc/cpuinfo
13
+ # * /proc/meminfo
14
+ # * /proc/loadavg
15
+ # * /proc/vmstat
16
+ # * /proc/diskstats
17
+ # * /proc/net/dev
18
+ # * /proc/net/wireless
19
+ # * /proc/net/mounts
20
+ # * /proc/net/crypto
21
+ # * /proc/sysvipc/shm
22
+ #
23
+ # The fallowing example shows how to retrieve system metrics from
24
+ # remote server and output the result to the standard output:
25
+ #
26
+ # [source,ruby]
27
+ # -------------------------------------------------------------------------
28
+ # input {
29
+ # remote_proc {
30
+ # servers => [
31
+ # { host => "remote.server.com" username => "medium" },
32
+ # { host => "h2.net" username => "poc" gateway_host => "h.gw.net" gateway_username => "user" }
33
+ # ]
34
+ # }
35
+ # }
36
+ #
37
+ # output {
38
+ # stdout { codec => rubydebug }
39
+ # }
40
+ # -------------------------------------------------------------------------
41
+ #
42
+ class RemoteProc < LogStash::Inputs::Base
43
+ # Describe valid keys and default values in `@servers` parameter.
44
+ SERVER_OPTIONS = {
45
+ 'host' => 'localhost', # :string
46
+ 'port' => 22, # :number
47
+ 'ssh_private_key' => nil, # :path (needed if no 'password')
48
+ 'username' => ENV['USER'] || ENV['USERNAME'] || 'nobody', # :string (default to unix $USER)
49
+ 'password' => nil, # :string (needed if no 'ssh_private_key')
50
+ 'gateway_host' => nil, # :string
51
+ 'gateway_port' => 22, # :number
52
+ 'gateway_username' => ENV['USER'] || ENV['USERNAME'] || 'nobody', # :string (default to unix $USER)
53
+ 'gateway_password' => nil, # :string
54
+ 'gateway_ssh_private_key' => nil # :string
55
+ }.freeze
56
+
57
+ # Liste of commands for each `/proc` endpoints.
58
+ COMMANDS = {
59
+ cpuinfo: 'cat /proc/cpuinfo',
60
+ meminfo: 'cat /proc/meminfo',
61
+ loadavg: 'cat /proc/loadavg',
62
+ vmstat: 'cat /proc/vmstat',
63
+ diskstats: 'cat /proc/diskstats',
64
+ netdev: 'cat /proc/net/dev',
65
+ netwireless: 'cat /proc/net/wireless',
66
+ mounts: 'cat /proc/mounts',
67
+ crypto: 'cat /proc/crypto',
68
+ sysvipcshm: 'cat /proc/sysvipc/shm'
69
+ }.freeze
70
+
71
+ config_name 'remote_proc'
72
+
73
+ # If undefined, Logstash will complain, even if codec is unused.
74
+ default :codec, 'plain'
75
+
76
+ # Set the list of remote servers
77
+ #
78
+ # The default values are specified in `#{SERVER_OPTIONS}` hash.
79
+ config :servers, validate: :hash, list: true, required: true
80
+
81
+ # Set how frequently messages should be sent.
82
+ #
83
+ # The default, `60`, means send a message every second.
84
+ config :interval, validate: :number, default: 60
85
+
86
+ def register
87
+ @host = Socket.gethostname
88
+
89
+ require 'net/ssh/multi'
90
+ @ssh_session = Net::SSH::Multi.start(on_error: :warn)
91
+
92
+ # Don't forget to close all gateways manually in `stop` method.
93
+ @ssh_gateways = []
94
+
95
+ # Handle server configuration
96
+ configure_servers
97
+ end # def register
98
+
99
+ def run(queue)
100
+ # we can abort the loop if stop? becomes true
101
+ until stop?
102
+ COMMANDS.keys.each do |method|
103
+ send("proc_#{method}", queue)
104
+ end
105
+
106
+ @ssh_session.loop(@interval)
107
+
108
+ Stud.stoppable_sleep(@interval) { stop? }
109
+ end # loop
110
+ end # def run
111
+
112
+ def stop
113
+ @ssh_session.close
114
+ @ssh_gateways.map(&:shutdown!) unless @ssh_gateways.empty?
115
+ end
116
+
117
+ private
118
+
119
+ # Return only valide property keys.
120
+ def prepare_servers!(data)
121
+ data.select! { |k| SERVER_OPTIONS.include?(k) }
122
+ data.merge!(SERVER_OPTIONS) { |_key_, old, _new_| old }
123
+ end
124
+
125
+ # Prepare all server configuration
126
+ def configure_servers
127
+ @servers.each do |s|
128
+ prepare_servers!(s)
129
+
130
+ session_options = {}
131
+ session_options[:password] = s['password'] if s['password']
132
+ if s['ssh_private_key']
133
+ session_options[:auth_methods] = ['publickey']
134
+ session_options[:keys] = [s['ssh_private_key']]
135
+ end
136
+ if s['gateway_host']
137
+ gw_opts = { port: s['gateway_port'] }
138
+ gw_opts[:password] = s['gateway_password'] if s['gateway_password']
139
+ if s['gateway_ssh_private_key']
140
+ gw_opts[:auth_methods] = ['publickey']
141
+ gw_opts[:keys] = s['gateway_ssh_private_key']
142
+ end
143
+ gw = Net::SSH::Gateway.new(s['gateway_host'],
144
+ s['gateway_username'],
145
+ gw_opts)
146
+ @ssh_gateways << gw
147
+ session_options[:via] = gw
148
+ end
149
+
150
+ @ssh_session.use("#{s['username']}@#{s['host']}:#{s['port']}",
151
+ session_options)
152
+ end
153
+ end
154
+
155
+ # Process SYSVIPCSHM data
156
+ def proc_sysvipcshm(queue)
157
+ @ssh_session.exec(COMMANDS[:sysvipcshm]) do |ch, stream, data|
158
+ next unless stream == :stdout # ignore :stderr
159
+ lines = data.split(/$/)
160
+ _ = lines.shift # Remove column name line
161
+ sysvipcshm = {}
162
+ lines.each do |l|
163
+ t = l.strip.split(/\s+/)
164
+ next if t.empty? || t.length < 16
165
+ sysvipcshm[t[1]] = {} # shmid
166
+ sysvipcshm[t[1]]['key'] = t[0]
167
+ sysvipcshm[t[1]]['perms'] = t[2]
168
+ sysvipcshm[t[1]]['size'] = t[3]
169
+ sysvipcshm[t[1]]['cpid'] = t[4]
170
+ sysvipcshm[t[1]]['lpid'] = t[5]
171
+ sysvipcshm[t[1]]['nattch'] = t[6]
172
+ sysvipcshm[t[1]]['uid'] = t[7]
173
+ sysvipcshm[t[1]]['gid'] = t[8]
174
+ sysvipcshm[t[1]]['cuid'] = t[9]
175
+ sysvipcshm[t[1]]['cgid'] = t[10]
176
+ sysvipcshm[t[1]]['atime'] = t[11]
177
+ sysvipcshm[t[1]]['dtime'] = t[12]
178
+ sysvipcshm[t[1]]['ctime'] = t[13]
179
+ sysvipcshm[t[1]]['rss'] = t[14]
180
+ sysvipcshm[t[1]]['swap'] = t[15]
181
+ end
182
+ next if sysvipcshm.empty?
183
+ event = LogStash::Event.new(sysvipcshm: sysvipcshm,
184
+ host: @host,
185
+ type: @type || 'system-sysvipcshm',
186
+ metric_name: 'system-sysvipcshm',
187
+ remote_host: ch[:host],
188
+ command: COMMANDS[:sysvipcshm],
189
+ message: data)
190
+ decorate(event)
191
+ queue << event
192
+ end
193
+ end
194
+
195
+ # Process CRYPTO data
196
+ def proc_crypto(queue)
197
+ @ssh_session.exec(COMMANDS[:crypto]) do |ch, stream, data|
198
+ next unless stream == :stdout # ignore :stderr
199
+ crypto = {}
200
+ current_crypto = ''
201
+ data.split(/$/).each do |line|
202
+ l = line.strip
203
+ next if l.empty?
204
+ t = l.split(/\s+:\s+/)
205
+ next if t.empty? || t.length != 2
206
+ if 'name'.eql?(t[0])
207
+ current_crypto = t[1]
208
+ crypto[current_crypto] = {}
209
+ next
210
+ end
211
+ crypto[current_crypto][t[0]] = t[1] unless current_crypto.empty?
212
+ end
213
+ next if crypto.empty?
214
+ event = LogStash::Event.new(crypto: crypto,
215
+ host: @host,
216
+ type: @type || 'system-crypto',
217
+ metric_name: 'system-crypto',
218
+ remote_host: ch[:host],
219
+ command: COMMANDS[:crypto],
220
+ message: data)
221
+ decorate(event)
222
+ queue << event
223
+ end
224
+ end
225
+
226
+ # Process MOUNTS data
227
+ def proc_mounts(queue)
228
+ @ssh_session.exec(COMMANDS[:mounts]) do |ch, stream, data|
229
+ next unless stream == :stdout # ignore :stderr
230
+ mounts = {}
231
+ data.split(/$/).each do |line|
232
+ t = line.strip.split(/\s+/)
233
+ next if t.empty? || t.length < 6
234
+ # mounted device name
235
+ device = {}
236
+ device['mountPoint'] = t[1]
237
+ device['fsType'] = t[2]
238
+ device['fsOptions'] = t[3].split(/,/)
239
+ device['dump'] = t[4]
240
+ device['pass'] = t[5]
241
+ mounts[t[0]] = [] unless mounts.include?(t[0])
242
+ mounts[t[0]] << device
243
+ end
244
+ next if mounts.empty?
245
+ event = LogStash::Event.new(mounts: mounts,
246
+ host: @host,
247
+ type: @type || 'system-mounts',
248
+ metric_name: 'system-mounts',
249
+ remote_host: ch[:host],
250
+ command: COMMANDS[:mounts],
251
+ message: data)
252
+ decorate(event)
253
+ queue << event
254
+ end
255
+ end
256
+
257
+ # Process NETWIRELESS data.
258
+ def proc_netwireless(queue)
259
+ @ssh_session.exec(COMMANDS[:netwireless]) do |ch, stream, data|
260
+ next unless stream == :stdout # ignore :stderr
261
+ lines = data.split(/$/)
262
+ _ = lines.shift # Remove first line
263
+ _ = lines.shift # Remove second line
264
+ netwireless = {}
265
+ lines.each do |l|
266
+ t = l.strip.split(/[:\s]+/)
267
+ next if t.empty? || t.length < 11 # Last column WE22 is often empty
268
+ netwireless[t[0]] = {}
269
+ netwireless[t[0]]['status'] = t[1].to_i
270
+ netwireless[t[0]]['linkQuality'] = t[2].to_i
271
+ netwireless[t[0]]['levelQuality'] = t[3].to_i
272
+ netwireless[t[0]]['noiseQuality'] = t[4].to_i
273
+ netwireless[t[0]]['nwidDiscarded'] = t[5].to_i
274
+ netwireless[t[0]]['cryptDiscarded'] = t[6].to_i
275
+ netwireless[t[0]]['fragDiscarded'] = t[7].to_i
276
+ netwireless[t[0]]['retryDiscarded'] = t[8].to_i
277
+ netwireless[t[0]]['miscDiscarded'] = t[9].to_i
278
+ netwireless[t[0]]['beaconMissed'] = t[10].to_i
279
+ netwireless[t[0]]['we22'] = t[11].to_i
280
+ end
281
+ next if netwireless.empty?
282
+ event = LogStash::Event.new(netwireless: netwireless,
283
+ host: @host,
284
+ type: @type || 'system-netwireless',
285
+ metric_name: 'system-netwireless',
286
+ remote_host: ch[:host],
287
+ command: COMMANDS[:netwireless],
288
+ message: data)
289
+ decorate(event)
290
+ queue << event
291
+ end
292
+ end
293
+
294
+ # Process NETDEV data.
295
+ def proc_netdev(queue)
296
+ @ssh_session.exec(COMMANDS[:netdev]) do |ch, stream, data|
297
+ next unless stream == :stdout # ignore :stderr
298
+ lines = data.split(/$/)
299
+ _ = lines.shift # Remove first line
300
+ _ = lines.shift # Remove second line
301
+ netdev = {}
302
+ lines.each do |l|
303
+ t = l.strip.split(/[:\s]+/)
304
+ next if t.empty? || t.length < 17
305
+ netdev[t[0]] = {}
306
+ netdev[t[0]]['rxbytes'] = t[1].to_i
307
+ netdev[t[0]]['rxpackets'] = t[2].to_i
308
+ netdev[t[0]]['rxerrs'] = t[3].to_i
309
+ netdev[t[0]]['rxdrop'] = t[4].to_i
310
+ netdev[t[0]]['rxfifo'] = t[5].to_i
311
+ netdev[t[0]]['rxframe'] = t[6].to_i
312
+ netdev[t[0]]['rxcompressed'] = t[7].to_i
313
+ netdev[t[0]]['rxmulticast'] = t[8].to_i
314
+ netdev[t[0]]['txbytes'] = t[9].to_i
315
+ netdev[t[0]]['txpackets'] = t[10].to_i
316
+ netdev[t[0]]['txerrs'] = t[11].to_i
317
+ netdev[t[0]]['txdrop'] = t[12].to_i
318
+ netdev[t[0]]['txfifo'] = t[13].to_i
319
+ netdev[t[0]]['txcolls'] = t[14].to_i
320
+ netdev[t[0]]['txcarrier'] = t[15].to_i
321
+ netdev[t[0]]['txcompressed'] = t[16].to_i
322
+ end
323
+ next if netdev.empty?
324
+ event = LogStash::Event.new(netdev: netdev,
325
+ host: @host,
326
+ type: @type || 'system-netdev',
327
+ metric_name: 'system-netdev',
328
+ remote_host: ch[:host],
329
+ command: COMMANDS[:netdev],
330
+ message: data)
331
+ decorate(event)
332
+ queue << event
333
+ end
334
+ end
335
+
336
+ # Process DISKSTATS data.
337
+ # https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats
338
+ # https://www.kernel.org/doc/Documentation/iostats.txt
339
+ def proc_diskstats(queue)
340
+ @ssh_session.exec(COMMANDS[:diskstats]) do |ch, stream, data|
341
+ next unless stream == :stdout # ignore :stderr
342
+ diskstats = {}
343
+ data.split(/$/).each do |line|
344
+ t = line.strip.split(/\s+/)
345
+ next if t.empty? || t.length < 14
346
+ diskstats[t[2]] = {} # device name
347
+ diskstats[t[2]]['major number'] = t[0].to_i
348
+ diskstats[t[2]]['minor number'] = t[1].to_i
349
+ diskstats[t[2]]['reads completed'] = t[3].to_i
350
+ diskstats[t[2]]['reads merged'] = t[4].to_i
351
+ diskstats[t[2]]['sectors read'] = t[5].to_i
352
+ diskstats[t[2]]['time spent reading ms'] = t[6].to_i
353
+ diskstats[t[2]]['writes completed'] = t[7].to_i
354
+ diskstats[t[2]]['writes merged'] = t[8].to_i
355
+ diskstats[t[2]]['sectors written'] = t[9].to_i
356
+ diskstats[t[2]]['time spent writing ms'] = t[10].to_i
357
+ diskstats[t[2]]['io in progress'] = t[11].to_i
358
+ diskstats[t[2]]['io time spent ms'] = t[12].to_i
359
+ diskstats[t[2]]['io weighted time spent ms'] = t[13].to_i
360
+ end
361
+ next if diskstats.empty?
362
+ event = LogStash::Event.new(diskstats: diskstats,
363
+ host: @host,
364
+ type: @type || 'system-diskstats',
365
+ metric_name: 'system-diskstats',
366
+ remote_host: ch[:host],
367
+ command: COMMANDS[:diskstats],
368
+ message: data)
369
+ decorate(event)
370
+ queue << event
371
+ end
372
+ end
373
+
374
+ # Process VMSTAT data.
375
+ def proc_vmstat(queue)
376
+ @ssh_session.exec(COMMANDS[:vmstat]) do |ch, stream, data|
377
+ next unless stream == :stdout # ignore :stderr
378
+ vmstat = {}
379
+ data.split(/$/).each do |line|
380
+ m = /([^\s]+)\s+(\d+)/.match(line)
381
+ vmstat[m[1]] = m[2].to_i if m && m.length >= 3
382
+ end
383
+ next if vmstat.empty?
384
+ event = LogStash::Event.new(vmstat: vmstat,
385
+ host: @host,
386
+ type: @type || 'system-vmstat',
387
+ metric_name: 'system-vmstat',
388
+ remote_host: ch[:host],
389
+ command: COMMANDS[:vmstat],
390
+ message: data)
391
+ decorate(event)
392
+ queue << event
393
+ end
394
+ end
395
+
396
+ # Process LOADAVG data.
397
+ def proc_loadavg(queue)
398
+ @ssh_session.exec(COMMANDS[:loadavg]) do |ch, stream, data|
399
+ next unless stream == :stdout # ignore :stderr
400
+ m = %r{([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\/([^\s]+)\s+([^\s$]+)}.match(data)
401
+ next unless m
402
+ if m && m.length >= 6
403
+ loadavg = { '1minute' => m[1].to_f,
404
+ '5minutes' => m[2].to_f,
405
+ '15minutes' => m[3].to_f,
406
+ 'running_processes' => m[4].to_i,
407
+ 'total_processes' => m[5].to_i,
408
+ 'last_running_pid' => m[6].to_i }
409
+ event = LogStash::Event.new(loadavg: loadavg,
410
+ host: @host,
411
+ type: @type || 'system-loadavg',
412
+ metric_name: 'system-loadavg',
413
+ remote_host: ch[:host],
414
+ command: COMMANDS[:loadavg],
415
+ message: data)
416
+ decorate(event)
417
+ queue << event
418
+ end
419
+ end
420
+ end
421
+
422
+ # Process MEMINFO data.
423
+ def proc_meminfo(queue)
424
+ @ssh_session.exec(COMMANDS[:meminfo]) do |ch, stream, data|
425
+ next unless stream == :stdout # ignore :stderr
426
+ meminfo = {}
427
+ data.split(/$/).each do |line|
428
+ m = /([^\n\t:]+)\s*:\s+(\d+)(\skb)?$/i.match(line)
429
+ next unless m
430
+ meminfo[m[1]] = m[2].to_i
431
+ meminfo[m[1]] *= 1000 if m[3] # m[3] is not nil if `/KB/i` is found
432
+ end
433
+ next if meminfo.empty?
434
+ meminfo['CalcMemUsed'] = meminfo['MemTotal'] - meminfo['MemFree']
435
+ event = LogStash::Event.new(meminfo: meminfo,
436
+ host: @host,
437
+ type: @type || 'system-meminfo',
438
+ metric_name: 'system-meminfo',
439
+ remote_host: ch[:host],
440
+ command: COMMANDS[:meminfo],
441
+ message: data)
442
+ decorate(event)
443
+ queue << event
444
+ end
445
+ end
446
+
447
+ # Process CPUINFO data.
448
+ def proc_cpuinfo(queue)
449
+ @ssh_session.exec(COMMANDS[:cpuinfo]) do |ch, stream, data|
450
+ next unless stream == :stdout # ignore :stderr
451
+ cpuinfo = {} # TODO(fenicks): change to array
452
+ num_cpu = 0
453
+ data.split(/$/).each do |line|
454
+ next if line.strip.empty?
455
+ m = /([^\n\t:]+)\s*:\s+(.+)$/.match(line)
456
+ next unless m
457
+ # Apply filters
458
+ value = m[2] # needed to permit assignation and computation
459
+ num_cpu += 1 if m[1].eql?('processor')
460
+ value = m[2].split(/\s+/) if m[1] == 'flags'
461
+ value = m[2].to_i if ['processor',
462
+ 'physical id',
463
+ 'siblings',
464
+ 'core id',
465
+ 'cpu cores',
466
+ 'apicid',
467
+ 'initial apicid',
468
+ 'cpuid level',
469
+ 'clflush size',
470
+ 'cache size',
471
+ 'cache_alignment'].include?(m[1])
472
+ value = m[2].to_f if ['bogomips',
473
+ 'cpu MHz'].include?(m[1])
474
+ value = m[2].to_i * 1000 if m[2] =~ /\skb$/i
475
+ index = num_cpu - 1
476
+ cpuinfo[index] = {} unless cpuinfo.include?(index)
477
+ cpuinfo[index][m[1]] = value
478
+ end
479
+ next if cpuinfo.empty?
480
+ # Other computed fields
481
+ cpuinfo[0]['cpu cores'] = 1 unless cpuinfo[0].include?('cpu cores')
482
+ cpuinfo['threads per core'] = num_cpu / cpuinfo[0]['cpu cores']
483
+ event = LogStash::Event.new(cpuinfo: cpuinfo,
484
+ host: @host,
485
+ type: @type || 'system-cpuinfo',
486
+ metric_name: 'system-cpuinfo',
487
+ remote_host: ch[:host],
488
+ command: COMMANDS[:cpuinfo],
489
+ message: data)
490
+ decorate(event)
491
+ queue << event
492
+ end
493
+ end
494
+ end # class LogStash::Inputs::RemoteProc
495
+ end # module LogStash::Inputs
496
+ end # module LogStash