From bcdefd0be331b2ee3199fbd75daa7f242021b6a7 Mon Sep 17 00:00:00 2001 From: Rodrigo Luis Silva Date: Tue, 13 Jun 2017 16:43:59 +0100 Subject: [PATCH 1/6] Add ZBX_NOTSUPPORTED to handle errors To avoid errors on zabbix_server.log in case of empty response or Python Traceback Received value [] is not suitable for value type [Numeric (unsigned)] and data type [Decimal] --- agent/elastizabbix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/agent/elastizabbix b/agent/elastizabbix index 6057c0f..52cb67a 100755 --- a/agent/elastizabbix +++ b/agent/elastizabbix @@ -15,6 +15,12 @@ stats = { 'health' : 'http://localhost:9200/_cluster/health' } +def exception_handler(exception_type, exception, traceback, debug_hook=sys.excepthook): + #print "%s: %s" % (exception_type.__name__, exception) + print 'ZBX_NOTSUPPORTED' + +sys.excepthook = exception_handler + def created_file(name): try: fd = os.open(name, os.O_WRONLY | os.O_CREAT | os.O_EXCL) @@ -87,6 +93,6 @@ if __name__ == '__main__': else: stat = get_stat(api, stat) if isinstance(stat, dict): - print '' + print 'ZBX_NOTSUPPORTED' else: print stat From 89c7e362eda66066a3f971fb1b0a14f8b28573ad Mon Sep 17 00:00:00 2001 From: Rodrigo Luis Silva Date: Tue, 13 Jun 2017 17:02:28 +0100 Subject: [PATCH 2/6] Add support for Cluster address as a parameter Get the cluster address via parameter instead of internal variable --- agent/elastizabbix | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/agent/elastizabbix b/agent/elastizabbix index 52cb67a..e3ac0be 100755 --- a/agent/elastizabbix +++ b/agent/elastizabbix @@ -5,14 +5,19 @@ import json import urllib2 import time import errno +import hashlib + +if len(sys.argv[1:]) != 3: + print 'ZBX_NOTSUPPORTED' + sys.exit(1) ttl = 60 stats = { - 'cluster': 'http://localhost:9200/_cluster/stats', - 'nodes' : 'http://localhost:9200/_nodes/stats', - 'indices': 'http://localhost:9200/_stats', - 'health' : 'http://localhost:9200/_cluster/health' + 'cluster': sys.argv[3]+'/_cluster/stats', + 'nodes' : sys.argv[3]+'/_nodes/stats', + 'indices': sys.argv[3]+'/_stats', + 'health' : sys.argv[3]+'/_cluster/health' } def exception_handler(exception_type, exception, traceback, debug_hook=sys.excepthook): @@ -36,26 +41,27 @@ def is_older_then(name, ttl): return age > ttl def get_cache(api): - cache = '/tmp/elastizabbix-{0}.json'.format(api) - lock = '/tmp/elastizabbix-{0}.lock'.format(api) + md5digest = hashlib.md5(sys.argv[3]).hexdigest() + cache = '/tmp/elastizabbix-'+md5digest+'-{0}.json'.format(api) + lock = '/tmp/elastizabbix-'+md5digest+'-{0}.lock'.format(api) should_update = (not os.path.exists(cache)) or is_older_then(cache, ttl) if should_update and created_file(lock): try: d = urllib2.urlopen(stats[api]).read() with open(cache, 'w') as f: f.write(d) except Exception as e: - pass + pass if os.path.exists(lock): os.remove(lock) if os.path.exists(lock) and is_older_then(lock, 300): os.remove(lock) ret_data = {} try: - with open(cache) as data_file: - ret_data = json.load(data_file) + with open(cache) as data_file: + ret_data = json.load(data_file) except Exception as e: ret_data = json.loads(urllib2.urlopen(stats[api]).read()) - return ret_data + return ret_data def get_stat(api, stat): d = get_cache(api) From 21d4467370a79404edb6ed473f755f251346cbea Mon Sep 17 00:00:00 2001 From: Rodrigo Luis Silva Date: Tue, 13 Jun 2017 17:03:27 +0100 Subject: [PATCH 3/6] Add support for Cluster address as a parameter Get the cluster address via parameter instead of internal variable --- agent/elastizabbix.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/elastizabbix.conf b/agent/elastizabbix.conf index 6be6170..1b6da02 100644 --- a/agent/elastizabbix.conf +++ b/agent/elastizabbix.conf @@ -1 +1 @@ -UserParameter=elastizabbix[*],/etc/zabbix/externalscripts/elastizabbix $1 $2 +UserParameter=elastizabbix[*],/etc/zabbix/externalscripts/elastizabbix $1 $2 $3 From f8918ae06234731e578058355884bbfc23d42ee0 Mon Sep 17 00:00:00 2001 From: Rodrigo Luis Silva Date: Wed, 14 Jun 2017 16:30:38 +0100 Subject: [PATCH 4/6] Add readchable attribute It's possible to know if the cluster is reachable or not --- agent/elastizabbix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/agent/elastizabbix b/agent/elastizabbix index e3ac0be..74f4bbd 100755 --- a/agent/elastizabbix +++ b/agent/elastizabbix @@ -21,8 +21,11 @@ stats = { } def exception_handler(exception_type, exception, traceback, debug_hook=sys.excepthook): - #print "%s: %s" % (exception_type.__name__, exception) - print 'ZBX_NOTSUPPORTED' + if sys.argv[2] == 'reachable': + print '0' + else: + #print "%s: %s" % (exception_type.__name__, exception) + print 'ZBX_NOTSUPPORTED' sys.excepthook = exception_handler @@ -99,6 +102,9 @@ if __name__ == '__main__': else: stat = get_stat(api, stat) if isinstance(stat, dict): - print 'ZBX_NOTSUPPORTED' + if sys.argv[2] == 'reachable': + print '1' + else: + print 'ZBX_NOTSUPPORTED' else: print stat From 45709ab02029c12ce295dc08aa64ce61012e401f Mon Sep 17 00:00:00 2001 From: Rodrigo Luis Silva Date: Wed, 14 Jun 2017 16:53:14 +0100 Subject: [PATCH 5/6] Cluster Addr in a Macro, Enable Index discovery Add Cluster address as a template macro Enable Index discovery, add new items and graphs Build a screen for indices Change Application names and add "ES Health" Change triggers names and add unreachable trigger Change graphs names Remove legacy items (not present on 5.4) --- template/templates_app_elasticsearch.xml | 1393 ++++++++++++---------- 1 file changed, 767 insertions(+), 626 deletions(-) diff --git a/template/templates_app_elasticsearch.xml b/template/templates_app_elasticsearch.xml index af0d82e..bcb4217 100644 --- a/template/templates_app_elasticsearch.xml +++ b/template/templates_app_elasticsearch.xml @@ -1,7 +1,7 @@ - 2.0 - 2015-08-23T21:20:54Z + 3.0 + 2017-06-14T15:42:20Z Templates @@ -19,23 +19,26 @@ - Cluster + ES Cluster - Indices + ES Health - Nodes + ES Indices + + + ES Nodes - Active primary shards + Indices count 0 0 - elastizabbix[health,active_primary_shards] + elastizabbix[cluster,indices.count,{$ES.CLUSTER.URL}] 60 7 365 @@ -66,19 +69,19 @@ 0 - Cluster + ES Cluster - Active shards + Documents per second 0 0 - elastizabbix[health,active_shards] + elastizabbix[cluster,indices.docs.count,{$ES.CLUSTER.URL}] 60 7 365 @@ -86,7 +89,7 @@ 3 - 0 + 1 0 @@ -109,27 +112,27 @@ 0 - Cluster + ES Cluster - Average flush latency + Field data evictions 0 0 - elastizabbix[indices,_all.total.flush.total_time_in_millis] + elastizabbix[cluster,indices.fielddata.evictions,{$ES.CLUSTER.URL}] 60 7 365 0 3 - ms - 1 + + 0 0 @@ -152,27 +155,27 @@ 0 - Indices + ES Cluster - Average get latency + Field data size 0 0 - elastizabbix[indices,_all.total.get.time_in_millis] + elastizabbix[cluster,indices.fielddata.memory_size_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 0 3 - ms - 1 + b + 0 0 @@ -195,27 +198,27 @@ 0 - Indices + ES Cluster - Average indexing latency + Query cache evictions 0 0 - elastizabbix[indices,_all.total.indexing.index_time_in_millis] + elastizabbix[cluster,indices.query_cache.evictions,{$ES.CLUSTER.URL}] 60 7 365 0 3 - ms - 1 + + 0 0 @@ -238,27 +241,27 @@ 0 - Indices + ES Cluster - Average merge latency + Query cache size 0 0 - elastizabbix[indices,_all.total.merges.total_time_in_millis] + elastizabbix[cluster,indices.query_cache.memory_size_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 0 3 - ms - 1 + b + 0 0 @@ -281,27 +284,27 @@ 0 - Indices + ES Cluster - Average refresh latency + Shards count 0 0 - elastizabbix[indices,_all.total.refresh.total_time_in_millis] + elastizabbix[cluster,indices.shards.total,{$ES.CLUSTER.URL}] 60 7 365 0 3 - ms - 1 + + 0 0 @@ -324,27 +327,27 @@ 0 - Indices + ES Cluster - Average search latency + Nodes data 0 0 - elastizabbix[indices,_all.total.search.query_time_in_millis] + elastizabbix[cluster,nodes.count.data,{$ES.CLUSTER.URL}] 60 7 365 0 3 - ms - 1 + + 0 0 @@ -367,24 +370,24 @@ 0 - Indices + ES Cluster - Cluster status + Nodes total 0 0 - elastizabbix[health,status] + elastizabbix[cluster,nodes.count.total,{$ES.CLUSTER.URL}] 60 7 365 0 - 1 + 3 0 @@ -410,19 +413,19 @@ 0 - Cluster + ES Cluster - Documents per second + Active primary shards 0 0 - elastizabbix[cluster,indices.docs.count] + elastizabbix[health,active_primary_shards,{$ES.CLUSTER.URL}] 60 7 365 @@ -430,7 +433,7 @@ 3 - 1 + 0 0 @@ -453,19 +456,22 @@ 0 - Cluster + ES Cluster + + + ES Health - Field data evictions + Active shards 0 0 - elastizabbix[cluster,indices.fielddata.evictions] + elastizabbix[health,active_shards,{$ES.CLUSTER.URL}] 60 7 365 @@ -496,26 +502,29 @@ 0 - Cluster + ES Cluster + + + ES Health - Field data size + Initializing shards 0 0 - elastizabbix[cluster,indices.fielddata.memory_size_in_bytes] + elastizabbix[health,initializing_shards,{$ES.CLUSTER.URL}] 60 7 365 0 3 - b + 0 @@ -539,19 +548,22 @@ 0 - Cluster + ES Cluster + + + ES Health - Filter cache evictions + Pending tasks 0 0 - elastizabbix[cluster,indices.filter_cache.evictions] + elastizabbix[health,number_of_pending_tasks,{$ES.CLUSTER.URL}] 60 7 365 @@ -582,26 +594,29 @@ 0 - Cluster + ES Cluster + + + ES Health - Filter cache size + Cluster is reachable 0 0 - elastizabbix[cluster,indices.filter_cache.memory_size_in_bytes] + elastizabbix[health,reachable,{$ES.CLUSTER.URL}] 60 7 365 0 3 - b + 0 @@ -614,7 +629,7 @@ - 0 + 3 0 @@ -625,19 +640,22 @@ 0 - Cluster + ES Cluster + + + ES Health - Indices count + Relocating shards 0 0 - elastizabbix[cluster,indices.count] + elastizabbix[health,relocating_shards,{$ES.CLUSTER.URL}] 60 7 365 @@ -668,24 +686,27 @@ 0 - Cluster + ES Cluster + + + ES Health - Initializing shards + Cluster status 0 0 - elastizabbix[health,initializing_shards] + elastizabbix[health,status,{$ES.CLUSTER.URL}] 60 7 - 365 + 0 0 - 3 + 1 0 @@ -711,19 +732,22 @@ 0 - Cluster + ES Cluster + + + ES Health - Nodes data + Unassigned shards 0 0 - elastizabbix[cluster,nodes.count.data_only] + elastizabbix[health,unassigned_shards,{$ES.CLUSTER.URL}] 60 7 365 @@ -754,19 +778,22 @@ 0 - Cluster + ES Cluster + + + ES Health - Nodes total + Total flush rate 0 0 - elastizabbix[cluster,nodes.count.total] + elastizabbix[indices,_all.total.flush.total,{$ES.CLUSTER.URL}] 60 7 365 @@ -774,7 +801,7 @@ 3 - 0 + 1 0 @@ -797,27 +824,27 @@ 0 - Cluster + ES Indices - Pending tasks + Average flush latency 0 0 - elastizabbix[health,number_of_pending_tasks] + elastizabbix[indices,_all.total.flush.total_time_in_millis,{$ES.CLUSTER.URL}] 60 7 365 0 3 - - 0 + ms + 1 0 @@ -840,27 +867,27 @@ 0 - Cluster + ES Indices - Relocating shards + Average get latency 0 0 - elastizabbix[health,relocating_shards] + elastizabbix[indices,_all.total.get.time_in_millis,{$ES.CLUSTER.URL}] 60 7 365 0 3 - - 0 + ms + 1 0 @@ -883,19 +910,19 @@ 0 - Cluster + ES Indices - Shards count + Total get rate 0 0 - elastizabbix[cluster,indices.shards.total] + elastizabbix[indices,_all.total.get.total,{$ES.CLUSTER.URL}] 60 7 365 @@ -903,7 +930,7 @@ 3 - 0 + 1 0 @@ -926,26 +953,26 @@ 0 - Cluster + ES Indices - Total flush rate + Average indexing latency 0 0 - elastizabbix[indices,_all.total.flush.total] + elastizabbix[indices,_all.total.indexing.index_time_in_millis,{$ES.CLUSTER.URL}] 60 7 365 0 3 - + ms 1 @@ -969,19 +996,19 @@ 0 - Indices + ES Indices - Total get rate + Total indexing rate 0 0 - elastizabbix[indices,_all.total.get.total] + elastizabbix[indices,_all.total.indexing.index_total,{$ES.CLUSTER.URL}] 60 7 365 @@ -1012,19 +1039,19 @@ 0 - Indices + ES Indices - Total indexing rate + Total merge rate 0 0 - elastizabbix[indices,_all.total.indexing.index_total] + elastizabbix[indices,_all.total.merges.total,{$ES.CLUSTER.URL}] 60 7 365 @@ -1055,26 +1082,26 @@ 0 - Indices + ES Indices - Total merge rate + Average merge latency 0 0 - elastizabbix[indices,_all.total.merges.total] + elastizabbix[indices,_all.total.merges.total_time_in_millis,{$ES.CLUSTER.URL}] 60 7 365 0 3 - + ms 1 @@ -1098,7 +1125,7 @@ 0 - Indices + ES Indices @@ -1110,7 +1137,7 @@ 0 - elastizabbix[indices,_all.total.refresh.total] + elastizabbix[indices,_all.total.refresh.total,{$ES.CLUSTER.URL}] 60 7 365 @@ -1141,26 +1168,26 @@ 0 - Indices + ES Indices - Total search rate + Average refresh latency 0 0 - elastizabbix[indices,_all.total.search.query_total] + elastizabbix[indices,_all.total.refresh.total_time_in_millis,{$ES.CLUSTER.URL}] 60 7 365 0 3 - + ms 1 @@ -1184,19 +1211,62 @@ 0 - Indices + ES Indices - Unassigned shards + Average search latency + 0 + + 0 + + elastizabbix[indices,_all.total.search.query_time_in_millis,{$ES.CLUSTER.URL}] + 60 + 7 + 365 + 0 + 3 + + ms + 1 + + + 0 + 0 + + 0 + + 1 + + + + 0 + 0 + + + + + + + 0 + + + ES Indices + + + + + + + Total search rate 0 0 - elastizabbix[health,unassigned_shards] + elastizabbix[indices,_all.total.search.query_total,{$ES.CLUSTER.URL}] 60 7 365 @@ -1204,7 +1274,7 @@ 3 - 0 + 1 0 @@ -1227,7 +1297,7 @@ 0 - Cluster + ES Indices @@ -1239,7 +1309,7 @@ 0 - elastizabbix[indices,_all.total.warmer.total] + elastizabbix[indices,_all.total.warmer.total,{$ES.CLUSTER.URL}] 60 7 365 @@ -1270,7 +1340,7 @@ 0 - Indices + ES Indices @@ -1283,9 +1353,9 @@ 0 - elastizabbix[discover,indices] + elastizabbix[discover,indices,{$ES.CLUSTER.URL}] 60 - 1 + 0 @@ -1313,15 +1383,15 @@ {#NAME} docs count - 7 + 0 0 - elastizabbix[indices, indices.{#NAME}.primaries.docs.count] - 1800 + elastizabbix[indices, indices.{#NAME}.primaries.docs.count,{$ES.CLUSTER.URL}] + 60 7 365 - 1 + 0 3 @@ -1348,100 +1418,20 @@ 0 - Indices - - - - - - - {#NAME} searches - 7 - - 0 - - elastizabbix[indices, indices.{#NAME}.totals.search.query_total] - 600 - 7 - 365 - 1 - 3 - - - 2 - - - 0 - 0 - - 0 - - 1 - - - - 0 - 0 - - - - - - - 0 - - - Indices + ES Indices + - - - - - - - Node discovery - 0 - - - elastizabbix[discover,nodes] - 60 - 0 - - - - 0 - 0 - - 0 - - - - - 0 - - - - - - - 0 - - - - 1 - - - {#NAME} bulk thread rejected + {#NAME} docs deleted 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.bulk.rejected] + elastizabbix[indices, indices.{#NAME}.primaries.docs.deleted,{$ES.CLUSTER.URL}] 60 7 365 @@ -1449,7 +1439,7 @@ 3 - 1 + 0 0 @@ -1472,19 +1462,20 @@ 0 - Nodes + ES Indices + - {#NAME} bulk threads + {#NAME} searches 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.bulk.completed] + elastizabbix[indices, indices.{#NAME}.total.search.query_total,{$ES.CLUSTER.URL}] 60 7 365 @@ -1492,7 +1483,7 @@ 3 - 1 + 2 0 @@ -1515,26 +1506,27 @@ 0 - Nodes + ES Indices + - {#NAME} docs count + {#NAME} store 0 0 - elastizabbix[nodes,nodes.{#NODE}.indices.docs.count] + elastizabbix[indices, indices.{#NAME}.total.store.size_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 0 3 - + b 0 @@ -1558,19 +1550,167 @@ 0 - Nodes + ES Indices + - - {#NAME} docs deleted + + + + + ES - Index [{#NAME}] docs + 900 + 200 + 0.0000 + 100.0000 + 1 + 1 + 0 + 1 + 0 + 0.0000 + 0.0000 + 0 + 0 + 0 + 0 + + + 0 + 0 + 1A7C11 + 0 + 2 + 0 + + Template App ElasticSearch + elastizabbix[indices, indices.{#NAME}.primaries.docs.count,{$ES.CLUSTER.URL}] + + + + 1 + 0 + F63100 + 0 + 2 + 0 + + Template App ElasticSearch + elastizabbix[indices, indices.{#NAME}.primaries.docs.deleted,{$ES.CLUSTER.URL}] + + + + + + ES - Index [{#NAME}] searches + 900 + 200 + 0.0000 + 100.0000 + 1 + 1 + 0 + 1 + 0 + 0.0000 + 0.0000 + 0 + 0 + 0 + 0 + + + 0 + 0 + 1A7C11 + 0 + 2 + 0 + + Template App ElasticSearch + elastizabbix[indices, indices.{#NAME}.total.search.query_total,{$ES.CLUSTER.URL}] + + + + + + ES - Index [{#NAME}] store + 900 + 200 + 0.0000 + 100.0000 + 1 + 1 + 0 + 1 + 0 + 0.0000 + 0.0000 + 0 + 0 + 0 + 0 + + + 0 + 0 + 1A7C11 + 0 + 2 + 0 + + Template App ElasticSearch + elastizabbix[indices, indices.{#NAME}.total.store.size_in_bytes,{$ES.CLUSTER.URL}] + + + + + + + + + Node discovery + 0 + + + elastizabbix[discover,nodes,{$ES.CLUSTER.URL}] + 60 + 0 + + + + 0 + 0 + + 0 + + + + + 0 + + + + + + + 0 + + + + 1 + + + + {#NAME} fielddata breaker trips 0 0 - elastizabbix[nodes,nodes.{#NODE}.indices.docs.deleted] + elastizabbix[nodes,nodes.{#NODE}.breakers.fielddata.tripped,{$ES.CLUSTER.URL}] 60 7 365 @@ -1578,7 +1718,7 @@ 3 - 0 + 2 0 @@ -1601,19 +1741,20 @@ 0 - Nodes + ES Nodes + - {#NAME} fielddata breaker trips + {#NAME} parent breaker trips 0 0 - elastizabbix[nodes,nodes.{#NODE}.breakers.fielddata.tripped] + elastizabbix[nodes,nodes.{#NODE}.breakers.parent.tripped,{$ES.CLUSTER.URL}] 60 7 365 @@ -1644,19 +1785,20 @@ 0 - Nodes + ES Nodes + - {#NAME} get threads + {#NAME} request breaker trips 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.get.completed] + elastizabbix[nodes,nodes.{#NODE}.breakers.request.tripped,{$ES.CLUSTER.URL}] 60 7 365 @@ -1664,7 +1806,7 @@ 3 - 1 + 2 0 @@ -1687,19 +1829,20 @@ 0 - Nodes + ES Nodes + - {#NAME} get threads rejected + {#NAME} http connections 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.get.rejected] + elastizabbix[nodes,nodes.{#NODE}.http.total_opened,{$ES.CLUSTER.URL}] 60 7 365 @@ -1730,19 +1873,20 @@ 0 - Nodes + ES Nodes + - {#NAME} http connections + {#NAME} docs count 0 0 - elastizabbix[nodes,nodes.{#NODE}.http.total_opened] + elastizabbix[nodes,nodes.{#NODE}.indices.docs.count,{$ES.CLUSTER.URL}] 60 7 365 @@ -1750,7 +1894,7 @@ 3 - 1 + 0 0 @@ -1773,27 +1917,28 @@ 0 - Nodes + ES Nodes + - {#NAME} Incoming transport traffic + {#NAME} docs deleted 0 0 - elastizabbix[nodes,nodes.{#NODE}.transport.rx_size_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.indices.docs.deleted,{$ES.CLUSTER.URL}] 60 7 365 0 3 - bps - 1 + + 0 0 @@ -1816,27 +1961,28 @@ 0 - Nodes + ES Nodes + - {#NAME} index disk usage + {#NAME} search fetches 0 0 - elastizabbix[nodes,nodes.{#NODE}.indices.store.size_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.indices.search.fetch_total,{$ES.CLUSTER.URL}] 60 7 365 0 3 - b - 0 + + 1 0 @@ -1859,19 +2005,20 @@ 0 - Nodes + ES Nodes + - {#NAME} index threads + {#NAME} search queries 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.index.completed] + elastizabbix[nodes,nodes.{#NODE}.indices.search.query_total,{$ES.CLUSTER.URL}] 60 7 365 @@ -1902,26 +2049,27 @@ 0 - Nodes + ES Nodes + - {#NAME} jvm heap used + {#NAME} index disk usage 0 0 - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.heap_used_percent] + elastizabbix[nodes,nodes.{#NODE}.indices.store.size_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 0 3 - % + b 0 @@ -1945,27 +2093,28 @@ 0 - Nodes + ES Nodes + - {#NAME} jvm mem heap max + {#NAME} jvm old collections 0 0 - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.heap_max_in_bytes] - 3600 + elastizabbix[nodes,nodes.{#NODE}.jvm.gc.collectors.old.collection_count,{$ES.CLUSTER.URL}] + 60 7 365 0 3 - b - 0 + + 2 0 @@ -1988,27 +2137,28 @@ 0 - Nodes + ES Nodes + - {#NAME} jvm mem old + {#NAME} jvm young collections 0 0 - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.old.used_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.jvm.gc.collectors.young.collection_count,{$ES.CLUSTER.URL}] 60 7 365 0 3 - b - 0 + + 2 0 @@ -2031,19 +2181,20 @@ 0 - Nodes + ES Nodes + - {#NAME} jvm mem survivor + {#NAME} jvm mem heap max 0 0 - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.survivor.used_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.heap_max_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 @@ -2074,26 +2225,27 @@ 0 - Nodes + ES Nodes + - {#NAME} jvm mem young + {#NAME} jvm heap used 0 0 - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.young.used_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.heap_used_percent,{$ES.CLUSTER.URL}] 60 7 365 0 3 - b + % 0 @@ -2117,27 +2269,28 @@ 0 - Nodes + ES Nodes + - {#NAME} jvm old collections + {#NAME} jvm mem old 0 0 - elastizabbix[nodes,nodes.{#NODE}.jvm.gc.collectors.old.collection_count] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.old.used_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 0 3 - - 2 + b + 0 0 @@ -2160,26 +2313,27 @@ 0 - Nodes + ES Nodes + - {#NAME} jvm thread count + {#NAME} jvm mem survivor 0 0 - elastizabbix[nodes,nodes.{#NODE}.jvm.threads.count] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.survivor.used_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 0 3 - + b 0 @@ -2203,27 +2357,28 @@ 0 - Nodes + ES Nodes + - {#NAME} jvm young collections + {#NAME} jvm mem young 0 0 - elastizabbix[nodes,nodes.{#NODE}.jvm.gc.collectors.young.collection_count] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.young.used_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 0 3 - - 2 + b + 0 0 @@ -2246,19 +2401,20 @@ 0 - Nodes + ES Nodes + - {#NAME} listener threads + {#NAME} jvm thread count 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.listener.completed] + elastizabbix[nodes,nodes.{#NODE}.jvm.threads.count,{$ES.CLUSTER.URL}] 60 7 365 @@ -2266,7 +2422,7 @@ 3 - 1 + 0 0 @@ -2289,26 +2445,27 @@ 0 - Nodes + ES Nodes + - {#NAME} Outgoing transport traffic + {#NAME} bulk threads 0 0 - elastizabbix[nodes,nodes.{#NODE}.transport.tx_size_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.bulk.completed,{$ES.CLUSTER.URL}] 60 7 365 0 3 - bps + 1 @@ -2332,19 +2489,20 @@ 0 - Nodes + ES Nodes + - {#NAME} parent breaker trips + {#NAME} bulk thread rejected 0 0 - elastizabbix[nodes,nodes.{#NODE}.breakers.parent.tripped] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.bulk.rejected,{$ES.CLUSTER.URL}] 60 7 365 @@ -2352,7 +2510,7 @@ 3 - 2 + 1 0 @@ -2375,19 +2533,20 @@ 0 - Nodes + ES Nodes + - {#NAME} percolate threads + {#NAME} get threads 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.percolate.completed] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.get.completed,{$ES.CLUSTER.URL}] 60 7 365 @@ -2418,19 +2577,20 @@ 0 - Nodes + ES Nodes + - {#NAME} refresh threads + {#NAME} get threads rejected 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.refresh.completed] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.get.rejected,{$ES.CLUSTER.URL}] 60 7 365 @@ -2461,19 +2621,20 @@ 0 - Nodes + ES Nodes + - {#NAME} request breaker trips + {#NAME} index threads 0 0 - elastizabbix[nodes,nodes.{#NODE}.breakers.request.tripped] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.index.completed,{$ES.CLUSTER.URL}] 60 7 365 @@ -2481,7 +2642,7 @@ 3 - 2 + 1 0 @@ -2504,19 +2665,20 @@ 0 - Nodes + ES Nodes + - {#NAME} search fetches + {#NAME} listener threads 0 0 - elastizabbix[nodes,nodes.{#NODE}.indices.search.fetch_total] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.listener.completed,{$ES.CLUSTER.URL}] 60 7 365 @@ -2547,19 +2709,20 @@ 0 - Nodes + ES Nodes + - {#NAME} search queries + {#NAME} refresh threads 0 0 - elastizabbix[nodes,nodes.{#NODE}.indices.search.query_total] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.refresh.completed,{$ES.CLUSTER.URL}] 60 7 365 @@ -2590,11 +2753,12 @@ 0 - Nodes + ES Nodes + {#NAME} search threads @@ -2602,7 +2766,7 @@ 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.search.completed] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.search.completed,{$ES.CLUSTER.URL}] 60 7 365 @@ -2633,11 +2797,12 @@ 0 - Nodes + ES Nodes + {#NAME} snapshot threads @@ -2645,7 +2810,7 @@ 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.snapshot.completed] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.snapshot.completed,{$ES.CLUSTER.URL}] 60 7 365 @@ -2676,19 +2841,20 @@ 0 - Nodes + ES Nodes + - {#NAME} suggest threads + {#NAME} warmer threads 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.suggest.completed] + elastizabbix[nodes,nodes.{#NODE}.thread_pool.warmer.completed,{$ES.CLUSTER.URL}] 60 7 365 @@ -2719,19 +2885,20 @@ 0 - Nodes + ES Nodes + - {#NAME} transport connections + {#NAME} transport rx per second 0 0 - elastizabbix[nodes,nodes.{#NODE}.transport.server_open] + elastizabbix[nodes,nodes.{#NODE}.transport.rx_count,{$ES.CLUSTER.URL}] 60 7 365 @@ -2739,7 +2906,7 @@ 3 - 0 + 1 0 @@ -2762,26 +2929,27 @@ 0 - Nodes + ES Nodes + - {#NAME} transport rx per second + {#NAME} Incoming transport traffic 0 0 - elastizabbix[nodes,nodes.{#NODE}.transport.rx_count] + elastizabbix[nodes,nodes.{#NODE}.transport.rx_size_in_bytes,{$ES.CLUSTER.URL}] 60 7 365 0 3 - + bps 1 @@ -2805,19 +2973,20 @@ 0 - Nodes + ES Nodes + - {#NAME} transport tx per second + {#NAME} transport connections 0 0 - elastizabbix[nodes,nodes.{#NODE}.transport.tx_count] + elastizabbix[nodes,nodes.{#NODE}.transport.server_open,{$ES.CLUSTER.URL}] 60 7 365 @@ -2825,7 +2994,7 @@ 3 - 1 + 0 0 @@ -2848,19 +3017,20 @@ 0 - Nodes + ES Nodes + - {#NAME} warmer threads + {#NAME} transport tx per second 0 0 - elastizabbix[nodes,nodes.{#NODE}.thread_pool.warmer.completed] + elastizabbix[nodes,nodes.{#NODE}.transport.tx_count,{$ES.CLUSTER.URL}] 60 7 365 @@ -2891,54 +3061,103 @@ 0 - Nodes + ES Nodes + - - - - {Template App ElasticSearch:elastizabbix[nodes,nodes.{#NODE}.breakers.fielddata.tripped].last()}>0 - ElasticSearch fielddata breaker tripped on {#NAME} - - 0 - 1 - + + {#NAME} Outgoing transport traffic 0 - - - {Template App ElasticSearch:elastizabbix[nodes,nodes.{#NODE}.jvm.mem.heap_used_percent].last()}>85 - ElasticSearch Node Heap is over 85% on {#NAME} - - 0 + + 0 + + elastizabbix[nodes,nodes.{#NODE}.transport.tx_size_in_bytes,{$ES.CLUSTER.URL}] + 60 + 7 + 365 + 0 + 3 + + bps + 1 + + + 0 + 0 + + 0 + + 1 + + + + 0 + 0 + + + + + + + 0 + + + ES Nodes + + + + + + + + + + {Template App ElasticSearch:elastizabbix[nodes,nodes.{#NODE}.breakers.fielddata.tripped,{$ES.CLUSTER.URL}].last()}>0 + [{HOST.NAME}] ElasticSearch fielddata breaker tripped on {#NAME} + + 0 + 1 + + 0 + + + + {Template App ElasticSearch:elastizabbix[nodes,nodes.{#NODE}.jvm.mem.heap_used_percent,{$ES.CLUSTER.URL}].last()}>85 + [{HOST.NAME}] ElasticSearch Node Heap is over 85% on {#NAME} + + 0 4 0 + - {Template App ElasticSearch:elastizabbix[nodes,nodes.{#NODE}.breakers.parent.tripped].last()}>0 - ElasticSearch parent breaker tripped on {#NAME} + {Template App ElasticSearch:elastizabbix[nodes,nodes.{#NODE}.breakers.parent.tripped,{$ES.CLUSTER.URL}].last()}>0 + [{HOST.NAME}] ElasticSearch parent breaker tripped on {#NAME} 0 1 0 + - {Template App ElasticSearch:elastizabbix[nodes,nodes.{#NODE}.breakers.request.tripped].last()}>0 - ElasticSearch request breaker tripped on {#NAME} + {Template App ElasticSearch:elastizabbix[nodes,nodes.{#NODE}.breakers.request.tripped,{$ES.CLUSTER.URL}].last()}>0 + [{HOST.NAME}] ElasticSearch request breaker tripped on {#NAME} 0 1 0 + - {#NAME} Documents + ES - Node [{#NAME}] Documents 900 200 0.0000 @@ -2958,13 +3177,13 @@ 0 0 - 000000 + 1A7C11 0 2 0 Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.indices.docs.count] + elastizabbix[nodes,nodes.{#NODE}.indices.docs.count,{$ES.CLUSTER.URL}] @@ -2976,13 +3195,13 @@ 0 Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.indices.docs.deleted] + elastizabbix[nodes,nodes.{#NODE}.indices.docs.deleted,{$ES.CLUSTER.URL}] - {#NAME} JVM Heap + ES - Node [{#NAME}] JVM Heap 900 200 0.0000 @@ -2999,7 +3218,7 @@ 0 Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.heap_max_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.heap_max_in_bytes,{$ES.CLUSTER.URL}] @@ -3011,7 +3230,7 @@ 0 Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.old.used_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.old.used_in_bytes,{$ES.CLUSTER.URL}] @@ -3023,7 +3242,7 @@ 0 Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.survivor.used_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.survivor.used_in_bytes,{$ES.CLUSTER.URL}] @@ -3035,153 +3254,13 @@ 0 Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.young.used_in_bytes] - - - - - - {#NAME} Threads - 900 - 200 - 0.0000 - 100.0000 - 1 - 1 - 0 - 1 - 0 - 0.0000 - 0.0000 - 0 - 0 - 0 - 0 - - - 0 - 0 - 00C800 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.bulk.completed] - - - - 1 - 0 - C80000 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.get.completed] - - - - 2 - 0 - 0000C8 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.index.completed] - - - - 3 - 0 - C800C8 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.listener.completed] - - - - 4 - 0 - 00C8C8 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.percolate.completed] - - - - 5 - 0 - C8C800 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.refresh.completed] - - - - 6 - 0 - 777777 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.search.completed] - - - - 7 - 0 - 009600 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.snapshot.completed] - - - - 8 - 0 - 960000 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.suggest.completed] - - - - 9 - 0 - 000096 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.thread_pool.warmer.completed] + elastizabbix[nodes,nodes.{#NODE}.jvm.mem.pools.young.used_in_bytes,{$ES.CLUSTER.URL}] - {#NAME} Transport Traffic + ES - Node [{#NAME}] Transport Traffic 900 200 0.0000 @@ -3207,7 +3286,7 @@ 0 Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.transport.rx_size_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.transport.rx_size_in_bytes,{$ES.CLUSTER.URL}] @@ -3219,7 +3298,7 @@ 0 Template App ElasticSearch - elastizabbix[nodes,nodes.{#NODE}.transport.tx_size_in_bytes] + elastizabbix[nodes,nodes.{#NODE}.transport.tx_size_in_bytes,{$ES.CLUSTER.URL}] @@ -3228,7 +3307,12 @@ - + + + {$ES.CLUSTER.URL} + http://localhost:9200 + + @@ -3236,12 +3320,34 @@ 2 7 + + 0 + 600 + 100 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + + + 0 + 0 + + ES - Index Operations + Template App ElasticSearch + + 3 + + 0 600 100 1 - 3 + 0 1 1 0 @@ -3252,7 +3358,7 @@ 0 0 - Cluster Nodes + ES - Index Latency Template App ElasticSearch 3 @@ -3274,7 +3380,29 @@ 0 0 - Doc index rate + ES - Doc index rate + Template App ElasticSearch + + 3 + + + + 0 + 600 + 100 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + 0 + 0 + + ES - Shard Movement Template App ElasticSearch 3 @@ -3296,7 +3424,7 @@ 0 0 - Field data performance + ES - Field data performance Template App ElasticSearch 3 @@ -3318,7 +3446,7 @@ 0 0 - Filter cache performance + ES - Query cache performance Template App ElasticSearch 3 @@ -3340,7 +3468,7 @@ 0 0 - elastizabbix[health,number_of_pending_tasks] + elastizabbix[health,number_of_pending_tasks,{$ES.CLUSTER.URL}] Template App ElasticSearch 3 @@ -3351,7 +3479,7 @@ 600 100 1 - 1 + 3 1 1 0 @@ -3362,7 +3490,7 @@ 0 0 - Shard Movement + ES - Cluster Nodes Template App ElasticSearch 3 @@ -3384,7 +3512,7 @@ 0 0 - {#NAME} JVM Heap + ES - Node [{#NAME}] JVM Heap Template App ElasticSearch 2 @@ -3406,15 +3534,22 @@ 0 0 - {#NAME} Transport Traffic + ES - Node [{#NAME}] Transport Traffic Template App ElasticSearch 2 + + + + Elasticsearch Indices + 3 + 1 + - 0 - 600 + 20 + 500 100 0 0 @@ -3428,15 +3563,15 @@ 0 0 - Index Operations + ES - Index [{#NAME}] docs Template App ElasticSearch - 3 + 1 - 0 - 600 + 20 + 500 100 1 0 @@ -3450,19 +3585,19 @@ 0 0 - Index Latency + ES - Index [{#NAME}] searches Template App ElasticSearch - 3 + 1 20 - 600 - 130 - 0 - 5 - 2 + 500 + 100 + 2 + 0 + 1 1 0 0 @@ -3472,27 +3607,21 @@ 0 0 - {#NAME} Threads + ES - Index [{#NAME}] store Template App ElasticSearch - 2 + 1 - - Elasticsearch Indices - 1 - 1 - - - {Template App ElasticSearch:elastizabbix[health,status].str(red)}=1 - ElasticSearch Cluster Status is Red + {Template App ElasticSearch:elastizabbix[health,status,{$ES.CLUSTER.URL}].str(red)}=1 + [{HOST.NAME}] ElasticSearch Cluster Status is Red 0 4 @@ -3501,8 +3630,8 @@ - {Template App ElasticSearch:elastizabbix[health,status].str(yellow)}=1 - ElasticSearch Cluster Status is Yellow + {Template App ElasticSearch:elastizabbix[health,status,{$ES.CLUSTER.URL}].str(yellow)}=1 + [{HOST.NAME}] ElasticSearch Cluster Status is Yellow 0 2 @@ -3511,8 +3640,20 @@ - {Template App ElasticSearch:elastizabbix[health,unassigned_shards].last()}>0 - Unassigned Shards + ({TRIGGER.VALUE}=0 and {Template App ElasticSearch:elastizabbix[health,reachable,{$ES.CLUSTER.URL}].max(5m)}=0) +or +({TRIGGER.VALUE}=1 and {Template App ElasticSearch:elastizabbix[health,reachable,{$ES.CLUSTER.URL}].min(10m)}=0) + [{HOST.NAME}] ElasticSearch is unreachable for 5 minutes + + 0 + 4 + + 0 + + + + {Template App ElasticSearch:elastizabbix[health,unassigned_shards,{$ES.CLUSTER.URL}].last()}>0 + [{HOST.NAME}] Unassigned Shards 0 2 @@ -3523,7 +3664,7 @@ - Cluster Nodes + ES - Cluster Nodes 900 200 0.0000 @@ -3543,13 +3684,13 @@ 0 4 - 000000 + F63100 0 2 0 Template App ElasticSearch - elastizabbix[cluster,nodes.count.total] + elastizabbix[cluster,nodes.count.total,{$ES.CLUSTER.URL}] @@ -3561,45 +3702,13 @@ 0 Template App ElasticSearch - elastizabbix[cluster,nodes.count.data_only] - - - - - - Doc index rate - 900 - 200 - 0.0000 - 100.0000 - 1 - 1 - 0 - 1 - 0 - 0.0000 - 0.0000 - 0 - 0 - 0 - 0 - - - 0 - 0 - 00C800 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[cluster,indices.docs.count] + elastizabbix[cluster,nodes.count.data,{$ES.CLUSTER.URL}] - Field data performance + ES - Doc index rate 900 200 0.0000 @@ -3619,31 +3728,19 @@ 0 0 - C80000 - 0 - 2 - 0 - - Template App ElasticSearch - elastizabbix[cluster,indices.fielddata.memory_size_in_bytes] - - - - 1 - 0 00C800 0 2 0 Template App ElasticSearch - elastizabbix[cluster,indices.fielddata.evictions] + elastizabbix[cluster,indices.docs.count,{$ES.CLUSTER.URL}] - Filter cache performance + ES - Field data performance 900 200 0.0000 @@ -3669,7 +3766,7 @@ 0 Template App ElasticSearch - elastizabbix[cluster,indices.filter_cache.memory_size_in_bytes] + elastizabbix[cluster,indices.fielddata.memory_size_in_bytes,{$ES.CLUSTER.URL}] @@ -3681,13 +3778,13 @@ 0 Template App ElasticSearch - elastizabbix[cluster,indices.filter_cache.evictions] + elastizabbix[cluster,indices.fielddata.evictions,{$ES.CLUSTER.URL}] - Index Latency + ES - Index Latency 900 200 0.0000 @@ -3713,7 +3810,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.flush.total_time_in_millis] + elastizabbix[indices,_all.total.flush.total_time_in_millis,{$ES.CLUSTER.URL}] @@ -3725,7 +3822,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.get.time_in_millis] + elastizabbix[indices,_all.total.get.time_in_millis,{$ES.CLUSTER.URL}] @@ -3737,7 +3834,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.indexing.index_time_in_millis] + elastizabbix[indices,_all.total.indexing.index_time_in_millis,{$ES.CLUSTER.URL}] @@ -3749,7 +3846,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.merges.total_time_in_millis] + elastizabbix[indices,_all.total.merges.total_time_in_millis,{$ES.CLUSTER.URL}] @@ -3761,7 +3858,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.refresh.total_time_in_millis] + elastizabbix[indices,_all.total.refresh.total_time_in_millis,{$ES.CLUSTER.URL}] @@ -3773,13 +3870,13 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.search.query_time_in_millis] + elastizabbix[indices,_all.total.search.query_time_in_millis,{$ES.CLUSTER.URL}] - Index Operations + ES - Index Operations 900 200 0.0000 @@ -3805,7 +3902,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.flush.total] + elastizabbix[indices,_all.total.flush.total,{$ES.CLUSTER.URL}] @@ -3817,7 +3914,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.get.total] + elastizabbix[indices,_all.total.get.total,{$ES.CLUSTER.URL}] @@ -3829,7 +3926,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.indexing.index_total] + elastizabbix[indices,_all.total.indexing.index_total,{$ES.CLUSTER.URL}] @@ -3841,7 +3938,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.merges.total] + elastizabbix[indices,_all.total.merges.total,{$ES.CLUSTER.URL}] @@ -3853,7 +3950,7 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.refresh.total] + elastizabbix[indices,_all.total.refresh.total,{$ES.CLUSTER.URL}] @@ -3865,13 +3962,13 @@ 0 Template App ElasticSearch - elastizabbix[indices,_all.total.search.query_total] + elastizabbix[indices,_all.total.search.query_total,{$ES.CLUSTER.URL}] - Query Performance + ES - Query cache performance 900 200 0.0000 @@ -3888,22 +3985,66 @@ 0 0 + + 0 + 0 + C80000 + 0 + 2 + 0 + + Template App ElasticSearch + elastizabbix[cluster,indices.query_cache.memory_size_in_bytes,{$ES.CLUSTER.URL}] + + 1 0 + 00C800 + 0 + 2 + 0 + + Template App ElasticSearch + elastizabbix[cluster,indices.query_cache.evictions,{$ES.CLUSTER.URL}] + + + + + + ES - Query Performance + 900 + 200 + 0.0000 + 100.0000 + 1 + 1 + 0 + 1 + 0 + 0.0000 + 0.0000 + 0 + 0 + 0 + 0 + + + 0 + 0 C80000 0 2 0 Template App ElasticSearch - elastizabbix[indices,_all.total.search.query_total] + elastizabbix[indices,_all.total.search.query_total,{$ES.CLUSTER.URL}] - Shard Movement + ES - Shard Movement 900 200 0.0000 @@ -3921,39 +4062,39 @@ 0 - 1 + 0 0 - 00CCCC + CC00CC 0 2 0 Template App ElasticSearch - elastizabbix[health,initializing_shards] + elastizabbix[health,unassigned_shards,{$ES.CLUSTER.URL}] - 2 + 1 0 - 00DD00 + 00CCCC 0 2 0 Template App ElasticSearch - elastizabbix[health,relocating_shards] + elastizabbix[health,initializing_shards,{$ES.CLUSTER.URL}] - 0 + 2 0 - CC00CC + 00DD00 0 2 0 Template App ElasticSearch - elastizabbix[health,unassigned_shards] + elastizabbix[health,relocating_shards,{$ES.CLUSTER.URL}] From 42fc9ea01f0c3839327198b1f12a68d394eaeec4 Mon Sep 17 00:00:00 2001 From: Rodrigo Luis Silva Date: Wed, 14 Jun 2017 17:16:51 +0100 Subject: [PATCH 6/6] Add information about last updates --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e9d5872..be594f0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # elastizabbix Down and dirty elastic / elasticsearch monitoring plugin for zabbix +> Forked from: https://github.com/mkhpalm/elastizabbix + ## Features: - Stats cache to avoid saturating nodes with monitoring requests @@ -11,20 +13,23 @@ Down and dirty elastic / elasticsearch monitoring plugin for zabbix ## Requirements - Python 2/3 on an elastic node with zabbix agent installed + - or you can install on your Zabbix server and set up the remote URL to be monitored ## Installation -This only needs to be setup on one of the elasticsearch nodes +This only needs to be setup on one of the elasticsearch nodes or on the Zabbix server #### Zabbix Agent - Copy elastizabbix to agent scripts folder - Copy elastizabbix.conf to conf.d or add UserParameter to your agent config +- Restart the Zabbix Agent #### Zabbix Frontend -- Import the XML template (supports zabbix 2.4 and greater) +- Import the XML template (tested on Zabbix 3.0) - Add node to the newly imported template +- Change the node macro `{$ES.CLUSTER.URL}` to your cluster address `http://localhost:9200` ## The MIT License (MIT)