Extending Logstash
There are two ways to extend Logstash: either by modifying the core or adding one more plugin to its repository. As we have already learned, there are four types of plugins - Input, Output, Filter, and Codec. Generating plugin in Logstash is very easy and needs only one command to be run; the generated plugin needs only our custom logic for it to be implemented.
Logstash plugins are written in Ruby programming language (http://www.ruby-lang.org/en/). These plugins are actually ruby gems. To be able to write effective gems, you should be familiar with Ruby.
In this section, we will develop our own input plugin, which will fetch data from a web service. The complete code of the plugin is available at GitHub at https://github.com/kravigupta/mastering-elastic-stack-code-files/tree/5.1.1/Chapter07/logstash-input-weather. The purpose of this exercise is to learn how a plugin can be generated and customized to serve the purpose, along with understanding of structure of the plugin...