{"id":61,"date":"2016-02-19T15:25:29","date_gmt":"2016-02-19T15:25:29","guid":{"rendered":"http:\/\/redmonk.com\/fryan\/?p=61"},"modified":"2016-02-19T15:25:29","modified_gmt":"2016-02-19T15:25:29","slug":"devops-and-opensource-log-aggregation-tools-logstash-has-competition","status":"publish","type":"post","link":"https:\/\/redmonk.com\/fryan\/2016\/02\/19\/devops-and-opensource-log-aggregation-tools-logstash-has-competition\/","title":{"rendered":"DevOps and OpenSource Log Aggregation Tools \u2013 LogStash has Competition."},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>In the world of DevOps you are nothing without logs. As we move to more complex architectures developers can, and do, add in various types of advance telemetry and instrumentation \u2013 which of course opens up the debate as to what to log v\u2019s what to instrument, as <a href=\"http:\/\/bit.ly\/1QwlSds\">noted by developers<\/a> such as Peter Bourgon.\u00a0 Here at RedMonk we are all fascinated by all things logging and telemetry related, recognising the value held in such data.<\/p>\n<p>For many organisations though, particularly those that are just starting on their DevOps journeys (which is far more companies than one might think), just getting the aggregation and analysis of logs in place is a great starting place. As the quote which is often attributed to statistician Karl Pearson says:<\/p>\n<blockquote><p>\u201cThat which is measured improves. That which is measured and reported improves exponentially.\u201d<\/p><\/blockquote>\n<p>The starting point with logs in any reasonable scale system is aggregation. Among purely opensource solutions <a href=\"https:\/\/www.elastic.co\/products\/logstash\">LogStash<\/a> has the undoubted lead, propelled by its close integration with <a href=\"https:\/\/www.elastic.co\/products\/kibana\">Elastic<\/a> and <a href=\"https:\/\/www.elastic.co\/products\/kibana\">Kibana<\/a> &#8211; the ubiquitous ELK stack.<\/p>\n<p>In our discussions around log aggregation we frequently\u00a0hear about two other solutions &#8211; <a href=\"http:\/\/www.fluentd.org\/\">fluentd<\/a>, which is used with Kubernetes, and <a href=\"http:\/\/www.graylog.org\">Graylog2<\/a> \u2013 both of which garner far less attention than logstash on forums such as stackoverflow.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/allthelogs-stackoverflow.png\" rel=\"attachment wp-att-62\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-62\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/allthelogs-stackoverflow-300x212.png\" alt=\"allthelogs-stackoverflow\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/allthelogs-stackoverflow-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/allthelogs-stackoverflow-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/allthelogs-stackoverflow.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>However, when we look on github we can see a growth in interest In all three, with logstash and fluentd following reasonably similar trajectories.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/aggregate-all-thelogs-github-stars.jpg\" rel=\"attachment wp-att-63\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-63\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/aggregate-all-thelogs-github-stars-300x212.jpg\" alt=\"LogStash v GrayLog v fluentd Github Stars\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/aggregate-all-thelogs-github-stars-300x212.jpg 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/aggregate-all-thelogs-github-stars-768x542.jpg 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/aggregate-all-thelogs-github-stars.jpg 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Issues and Commits<\/h2>\n<p>Now github stars are an interesting proxy for interest, but when it comes to actual usage looking at the issues logged, and more importantly if they are coming from the community can be far more interesting data point. We can see that almost 70% of the issues reported against both LogStash and fluentd, while GrayLog2 is far closer to a 50\/50 split.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-issues-barchart.png\" rel=\"attachment wp-att-64\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-64\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-issues-barchart-300x212.png\" alt=\"logstash-graylog-fluentd-issues-barchart\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-issues-barchart-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-issues-barchart-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-issues-barchart.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The trends are pretty consistent over the life of the projects as well.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-logstash-c-v-c.png\" rel=\"attachment wp-att-65\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-65\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-logstash-c-v-c-300x212.png\" alt=\"issues-logstash-c-v-c\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-logstash-c-v-c-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-logstash-c-v-c-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-logstash-c-v-c.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-fluentd-c-v-c.png\" rel=\"attachment wp-att-66\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-66\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-fluentd-c-v-c-300x212.png\" alt=\"issues-fluentd-c-v-c\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-fluentd-c-v-c-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-fluentd-c-v-c-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-fluentd-c-v-c.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-graylog-c-v-c.png\" rel=\"attachment wp-att-67\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-67\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-graylog-c-v-c-300x212.png\" alt=\"issues-graylog-c-v-c\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-graylog-c-v-c-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-graylog-c-v-c-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/issues-graylog-c-v-c.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Similarly for commits, with both LogStash and fluentd the community accounts for approximately 70% of the activity, although for graylog direct company contributions account for almost all commits.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-commits-barchart.png\" rel=\"attachment wp-att-68\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-68\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-commits-barchart-300x212.png\" alt=\"logstash-graylog-fluentd-commits-barchart\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-commits-barchart-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-commits-barchart-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/logstash-graylog-fluentd-commits-barchart.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The trends over the lifetime of the project are also similar for commits<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-logstash-c-v-c.png\" rel=\"attachment wp-att-70\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-70\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-logstash-c-v-c-300x212.png\" alt=\"commits-logstash-c-v-c\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-logstash-c-v-c-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-logstash-c-v-c-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-logstash-c-v-c.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-fluentd-c-v-c.png\" rel=\"attachment wp-att-71\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-71\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-fluentd-c-v-c-300x212.png\" alt=\"commits-fluentd-c-v-c\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-fluentd-c-v-c-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-fluentd-c-v-c-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-fluentd-c-v-c.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-graylog-c-v-c.png\" rel=\"attachment wp-att-72\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-72\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-graylog-c-v-c-300x212.png\" alt=\"commits-graylog-c-v-c\" width=\"300\" height=\"212\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-graylog-c-v-c-300x212.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-graylog-c-v-c-768x542.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/02\/commits-graylog-c-v-c.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>By far the most interesting part of all this though is the rise in overall interest since early 2014. As people have come to realise just how much value is in in their log data we see more and more log aggregation solutions being deployed. The first part of a journey, but a very important part none the less.<\/p>\n<p>There are some caveats with this research to note:<\/p>\n<ol>\n<li>We have endeavoured to match major committers to their companies, but that is not always possible.<\/li>\n<li>Plugins are dealt with differently in each product, so we have limited the scope of our analysis to the main repo.<\/li>\n<li>Issues can, and do, come from commercial support contracts. The actual issue logged will generally come from the main company contributing to the project.<\/li>\n<\/ol>\n<p><strong>Disclaimer<\/strong>: Treasure Data (major contributors to fluentd) are a current RedMonk client.<\/p>\n<p>Found this interesting? Sign up for my <a href=\"http:\/\/eepurl.com\/bONVjr\">newsletter<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; In the world of DevOps you are nothing without logs. As we move to more complex architectures developers can, and do, add in various types of advance telemetry and instrumentation \u2013 which of course opens up the debate as to what to log v\u2019s what to instrument, as noted by developers such as Peter<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,9,17],"tags":[],"class_list":["post-61","post","type-post","status-publish","format-standard","hentry","category-business","category-devops","category-infrastructure"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts\/61\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/media?parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/categories?post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/tags?post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}