Extend Metricbeat directly:
Going this way you can contribute your module to the upstream project and have it officially maintained by project maintainers. This means that you will be able to use along with latest features etc while you will have contributed back to the community.
Create your own custom Beat:
With this option you will be the only maintainer of the project. Of course this custom Beat could be mentioned in a list of custom Beats that are mentioned but not maintained by Elastic.
I have developed Beats in both ways and technically the process is quite similar. The only thing that you should have in mind is that making your Beat part of the upstream project could take ore time because of the reviews and the changes that it will may require so as to follow the project's guidelines, while on the custom Beat you will be the one to set the guidelines.
So it's up to you with which way you will go with.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.