When comparing ElasticSearch vs Logentries, the Slant community recommends ElasticSearch for most people. In the question“What is the best log monitoring software?” ElasticSearch is ranked 4th while Logentries is ranked 5th. The most important reason people chose ElasticSearch is:
Elasticsearch gained its popularity amongst developers by being enjoyable to use. A simple feature comparison against it's competition doesn't convey the significant advantages of just how easy it is to work with. This is due to multiple design choices such as the use of JSON for the API and queries.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easy to work with
Elasticsearch gained its popularity amongst developers by being enjoyable to use. A simple feature comparison against it's competition doesn't convey the significant advantages of just how easy it is to work with. This is due to multiple design choices such as the use of JSON for the API and queries.
Pro Structured search queries with JSON
Search can be executed either using a simple, Lucene-based query string or using an extensive JSON-based search query DSL. By structuring the query as a JSON object you can be very explicit and can dictate exactly what ElasticSeach will return. A very basic example of a JSON query is:
curl -XGET 'http://localhost:9200/blog/_search?pretty=true' -d '
{
"query" : {
"range" : {
"postDate" : { "from" : "2011-12-10", "to" : "2011-12-12" }
}
}
}'
Pro Aggregations
Another area where ElasticSearch shines is its aggregations features. Similarly to facets (now deprecated), aggregations allow calculating and summarizing data of a query as it happens. Aggregations brings the ability to be nested and is broadly categorized as metrics aggregations and bucket aggregations.
"aggregations" : {
"<aggregation_name>" : {
"<aggregation_type>" : {
<aggregation_body>
},
["aggregations" : { [<sub_aggregation>]* } ]
}
[,"<aggregation_name_2>" : { ... } ]*
}
Pro Pluggable Field Types
Pro Open source
It's free and Open Source so you can host it yourself for free or even tweak it.
Pro Designed to be distributed
The one area where Elasticsearch shines is distributed search. It was built from the ground up to be suitable for high-scale 'cloud' applications.
There are many features Elasticsearch has as a result of being designed to be distributed that aren't currently available in Solr, such as:
- Shards and replicas can to moved to any node in the cluster on demand.
- With a simple API call you can increase and decrease the number of replicas without the need of shutting down nodes or creating new nodes.
- Manipulate shard placement with the cluster reroute API on a live cluster.
- Search across multiple indexes.
- Change the schema without restarting the server.
- Automatic shard rebalancing
Elasticsearch also has a module called Gateway, that in the case of the whole cluster crashing or being taken down will enable you to easily restore the latest state of the cluster when it gets back up.
Services such as Bonsai further simplify scaling Elasticsearch by hosting and scaling the search servers for you, making it nearly as easy to get started as CloudSearch or Searchify. Elasticsearch was also specifically designed to run well and be relatively easy to setup on EC2.
Pro RESTful JSON API for configuration/management
Elasticsearch has a REST API for management and configuration. The following are the main features of this API:
Index Management:
- Create, delete, close and open indices by running a simple HTTP command.
- Increase and decrease the number of replicas without the need of shutting down nodes or creating new nodes.
- Manipulate shard placement with the cluster reroute API. Move shards between nodes, we can cancel shard allocation process and we can also force shard allocation – everything on a live cluster.
- Check index and types existence
Configuration:
- Majority of configuration files can be modified dynamically.
- Update Mappings
- Define, retrieve and manage warning queries
- Shut down the entire cluster or a specific node
- Clear caches on the index level
This is all done over JSON, making it a lot more structured then the methods used in Solr.
Pro Rapid feature development
Another thing to keep in mind when choosing a search solution is the development momentum. ElasticSearch has quickly caught up to the competition and most of the currently missing features are due to be released in upcoming versions.
Pro Schemaless
Elasticsearch makes it easy to get started by not requiring you to define a schema before sending documents to be indexed. Elasticsearch will automatically guess field types for you, which although will not be as accurate as creating the mappings manually, is usually pretty accurate.
Elasticsearch also lets you manually define the mappings (index structure) before creating the index. One cool feature is if you miss a field or add a new field without defining the mapping, Elasticsearch will try to guess the Type for you.
Pro Allows multiple types of documents per index
Another useful and unique feature to Elasticsearch is the ability to have multiple types of documents in a single index. You can then facet, query or filter against all document types or a single type.
Pro Percolator (prospective search)
Essentially a reverse search. The percolator allows you to register queries against an index, and then send percolate requests which include a doc, and getting back the queries that match on that doc out of the set of registered queries. Not possible in Solr out of the box.
Pro Handles nested documents
ElasticSearch natively handles a nested document structure.
ElasticSearch will index nested documents as a separate indexes and are stored in such a way that allow quick join operations to access them. Nested documents require a nested query to access so that don't clutter results from standard queries.
Pro Real-time alerts
Alerts can be created based on tags or by setting criteria via the intuitive and powerful search capabilities of LogEntries. To not flood notifications it's possible to specify limitations for alerts, such as how many times an hour an event has to happen for it to trigger a notification. Notifications can be sent by email, mobile messaging or via webhooks (webhooks are sent server in real-time, so there's no need for polling for changes).
Pro Supports a diverse set of programming languages
Including Java, .Net, Ruby, PHP, node.js, Python.
Pro Free up to 5 GB
Logentries free product allows uploading up to 5 GB of logs a month and has a 7-day retention period. The free product is available after the 30-day trial ends.
Pro Works with multiple PaaS and IaaS
Logentries works with Amazon Web Services (AWS), Heroku, AppFog, Engine Yard and other platform as a service (PaaS) providers, along with Amazon Web Services, Rackspace, Microsoft Azure and other infrastructure as a service (IaaS) providers.
Pro Event and search updates can be viewed in real-time
In Live Tail mode events and searches update in real-time. Live Tail mode can be used in Aggregate View, that allows selecting a combination of logfiles to be viewed together, and with any log groups created. These events are supplemented with tags to allows getting an overview of current events quickly at a glance.
Pro Supports the most popular programming frameworks
Supports the most popular programming frameworks, including Ruby and node.js.
Pro Offers an easy way of visualizing data via graphs
LogEntries allows each logfile to have a separate dashboard of various graphs & widgets put together for visualizing data. A dashboard is put together by dragging & dropping graphs and widgets into place. Graphs and widgets include charts, tables, gauges, event counts among other forms of data visualization.
Pro Real-time tagging makes reading logs easier
Colored indicators can be set that highlight events in a log in real-time based on given criteria. Criteria are set via intuitive and powerful search capabilities of LogEntries.
Pro Easy to set up
Logentries can be set up quickly and with relative ease.
Pro Great search
LogEntries has human readable, intuitive and powerful search with support for logical expressions, comparison expressions, regular expressions and ability to search based on field, group based on approximations over time, use functions such as count, sum, average and unique as well as save searches.
Pro Timestamps are displayed in the local time zone
Unlike Loggly, LogEntries displays timestamps in your timezone. You don't even have to configure anything.
Pro Excellent documentation
LogEntries has comprehensive documentation that's easy to read and understand and includes lots of screenshots and examples.
Pro Good technical support
Answer incidents pretty quickly.
Pro Prepared viewlets
Easy to get information fast with integrated dashboards. Also I can change as I want easy by rewriting query
Cons
Con Poor documentation
As a relatively new project, the documentation for ElasticSearch still leaves much to be desired. Documentation assumes that the user at least has familiarity with similar document stores, and is largely oriented toward those already familiar with other search solutions, such as Solr. Errors, while often quite simple to resolve, can be difficult to troubleshoot, as they are often insufficiently descriptive and missing from documentation. New users should be sure to check the tutorials section on elasticsearch.org for supplementary information lacking from the guide, such as more detailed installation instructions.
Con Prone to 'Split Brain' Situations
The Sematex blog explains a problem with the way Elasticsearch handles its clusters, called the 'Split Brain Situation':
Imagine a situation, where you cluster is divided into half, so half of your nodes don’t see the other half, for example because of the network failure. In such cases Elasticsearch will try to elect a new master in the cluster part that doesn’t have one and this will lead to creation of two independent clusters running at the same time. This can be limited with a small degree of configuration, but it can still happen.
Users have already run into this problem in production and ElasticSearch host Bonsai also have had issues with this problem as recently as March 2012.
Con Some missing features
Elasticsearch is currently missing the following features:
- Results Grouping / Field Collapsing
- Autocomplete
- Spell Checker/Did you mean (Available as a third-party plugin)
- Decision Tree Faceting
- Query Elevation
- Hash-based deduplication.
Con Confusing interface
The interface is packed with features and options, many of them I'm not sure what they do at all.
Con Character limit for each log entry
Currently log entries are limited to 8192 characters, if your log entry runs over this amount then it will be truncated where the excess log will be a new entry in the UI. This can easily cause a problem JSON structure with java stacktraces.
Con Limited search capabilites
Compared to Elasticsearch and other competitors, search syntax has few features, apart from regexp and NOT/AND/OR combining. E.g. has no syntax to determine if a field is absent.
Con Expensive
The average plan is over $1.5 per GB, which can get very expensive for any sort of reasonable volume.
Con Short retention
The retention is very short (14 - 30 days).
Con There's a limit of 100 logs per server
Should you have a webserver that hosts many sites, you'll hit this undocumented limit. The token-based alternative solution is inconvenient to set up and maintain.
Con Can't track the source of errors in 3rd party libraries
Con Insufficiently secure web client logger
No progress since this was reported in September 2013.
Con Grouping is unsorted and limited
Eg. you can't really check what browsers people use, because the report is limited to 40 unique strings.
Con Blocked by ad blockers by default
https://easylist-downloads.adblockplus.org/easyprivacy.txt includes logentries
Con Signing up requires phone number
Con No CDN for the web client logger
Con TypeErrors (X is not a function) are not tracked
Loggly catches them by default. LogEntries doesn't seem to catch them even if catchall
is set to true
. See the GitHub issue.