Session Agenda
Presentations
Notes
Hands On
Search
Menu
Presentations
Notes
Hands On
# Building Great Dashboards --- # Two Types Of Dashboards <!-- .element: style="background: none; box-shadow: none; width: 100%" --> <!-- .slide: data-state="whitebackground" --> --- # Two Sets of Widgets ### Timeboards <!-- .element: style="background: none; box-shadow: none; width: 50%" --> ### Screenboards <!-- .element: style="background: none; box-shadow: none; width: 100%" --> <!-- .slide: data-state="whitebackground" --> --- # Two Different Goals <!-- .element: style="background: none; box-shadow: none; width: 100%" --> <!-- .slide: data-state="whitebackground" --> --- # ElasticSearch Metrics <!-- .element: style="background: none; box-shadow: none; width: 100%" --> --- # ElasticSearch Metrics | Metric | Description| |------|--------| | <strong class=tabletext>elasticsearch.active_primary_shards</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of active primary shards in the cluster.</span><br><em><span class=tabletext>shown as shard</span></em> | | <strong class=tabletext>elasticsearch.active_shards</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of active shards in the cluster.</span><br><em><span class=tabletext>shown as shard</span></em> | | <strong class=tabletext>elasticsearch.breakers.fielddata.estimated_size_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The estimated size in bytes of the field data circuit breaker.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.breakers.fielddata.overhead</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The constant multiplier for byte estimations of the field data circuit breaker.</span> | | <strong class=tabletext>elasticsearch.breakers.fielddata.tripped</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of times the field data circuit breaker has tripped.</span> | | <strong class=tabletext>elasticsearch.breakers.parent.estimated_size_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The estimated size in bytes of the parent circuit breaker.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.breakers.parent.overhead</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The constant multiplier for byte estimations of the parent circuit breaker.</span> | | <strong class=tabletext>elasticsearch.breakers.parent.tripped</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of times the parent circuit breaker has tripped.</span> | | <strong class=tabletext>elasticsearch.breakers.request.estimated_size_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The estimated size in bytes of the request circuit breaker.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.breakers.request.overhead</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The constant multiplier for byte estimations of the request circuit breaker.</span> | | <strong class=tabletext>elasticsearch.breakers.request.tripped</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of times the request circuit breaker has tripped.</span> | --- | Metric | Description| |------|--------| | <strong class=tabletext>elasticsearch.cache.field.evictions</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of evictions from the field data cache.</span><br><em><span class=tabletext>shown as eviction</span></em> | | <strong class=tabletext>elasticsearch.cache.field.size</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The size of the field cache.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.cache.filter.count</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of items in the filter cache.</span><br><em><span class=tabletext>shown as item</span></em> | | <strong class=tabletext>elasticsearch.cache.filter.evictions</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of evictions from the filter cache.</span><br><em><span class=tabletext>shown as eviction</span></em> | | <strong class=tabletext>elasticsearch.cache.filter.size</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The size of the filter cache.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.cluster_status</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The elasticsearch cluster health as a number: red = 0, yellow = 1, green = 2</span> | | <strong class=tabletext>elasticsearch.docs.count</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of documents in the cluster across all shards.</span><br><em><span class=tabletext>shown as document</span></em> | | <strong class=tabletext>elasticsearch.docs.deleted</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of documents deleted from the cluster across all shards.</span><br><em><span class=tabletext>shown as document</span></em> | | <strong class=tabletext>elasticsearch.fielddata.evictions</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of evictions from the fielddata cache.</span><br><em><span class=tabletext>shown as eviction</span></em> | | <strong class=tabletext>elasticsearch.fielddata.size</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The size of the fielddata cache.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.flush.total</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of index flushes to disk since start.</span><br><em><span class=tabletext>shown as flush</span></em> | | <strong class=tabletext>elasticsearch.flush.total.time</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total time spent flushing the index to disk.</span><br><em><span class=tabletext>shown as second</span></em> | --- | Metric | Description| |------|--------| | <strong class=tabletext>elasticsearch.fs.total.available_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of bytes available to this Java virtual machine on this file store.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.fs.total.disk_io_op</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total I/O operations on the file store.</span><br><em><span class=tabletext>shown as operation</span></em> | | <strong class=tabletext>elasticsearch.fs.total.disk_io_size_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>Total bytes used for all I/O operations on the file store.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.fs.total.disk_read_size_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total bytes read from the file store.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.fs.total.disk_reads</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of reads from the file store.</span><br><em><span class=tabletext>shown as read</span></em> | | <strong class=tabletext>elasticsearch.fs.total.disk_write_size_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total bytes written to the file store.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.fs.total.disk_writes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of writes to the file store.</span><br><em><span class=tabletext>shown as write</span></em> | | <strong class=tabletext>elasticsearch.fs.total.free_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of unallocated bytes in the file store.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.fs.total.total_in_bytes</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total size in bytes of the file store.</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.get.current</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of get requests currently running.</span><br><em><span class=tabletext>shown as request</span></em> | | <strong class=tabletext>elasticsearch.get.exists.time</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total time spent on get requests where the document existed.</span><br><em><span class=tabletext>shown as second</span></em> | | <strong class=tabletext>elasticsearch.get.exists.total</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of get requests where the document existed.</span><br><em><span class=tabletext>shown as request</span></em> | | <strong class=tabletext>elasticsearch.get.missing.time</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total time spent on get requests where the document was missing.</span><br><em><span class=tabletext>shown as second</span></em> | | <strong class=tabletext>elasticsearch.get.missing.total</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of get requests where the document was missing.</span><br><em><span class=tabletext>shown as request</span></em> | | <strong class=tabletext>elasticsearch.get.time</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total time spent on get requests.</span><br><em><span class=tabletext>shown as second</span></em> | | <strong class=tabletext>elasticsearch.get.total</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of get requests.</span><br><em><span class=tabletext>shown as request</span></em> | --- | Metric | Description| |------|--------| | <strong class=tabletext>elasticsearch.http.current_open</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of current open HTTP connections.</span><br><em><span class=tabletext>shown as connection</span></em> | | <strong class=tabletext>elasticsearch.http.total_opened</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of opened HTTP connections.</span><br><em><span class=tabletext>shown as connection</span></em> | | <strong class=tabletext>elasticsearch.id_cache.size</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The size of the id cache</span><br><em><span class=tabletext>shown as byte</span></em> | | <strong class=tabletext>elasticsearch.indexing.delete.current</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of documents currently being deleted from an index.</span><br><em><span class=tabletext>shown as document</span></em> | | <strong class=tabletext>elasticsearch.indexing.delete.time</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total time spent deleting documents from an index.</span><br><em><span class=tabletext>shown as second</span></em> | | <strong class=tabletext>elasticsearch.indexing.delete.total</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of documents deleted from an index.</span><br><em><span class=tabletext>shown as document</span></em> | | <strong class=tabletext>elasticsearch.indexing.index.current</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The number of documents currently being indexed to an index.</span><br><em><span class=tabletext>shown as document</span></em> | | <strong class=tabletext>elasticsearch.indexing.index.time</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total time spent indexing documents to an index.</span><br><em><span class=tabletext>shown as second</span></em> | | <strong class=tabletext>elasticsearch.indexing.index.total</strong><br><span class=tabletext>(gauge)</span> | <span class=tabletext>The total number of documents indexed to an index.</span><br><em><span class=tabletext>shown as document</span></em> | See all of [the metrics for Elasticsearch](/summit-training-session/notes/buildinggreatdashboards/) --- # What do you think the work metrics should be? The server does something. * **Throughput Metrics**: How many of those things did it do? * **Performance Metrics**: How long does it take to do those things? * **Success Metrics**: How many of those things were done successfully? * **Error Metrics**: How many of those things were not done successfully? [Review the notes for this section to see them all](../../notes/buildinggreatdashboards/) --- # What do you think the resource metrics should be? The server does something and relies on a resource. * **Utilization Metrics**: How busy was the resource while the server did its thing? * **Saturation Metrics**: How long is the queue of things waiting for the server? * **Error Metrics**: How many errors is the resource experiencing with regards to the server? * **Availability Metrics**: How long is the resource available for? [Review the notes for this section to see them all](../../notes/buildinggreatdashboards/) --- # Some Key Elasticsearch Metrics | Category | Metric | |------|-----| |Work:**Throughput**|`elasticsearch.primaries.search.query.total`| |Work:**Throughput**|`elasticsearch.primaries.search.query.current`| |Work:**Throughput**|`elasticsearch.primaries.search.fetch.current`| |Work:**Performance**|`elasticsearch.primaries.search.query.time`| |Resource:**Utilization**| `jvm.mem.non_heap_committed`| |Resource:**Utilization**| `jvm.mem.heap_committed`| |Resource:**Availability**| `elasticsearch.initializing_shards`| |Resource:**Saturation**| `elasticsearch.thread_pool.bulk.queue`| See https://www.datadoghq.com/blog/monitor-elasticsearch-performance-metrics/ for more --- # Building a Timeseries on a Dashboard 1. Create a Timeboard or Screenboard 1. Drag Timeseries to the canvas 1. Select the metric 1. Set the Scope (host, etc) 1. Space Aggregation (avg, max, min, sum; by x) 1. Time Aggregation (optional)(rollup) 1. Functions --- # Building a Timeseries  --- # Building a Timeseries  --- # Building a Timeseries  --- # Building a Timeseries  --- # Building a Timeseries 
Back to the Agenda
Notes
|
Hands On Instruction