zabbix_export: version: '7.0' template_groups: - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 name: Templates/Applications host_groups: - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 name: Applications templates: - uuid: f74adf26d9ab44ada318002d31fd2881 template: 'HashiCorp Nomad by HTTP' name: 'HashiCorp Nomad by HTTP' description: | Discover HashiCorp Nomad servers and clients automatically. Don't forget to change macro {$NOMAD.ENDPOINT.API.URL}, {$NOMAD.TOKEN} values. You can discuss this template or leave feedback on our forum: https://www.zabbix.com/forum/zabbix-suggestions-and-feedback. Generated by official Zabbix template tool "Templator" vendor: name: Zabbix version: 7.0-1 groups: - name: Templates/Applications items: - uuid: 50bf00cc5c9f41c887add07d0bba3cc1 name: 'Client nodes API response' type: DEPENDENT key: nomad.client.nodes.api.response delay: '0' value_type: TEXT trends: '0' description: 'Client nodes API response message.' preprocessing: - type: JAVASCRIPT parameters: - | try { var response = Object.keys(JSON.parse(value).header).filter(function (f) { return f.match(/HTTP\/[\d.]+\s+\d{3}/); }); return response.pop(); } catch (error) { return "HTTP/1.1 408 Request timeout"; } - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.nodes.get tags: - tag: component value: status triggers: - uuid: f2e1cbbf808946ca902c1f378747e936 expression: 'find(/HashiCorp Nomad by HTTP/nomad.client.nodes.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' name: 'HashiCorp Nomad: Client nodes API connection has failed' event_name: 'HashiCorp Nomad: Client nodes API connection has failed. HTTP response code: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+(\d{3})", \1")}. Response message: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+\d{3}\s+(.*)", \1")}' priority: AVERAGE description: | Client nodes API connection has failed. Ensure that Nomad API URL and the necessary permissions have been defined correctly, check the service state and network connectivity between Nomad and Zabbix. manual_close: 'YES' tags: - tag: scope value: availability - uuid: 99d8cd0768094bef93995e4baa475186 name: 'Nomad clients get' type: HTTP_AGENT key: nomad.client.nodes.get delay: 1h history: '0' value_type: TEXT trends: '0' description: 'Nomad clients data in raw format.' preprocessing: - type: CHECK_NOT_SUPPORTED parameters: - '-1' error_handler: CUSTOM_VALUE error_handler_params: '{"header":{"HTTP/1.1 408 Request timeout":""}}' timeout: '{$NOMAD.DATA.TIMEOUT}' url: '{$NOMAD.ENDPOINT.API.URL}/v1/nodes' query_fields: - name: os value: 'true' status_codes: '' http_proxy: '{$NOMAD.HTTP.PROXY}' headers: - name: X-Nomad-Token value: '{$NOMAD.TOKEN}' retrieve_mode: BOTH output_format: JSON tags: - tag: component value: raw - uuid: 7a46e18358e641cc941b306de6eb5dc4 name: 'Nomad clients count' type: DEPENDENT key: nomad.clients.count delay: '0' description: 'Nomad clients count.' preprocessing: - type: JSONPATH parameters: - '$.body[?(@.Name)].length()' master_item: key: nomad.client.nodes.get tags: - tag: component value: environment - uuid: e848e135a5574931accf114fcafb89d7 name: Region type: DEPENDENT key: nomad.region delay: '0' value_type: CHAR trends: '0' description: 'Current cluster region.' preprocessing: - type: JSONPATH parameters: - $..region.first() master_item: key: nomad.server.nodes.get tags: - tag: component value: environment - uuid: 53a0c689f27547ccbcb0a57c736a5027 name: 'Server-related APIs response' type: DEPENDENT key: nomad.server.api.response delay: '0' value_type: TEXT trends: '0' description: 'Server-related (`operator/raft/configuration`, `agent/members`) APIs error response message.' preprocessing: - type: JSONPATH parameters: - $.error error_handler: CUSTOM_VALUE error_handler_params: 'HTTP/1.1 200 OK' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.server.nodes.get triggers: - uuid: 1560c32cb7de4fc8a58cf537c7958205 expression: 'find(/HashiCorp Nomad by HTTP/nomad.server.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' name: 'HashiCorp Nomad: Server-related API connection has failed' event_name: 'HashiCorp Nomad: Server-related API connection has failed. HTTP response code: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+(\d{3})", \1")}. Response message: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+\d{3}\s+(.*)", \1")}' priority: AVERAGE description: | Server-related API connection has failed. Ensure that Nomad API URL and the necessary permissions have been defined correctly, check the service state and network connectivity between Nomad and Zabbix. manual_close: 'YES' tags: - tag: scope value: availability - uuid: 254354aa21764751bf7e1961e37de7ae name: 'Nomad servers get' type: SCRIPT key: nomad.server.nodes.get delay: 1h history: '0' value_type: TEXT trends: '0' params: | var Nomad = { setParams: function (params) { ['api_endpoint'].forEach(function (field) { if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') { throw 'Required param is not set: "' + field + '".'; } }); Nomad.params = params; if (typeof Nomad.params.api_endpoint === 'string' && !Nomad.params.api_endpoint.endsWith('/')) { Nomad.params.api_endpoint += '/'; } }, request: function (query) { var response, request = new HttpRequest(), url = Nomad.params.api_endpoint + query; request.addHeader('Content-Type: application/json'); request.addHeader('X-Nomad-Token: ' + Nomad.params.token); if (Nomad.params.http_proxy) { request.setProxy(Nomad.params.http_proxy) Zabbix.log(4, '[ Nomad ] Using http proxy: ' + Nomad.params.http_proxy); } Zabbix.log(4, '[ Nomad ] Sending request: ' + url); response = request.get(url); Zabbix.log(4, '[ Nomad ] Received response with status code ' + request.getStatus() + ': ' + response); if (response !== null) { try { response = JSON.parse(response); } catch (error) { throw 'Failed to parse response received from Nomad agent API.'; } } return { status: request.getStatus(), response: response }; }, getField: function (data, path) { var steps = path.split('.'); for (var i = 0; i < steps.length; i++) { var step = steps[i]; if (typeof data !== 'object' || typeof data[step] === 'undefined') { throw 'Required field was not found: ' + path; } data = data[step]; } return data; }, getIds: function () { var result = this.request('v1/operator/raft/configuration'); if (typeof result.response !== 'object' || result.status != 200) { throw 'Cannot get servers list from Nomad agent API.'; } return this.getField(result, 'response.Servers') .map(function (srv) { return srv['ID']; }); }, getServers: function () { var ids = this.getIds(); result = Nomad.request('v1/agent/members'); if (typeof result.response !== 'object' || result.status != 200) { throw 'Cannot get servers list from Nomad agent API.'; } return this.getField(result,'response.Members').filter(function (s) { return ids.indexOf(s.Tags.id) >= 0; }); }, }; try { Nomad.setParams(JSON.parse(value)); var servers = Nomad.getServers(); return JSON.stringify(servers); } catch (error) { error += ((String(error).endsWith('.')) ? '' : '.'); Zabbix.log(3, '[ Nomad ] ERROR: ' + error); return JSON.stringify({ error: error + ' Check debug log for more information.' }); } description: 'Nomad servers data in raw format.' timeout: '{$NOMAD.DATA.TIMEOUT}' parameters: - name: api_endpoint value: '{$NOMAD.ENDPOINT.API.URL}' - name: http_proxy value: '{$NOMAD.HTTP.PROXY}' - name: token value: '{$NOMAD.TOKEN}' tags: - tag: component value: raw - uuid: 904e226008324cb8aa11f716e0420b51 name: 'Nomad servers count' type: DEPENDENT key: nomad.servers.count delay: '0' description: 'Nomad servers count.' preprocessing: - type: JSONPATH parameters: - '$[?(@.Name)].length()' master_item: key: nomad.server.nodes.get tags: - tag: component value: environment discovery_rules: - uuid: 0ba167e5638344ab842224df5b8909e1 name: 'Clients discovery' type: DEPENDENT key: nomad.clients.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#CLIENT.DC}' value: '{$NOMAD.CLIENT.DC.MATCHES}' formulaid: A - macro: '{#CLIENT.DC}' value: '{$NOMAD.CLIENT.DC.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: B - macro: '{#CLIENT.NAME}' value: '{$NOMAD.CLIENT.NAME.MATCHES}' formulaid: C - macro: '{#CLIENT.NAME}' value: '{$NOMAD.CLIENT.NAME.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: D - macro: '{#CLIENT.SCHEDULE.ELIGIBILITY}' value: '{$NOMAD.CLIENT.SCHEDULE.ELIGIBILITY.MATCHES}' formulaid: E - macro: '{#CLIENT.SCHEDULE.ELIGIBILITY}' value: '{$NOMAD.CLIENT.SCHEDULE.ELIGIBILITY.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: F description: 'Client nodes discovery.' host_prototypes: - uuid: 8284dcf3055749d3b27720526c665e34 host: '{#CLIENT.ID}' name: '{#CLIENT.NAME}-client' group_links: - group: name: Applications templates: - name: 'HashiCorp Nomad Client by HTTP' tags: - tag: class value: '{#CLIENT.CLASS}' - tag: dc value: '{#CLIENT.DC}' - tag: drained value: '{#CLIENT.DRAIN.STATE}' - tag: os value: '{#CLIENT.OS}' - tag: scheduling value: '{#CLIENT.SCHEDULE.ELIGIBILITY}' - tag: service value: nomad-client - tag: version value: '{#CLIENT.VERSION}' custom_interfaces: 'YES' interfaces: - ip: '{#CLIENT.IP}' master_item: key: nomad.client.nodes.get lld_macro_paths: - lld_macro: '{#CLIENT.CLASS}' path: $.NodeClass - lld_macro: '{#CLIENT.DC}' path: $.Datacenter - lld_macro: '{#CLIENT.DRAIN.STATE}' path: $.Drain - lld_macro: '{#CLIENT.ID}' path: $.ID - lld_macro: '{#CLIENT.IP}' path: $.Address - lld_macro: '{#CLIENT.NAME}' path: $.Name - lld_macro: '{#CLIENT.OS}' path: '$.Attributes[''os.name'']' - lld_macro: '{#CLIENT.SCHEDULE.ELIGIBILITY}' path: $.SchedulingEligibility - lld_macro: '{#CLIENT.VERSION}' path: $.Version preprocessing: - type: JSONPATH parameters: - $.body error_handler: DISCARD_VALUE - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h - uuid: 202ee1d0060d48b09a48fe2039d3b081 name: 'Servers discovery' type: DEPENDENT key: nomad.servers.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#SERVER.DC}' value: '{$NOMAD.SERVER.DC.MATCHES}' formulaid: A - macro: '{#SERVER.DC}' value: '{$NOMAD.SERVER.DC.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: B - macro: '{#SERVER.NAME}' value: '{$NOMAD.SERVER.NAME.MATCHES}' formulaid: C - macro: '{#SERVER.NAME}' value: '{$NOMAD.SERVER.NAME.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: D description: 'Server nodes discovery.' host_prototypes: - uuid: addb1ce7995f44089a13128052171445 host: '{#SERVER.ID}' name: '{#SERVER.NAME}' group_links: - group: name: Applications templates: - name: 'HashiCorp Nomad Server by HTTP' tags: - tag: dc value: '{#SERVER.DC}' - tag: region value: '{#SERVER.REGION}' - tag: role value: '{#SERVER.ROLE}' - tag: service value: nomad-server - tag: version value: '{#SERVER.VERSION}' custom_interfaces: 'YES' interfaces: - ip: '{#SERVER.IP}' master_item: key: nomad.server.nodes.get lld_macro_paths: - lld_macro: '{#SERVER.DC}' path: $.Tags.dc - lld_macro: '{#SERVER.ID}' path: $.Tags.id - lld_macro: '{#SERVER.IP}' path: $.Addr - lld_macro: '{#SERVER.NAME}' path: $.Name - lld_macro: '{#SERVER.REGION}' path: $.Tags.region - lld_macro: '{#SERVER.ROLE}' path: $.Tags.role - lld_macro: '{#SERVER.VERSION}' path: $.Tags.build preprocessing: - type: CHECK_JSON_ERROR parameters: - $.error error_handler: DISCARD_VALUE - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h tags: - tag: class value: software - tag: target value: nomad macros: - macro: '{$NOMAD.API.RESPONSE.SUCCESS}' value: '200' description: 'HTTP API successful response code. Availability triggers threshold. Change, if needed.' - macro: '{$NOMAD.CLIENT.DC.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad clients by datacenter belonging.' - macro: '{$NOMAD.CLIENT.DC.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad clients by datacenter belonging.' - macro: '{$NOMAD.CLIENT.NAME.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad clients by name.' - macro: '{$NOMAD.CLIENT.NAME.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad clients by name.' - macro: '{$NOMAD.CLIENT.SCHEDULE.ELIGIBILITY.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad clients by scheduling eligibility.' - macro: '{$NOMAD.CLIENT.SCHEDULE.ELIGIBILITY.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad clients by scheduling eligibility.' - macro: '{$NOMAD.DATA.TIMEOUT}' value: 15s description: 'Response timeout for an API.' - macro: '{$NOMAD.ENDPOINT.API.URL}' value: 'http://localhost:4646' description: 'API endpoint URL for one of the Nomad cluster members.' - macro: '{$NOMAD.HTTP.PROXY}' description: 'Sets the HTTP proxy for script and HTTP agent items. If this parameter is empty, then no proxy is used.' - macro: '{$NOMAD.SERVER.DC.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad servers by datacenter belonging.' - macro: '{$NOMAD.SERVER.DC.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad servers by datacenter belonging.' - macro: '{$NOMAD.SERVER.NAME.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad servers by name.' - macro: '{$NOMAD.SERVER.NAME.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad servers by name.' - macro: '{$NOMAD.TOKEN}' value: '<PUT YOUR AUTH TOKEN>' description: 'Nomad authentication token.' dashboards: - uuid: 0b1cb124081f4cf1af2e35245aeb415f name: 'Region resources' pages: - name: 'Region resources' widgets: - type: item name: Region width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad by HTTP' key: nomad.region - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item name: Servers x: '24' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad by HTTP' key: nomad.servers.count - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item name: Clients x: '48' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad by HTTP' key: nomad.clients.count - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - uuid: 44eac6a1abe34999b85ad6d0e40073fd template: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client by HTTP' description: | Get HashiCorp Nomad client metrics by HTTP from metrics endpoint. More information about metrics is available in the official documentation: https://developer.hashicorp.com/nomad/docs/operations/metrics-reference. You can discuss this template or leave feedback on our forum: https://www.zabbix.com/forum/zabbix-suggestions-and-feedback. Generated by official Zabbix template tool "Templator" vendor: name: Zabbix version: 7.0-1 groups: - name: Templates/Applications items: - uuid: f98bd789c9f7409aac2e1902776ddc21 name: 'Service [rpc] state' type: SIMPLE key: 'net.tcp.service[tcp,,{$NOMAD.CLIENT.RPC.PORT}]' description: 'Current [rpc] service state.' valuemap: name: 'Service state' preprocessing: - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h tags: - tag: component value: network triggers: - uuid: f368ff4de45e4620963135836eb54092 expression: 'last(/HashiCorp Nomad Client by HTTP/net.tcp.service[tcp,,{$NOMAD.CLIENT.RPC.PORT}]) = 0' name: 'HashiCorp Nomad Client: Service [rpc] is down' opdata: 'Service: rpc, Port: {$NOMAD.CLIENT.RPC.PORT}, State: {ITEM.LASTVALUE}' priority: AVERAGE description: | Cannot establish the connection to [rpc] service port {$NOMAD.CLIENT.RPC.PORT}. Check the Nomad state and network connectivity between Nomad and Zabbix. manual_close: 'YES' tags: - tag: scope value: availability - uuid: 00b39edd70cc42daa565879494f15f38 name: 'Service [serf] state' type: SIMPLE key: 'net.tcp.service[tcp,,{$NOMAD.CLIENT.SERF.PORT}]' description: 'Current [serf] service state.' valuemap: name: 'Service state' preprocessing: - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h tags: - tag: component value: network triggers: - uuid: 0108c9f85b48433c8b9864e41458994f expression: 'last(/HashiCorp Nomad Client by HTTP/net.tcp.service[tcp,,{$NOMAD.CLIENT.SERF.PORT}]) = 0' name: 'HashiCorp Nomad Client: Service [serf] is down' opdata: 'Service: serf, Port: {$NOMAD.CLIENT.SERF.PORT}, State: {ITEM.LASTVALUE}' priority: AVERAGE description: | Cannot establish the connection to [serf] service port {$NOMAD.CLIENT.SERF.PORT}. Check the Nomad state and network connectivity between Nomad and Zabbix. manual_close: 'YES' tags: - tag: scope value: availability - uuid: 13aa2136b7634c32a56fe00b29056d2d name: 'CPU allocated' type: DEPENDENT key: nomad.client.allocated.cpu delay: '0' units: '!Mhz' description: 'Total amount of CPU shares the scheduler has allocated to tasks.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocated_cpu - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - uuid: fb7211ae27c845bba8dca7e75e0083b8 name: 'Disk allocated' type: DEPENDENT key: nomad.client.allocated.disk delay: '0' units: B description: 'Total amount of disk space the scheduler has allocated to tasks.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocated_disk - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1000000' master_item: key: nomad.client.metrics.get tags: - tag: component value: storage - uuid: 27c71fbb37f14deba301c3b5c7daecb5 name: 'Memory allocated' type: DEPENDENT key: nomad.client.allocated.memory delay: '0' units: B description: 'Total amount of memory the scheduler has allocated to tasks.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocated_memory - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1000000' master_item: key: nomad.client.metrics.get tags: - tag: component value: memory - uuid: 945d348f2f2d4c02b3a1ec6f32f1290d name: 'Allocations blocked' type: DEPENDENT key: nomad.client.allocations.blocked delay: '0' description: 'Number of allocations waiting for previous versions.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocations_blocked - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: f556557bf5de438d9aaf941ab5c8d93b name: 'Allocations completed, rate' type: DEPENDENT key: nomad.client.allocations.complete delay: '0' description: 'Number of allocations completed.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocs_complete - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' - type: CHANGE_PER_SECOND parameters: - '' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: 586bc8f63e7f46cf99337c7f70809c43 name: 'Allocations failed, rate' type: DEPENDENT key: nomad.client.allocations.failed delay: '0' description: 'Number of allocations failed.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocs_failed - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' - type: CHANGE_PER_SECOND parameters: - '' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: 88b2eb8e9e8041df83674d3800b1f8c1 name: 'Allocations migrating' type: DEPENDENT key: nomad.client.allocations.migrating delay: '0' description: 'Number of allocations migrating data from previous versions.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocations_migrating - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: 717172608fbb4d81bfb65e7f4aa4aaf3 name: 'Allocations OOM killed' type: DEPENDENT key: nomad.client.allocations.oom_killed delay: '0' description: 'Number of allocations OOM killed.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocs_oom_killed - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations triggers: - uuid: 747de32c46cb4d95851cee8a30c576b0 expression: 'last(/HashiCorp Nomad Client by HTTP/nomad.client.allocations.oom_killed) > 0' name: 'HashiCorp Nomad Client: OOM killed allocations found' opdata: 'OOM killed: {ITEM.LASTVALUE}' priority: WARNING description: 'OOM killed allocations found.' manual_close: 'YES' tags: - tag: scope value: performance - uuid: 9fc77ab432c04cf4b1c0f1941da641d3 name: 'Allocations pending' type: DEPENDENT key: nomad.client.allocations.pending delay: '0' description: 'Number of allocations pending (received by the client but not yet running).' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocations_pending - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: eae33da538c642868cf9afe9e6495c95 name: 'Allocations restarted, rate' type: DEPENDENT key: nomad.client.allocations.restart delay: '0' description: 'Number of allocations restarted.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocs_restart - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' - type: CHANGE_PER_SECOND parameters: - '' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: 6a4903e8bfa04f18a44813349ea6b33d name: 'Allocations running' type: DEPENDENT key: nomad.client.allocations.running delay: '0' description: 'Number of allocations running.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocations_running - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: 3fcbebb8436d4dec8db6625e44520999 name: 'Allocations starting' type: DEPENDENT key: nomad.client.allocations.start delay: '0' description: 'Number of allocations starting.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocations_start - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: 166aad9bafeb478abcd8c61ea1d0cc98 name: 'Allocations terminal' type: DEPENDENT key: nomad.client.allocations.terminal delay: '0' description: 'Number of allocations terminal.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_allocations_terminal - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.client.metrics.get tags: - tag: component value: allocations - uuid: 31faeb4af30f4f878050eca21e6f97df name: 'CPU idle utilization' type: DEPENDENT key: nomad.client.cpu.idle delay: '0' value_type: FLOAT units: '%' description: 'CPU utilization in idle state.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_host_cpu_idle - function - avg error_handler: DISCARD_VALUE master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - uuid: ad75d4b5e69c4e11bc886582791951be name: 'CPU system utilization' type: DEPENDENT key: nomad.client.cpu.system delay: '0' value_type: FLOAT units: '%' description: 'CPU utilization in system space.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_host_cpu_system - function - avg error_handler: DISCARD_VALUE master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - uuid: 71eb3676049a4d60aa69ef3901005894 name: 'CPU total utilization' type: DEPENDENT key: nomad.client.cpu.total delay: '0' value_type: FLOAT units: '%' description: 'Total CPU utilization.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_host_cpu_total - function - avg error_handler: DISCARD_VALUE master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu triggers: - uuid: 59db4f1d22cb48fab0ced8ad9ec39a25 expression: 'min(/HashiCorp Nomad Client by HTTP/nomad.client.cpu.total, 10m) >= {$NOMAD.CPU.UTIL.MIN}' name: 'HashiCorp Nomad Client: High CPU utilization' event_name: 'HashiCorp Nomad Client: High CPU utilization: (over >= {$NOMAD.CPU.UTIL.MIN}% over last 10m)' opdata: 'Current utilization: {ITEM.LASTVALUE}' priority: AVERAGE description: 'CPU utilization is too high. The system might be slow to respond.' tags: - tag: scope value: performance - uuid: cc0671cc71fb4bdd8cdf7a959e1022fd name: 'CPU user utilization' type: DEPENDENT key: nomad.client.cpu.user delay: '0' value_type: FLOAT units: '%' description: 'CPU utilization in user space.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_host_cpu_user - function - avg error_handler: DISCARD_VALUE master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - uuid: 71be24cf848a448dbb993a577015bd9e name: 'Monitoring API response' type: DEPENDENT key: nomad.client.data.api.response delay: '0' value_type: TEXT trends: '0' description: 'Monitoring API response message.' preprocessing: - type: JAVASCRIPT parameters: - | try { var response = Object.keys(JSON.parse(value).header).filter(function (f) { return f.match(/HTTP\/[\d.]+\s+\d{3}/); }); return response.pop(); } catch (error) { return "HTTP/1.1 408 Request timeout"; } - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.data.get tags: - tag: component value: status triggers: - uuid: 676e1535cde2424cbda78f18cd9084bf expression: 'find(/HashiCorp Nomad Client by HTTP/nomad.client.data.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' name: 'HashiCorp Nomad Client: Monitoring API connection has failed' event_name: 'HashiCorp Nomad Client: Monitoring API connection has failed. HTTP response code: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+(\d{3})", \1")}. Response message: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+\d{3}\s+(.*)", \1")}' priority: AVERAGE description: | Monitoring API connection has failed. Ensure that Nomad API URL and the necessary permissions have been defined correctly, check the service state and network connectivity between Nomad and Zabbix. manual_close: 'YES' tags: - tag: scope value: availability - uuid: fe07fd88f3e14273b3f0b135aab26236 name: 'Telemetry get' type: HTTP_AGENT key: nomad.client.data.get history: '0' value_type: TEXT trends: '0' description: 'Telemetry data in raw format.' preprocessing: - type: CHECK_NOT_SUPPORTED parameters: - '-1' error_handler: CUSTOM_VALUE error_handler_params: '{"header":{"HTTP/1.1 408 Request timeout":""}}' timeout: '{$NOMAD.DATA.TIMEOUT}' url: '{$NOMAD.CLIENT.API.SCHEME}://{HOST.IP}:{$NOMAD.CLIENT.API.PORT}/v1/metrics' query_fields: - name: format value: prometheus status_codes: '' http_proxy: '{$NOMAD.HTTP.PROXY}' headers: - name: X-Nomad-Token value: '{$NOMAD.TOKEN}' retrieve_mode: BOTH output_format: JSON tags: - tag: component value: raw - uuid: c9bfa74720ea4e228e5d200ab1f38074 name: 'Allocations API response' type: DEPENDENT key: nomad.client.job.allocs.api.response delay: '0' value_type: TEXT trends: '0' description: 'Allocations API response message.' preprocessing: - type: JAVASCRIPT parameters: - | try { var response = Object.keys(JSON.parse(value).header).filter(function (f) { return f.match(/HTTP\/[\d.]+\s+\d{3}/); }); return response.pop(); } catch (error) { return "HTTP/1.1 408 Request timeout"; } - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.job.allocs.get tags: - tag: component value: status triggers: - uuid: 300f5fba0f45465aa6868a3f1d16633d expression: 'find(/HashiCorp Nomad Client by HTTP/nomad.client.job.allocs.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' name: 'HashiCorp Nomad Client: Allocations API connection has failed' event_name: 'HashiCorp Nomad Client: Allocations API connection has failed. HTTP response code: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+(\d{3})", \1")}. Response message: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+\d{3}\s+(.*)", \1")}' priority: AVERAGE description: | Allocations API connection has failed. Ensure that Nomad API URL and the necessary permissions have been defined correctly, check the service state and network connectivity between Nomad and Zabbix. manual_close: 'YES' dependencies: - name: 'HashiCorp Nomad Client: Monitoring API connection has failed' expression: 'find(/HashiCorp Nomad Client by HTTP/nomad.client.data.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' tags: - tag: scope value: availability - uuid: 9948608c5b3a4dad9d1b433483296427 name: 'Allocated jobs get' type: HTTP_AGENT key: nomad.client.job.allocs.get delay: 1h history: '0' value_type: TEXT trends: '0' description: 'Allocated jobs data in raw format.' preprocessing: - type: CHECK_NOT_SUPPORTED parameters: - '-1' error_handler: CUSTOM_VALUE error_handler_params: '{"header":{"HTTP/1.1 408 Request timeout":""}}' timeout: '{$NOMAD.DATA.TIMEOUT}' url: '{$NOMAD.CLIENT.API.SCHEME}://{HOST.IP}:{$NOMAD.CLIENT.API.PORT}/v1/allocations' query_fields: - name: reverse value: 'true' - name: task_states value: 'false' - name: filter value: 'NodeID == "{HOST.HOST}" and DesiredStatus == "run" and ClientStatus == "running"' status_codes: '' http_proxy: '{$NOMAD.HTTP.PROXY}' headers: - name: X-Nomad-Token value: '{$NOMAD.TOKEN}' retrieve_mode: BOTH output_format: JSON tags: - tag: component value: raw - uuid: f312a5ba5758426d83c5c3c414d765fd name: 'Memory available' type: DEPENDENT key: nomad.client.memory.available delay: '0' value_type: FLOAT units: B description: 'Total amount of memory available to processes which includes free and cached memory.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_host_memory_available - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.client.metrics.get tags: - tag: component value: memory - uuid: e379e923ed6b45a682f1da192b3a328d name: 'Memory free' type: DEPENDENT key: nomad.client.memory.free delay: '0' value_type: FLOAT units: B description: 'Amount of memory which is free.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_host_memory_free - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: memory - uuid: 50d152cf3c654e818aa7303841d5444a name: 'Memory size' type: DEPENDENT key: nomad.client.memory.total delay: '0' value_type: FLOAT units: B description: 'Total amount of physical memory on the node.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_host_memory_total - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: memory - uuid: b2638e0b928e46cd825304a3f1ca1682 name: 'Memory used' type: DEPENDENT key: nomad.client.memory.used delay: '0' value_type: FLOAT units: B description: 'Amount of memory used by processes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_host_memory_used - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: memory - uuid: 933621a61d2241d084b48ec6b3bd5b74 name: Metrics type: DEPENDENT key: nomad.client.metrics.get delay: '0' history: '0' value_type: TEXT trends: '0' description: 'Nomad client metrics in raw format.' preprocessing: - type: JSONPATH parameters: - $.body error_handler: DISCARD_VALUE master_item: key: nomad.client.data.get tags: - tag: component value: raw - uuid: 39430d6dceaa42a68c72ef68f67b1a12 name: 'Nodes API response' type: DEPENDENT key: nomad.client.node.info.api.response delay: '0' value_type: TEXT trends: '0' description: 'Nodes API response message.' preprocessing: - type: JAVASCRIPT parameters: - | try { var response = Object.keys(JSON.parse(value).header).filter(function (f) { return f.match(/HTTP\/[\d.]+\s+\d{3}/); }); return response.pop(); } catch (error) { return "HTTP/1.1 408 Request timeout"; } - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.node.info.get tags: - tag: component value: status triggers: - uuid: 3ea14e12d6154492a4505c4b51003ed3 expression: 'find(/HashiCorp Nomad Client by HTTP/nomad.client.node.info.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' name: 'HashiCorp Nomad Client: Nodes API connection has failed' event_name: 'HashiCorp Nomad Client: Nodes API connection has failed. HTTP response code: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+(\d{3})", \1")}. Response message: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+\d{3}\s+(.*)", \1")}' priority: AVERAGE description: | Nodes API connection has failed. Ensure that Nomad API URL and the necessary permissions have been defined correctly, check the service state and network connectivity between Nomad and Zabbix. manual_close: 'YES' dependencies: - name: 'HashiCorp Nomad Client: Monitoring API connection has failed' expression: 'find(/HashiCorp Nomad Client by HTTP/nomad.client.data.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' tags: - tag: scope value: availability - uuid: 36eb68c80b194a4591208cf210fb6d6e name: 'Node info get' type: HTTP_AGENT key: nomad.client.node.info.get delay: 1h history: '0' value_type: TEXT trends: '0' description: 'Node info data in raw format.' preprocessing: - type: CHECK_NOT_SUPPORTED parameters: - '-1' error_handler: CUSTOM_VALUE error_handler_params: '{"header":{"HTTP/1.1 408 Request timeout":""}}' timeout: '{$NOMAD.DATA.TIMEOUT}' url: '{$NOMAD.CLIENT.API.SCHEME}://{HOST.IP}:{$NOMAD.CLIENT.API.PORT}/v1/nodes' query_fields: - name: filter value: 'ID == "{HOST.HOST}"' status_codes: '' http_proxy: '{$NOMAD.HTTP.PROXY}' headers: - name: X-Nomad-Token value: '{$NOMAD.TOKEN}' retrieve_mode: BOTH output_format: JSON tags: - tag: component value: raw - uuid: 18e57950b0c041e0a2abc0dbd0644b33 name: 'CPU unallocated' type: DEPENDENT key: nomad.client.unallocated.cpu delay: '0' units: '!Mhz' description: 'Total amount of CPU shares free for the scheduler to allocate to tasks.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_unallocated_cpu - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - uuid: 44619e3740a9403581d54c6555ecd967 name: 'Disk unallocated' type: DEPENDENT key: nomad.client.unallocated.disk delay: '0' units: B description: 'Total amount of disk space free for the scheduler to allocate to tasks.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_unallocated_disk - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1000000' master_item: key: nomad.client.metrics.get tags: - tag: component value: storage - uuid: bc0928fcff2f458f83874d7442274e61 name: 'Memory unallocated' type: DEPENDENT key: nomad.client.unallocated.memory delay: '0' units: B description: 'Total amount of memory free for the scheduler to allocate to tasks.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_unallocated_memory - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1000000' master_item: key: nomad.client.metrics.get tags: - tag: component value: memory - uuid: 3561fb69284f4c88a7f5d8c7f04c3b14 name: Uptime type: DEPENDENT key: nomad.client.uptime delay: '0' units: uptime description: 'Uptime of the host running the Nomad client.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_client_uptime - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: system triggers: - uuid: 74fe77871e8c4161b5944f30dd4d1c84 expression: 'last(/HashiCorp Nomad Client by HTTP/nomad.client.uptime) < 10m' name: 'HashiCorp Nomad Client: The host has been restarted' event_name: 'HashiCorp Nomad Client: The host has been restarted: (uptime < 10m)' priority: WARNING description: 'The host uptime is less than 10 minutes.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: 872961bd507c4f6380168d2284ead1ae name: 'Nomad client version' type: DEPENDENT key: nomad.client.version delay: '0' value_type: CHAR trends: '0' description: 'Nomad client version.' preprocessing: - type: JSONPATH parameters: - $.body..Version.first() master_item: key: nomad.client.node.info.get tags: - tag: component value: system triggers: - uuid: afac97bced6f49bc994ae633b662722c expression: 'change(/HashiCorp Nomad Client by HTTP/nomad.client.version)<>0' name: 'HashiCorp Nomad Client: Nomad client version has changed' event_name: 'HashiCorp Nomad Client: Nomad client version has changed to {ITEM.LASTVALUE}' priority: INFO description: 'Nomad client version has changed.' manual_close: 'YES' tags: - tag: scope value: availability discovery_rules: - uuid: c41a6405aea7400fb90c207ce95c6594 name: 'Allocated jobs discovery' type: DEPENDENT key: nomad.client.alloc.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#JOB.NAME}' value: '{$NOMAD.JOB.NAME.MATCHES}' formulaid: A - macro: '{#JOB.NAME}' value: '{$NOMAD.JOB.NAME.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: B - macro: '{#JOB.NAMESPACE}' value: '{$NOMAD.JOB.NAMESPACE.MATCHES}' formulaid: C - macro: '{#JOB.NAMESPACE}' value: '{$NOMAD.JOB.NAMESPACE.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: D - macro: '{#JOB.TASK.GROUP}' value: '{$NOMAD.JOB.TASK.GROUP.MATCHES}' formulaid: E - macro: '{#JOB.TASK.GROUP}' value: '{$NOMAD.JOB.TASK.GROUP.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: F - macro: '{#JOB.TYPE}' value: '{$NOMAD.JOB.TYPE.MATCHES}' formulaid: G - macro: '{#JOB.TYPE}' value: '{$NOMAD.JOB.TYPE.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: H lifetime: '0' description: 'Allocated jobs discovery.' item_prototypes: - uuid: ba9e5a022dbc4f7aa28a1db2ef6d73bb name: 'Job ["{#JOB.NAME}"] CPU allocated' type: DEPENDENT key: 'nomad.client.allocs.cpu.allocated["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: '!Mhz' description: 'Total CPU resources allocated by the ["{#JOB.NAME}"] job across all cores.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_cpu_allocated{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - tag: component value: job - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: 85daa0ce6d4f41ab83a3a65ceb8359a9 name: 'Job ["{#JOB.NAME}"] CPU system utilization' type: DEPENDENT key: 'nomad.client.allocs.cpu.system["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: '%' description: 'Total CPU resources consumed by the ["{#JOB.NAME}"] job in system space.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_cpu_system{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - tag: component value: job - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: d5ec55f8d9a74c99924a01acb206295e name: 'Job ["{#JOB.NAME}"] CPU throttled periods time' type: DEPENDENT key: 'nomad.client.allocs.cpu.throttled_periods["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: s description: 'Total number of CPU periods that the ["{#JOB.NAME}"] job was throttled.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_cpu_throttled_periods{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - tag: component value: job - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: 3122f6d0c1b24ea7bac7a3af4fc00fb2 name: 'Job ["{#JOB.NAME}"] CPU throttled time' type: DEPENDENT key: 'nomad.client.allocs.cpu.throttled_time["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: s description: 'Total time that the ["{#JOB.NAME}"] job was throttled.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_cpu_throttled_time{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - tag: component value: job - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: 5ff1ea02768243f4971339bf70f89772 name: 'Job ["{#JOB.NAME}"] CPU total utilization' type: DEPENDENT key: 'nomad.client.allocs.cpu.total_percent["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: '%' description: 'Total CPU resources consumed by the ["{#JOB.NAME}"] job across all cores.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_cpu_total_percent{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - tag: component value: job - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: 14179529be9d47bc898a5330ff37a9c5 name: 'Job ["{#JOB.NAME}"] CPU ticks' type: DEPENDENT key: 'nomad.client.allocs.cpu.total_ticks["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT description: 'CPU ticks consumed by the process for the ["{#JOB.NAME}"] job in the last collection interval.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_cpu_total_ticks{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - tag: component value: job - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: 9fb3e3b461874e86aee9483d5af65535 name: 'Job ["{#JOB.NAME}"] CPU user utilization' type: DEPENDENT key: 'nomad.client.allocs.cpu.user["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: '%' description: 'Total CPU resources consumed by the ["{#JOB.NAME}"] job in user space.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_cpu_user{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: cpu - tag: component value: job - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: c353af0be02b47faa27036dfdd173176 name: 'Job ["{#JOB.NAME}"] Memory allocated' type: DEPENDENT key: 'nomad.client.allocs.memory.allocated["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: B description: 'Amount of memory allocated by the ["{#JOB.NAME}"] job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_memory_allocated{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: job - tag: component value: memory - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: 7bd7a486864b4d0f82242676da2370ed name: 'Job ["{#JOB.NAME}"] Memory cached' type: DEPENDENT key: 'nomad.client.allocs.memory.cache["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: B description: 'Amount of memory cached by the ["{#JOB.NAME}"] job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_memory_cache{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: job - tag: component value: memory - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: b1419d5017cf4f8ba23e8c774c451772 name: 'Job ["{#JOB.NAME}"] Memory swapped' type: DEPENDENT key: 'nomad.client.allocs.memory.swap["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: B description: 'Amount of memory swapped by the ["{#JOB.NAME}"] job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_memory_swap{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: job - tag: component value: memory - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' - uuid: 09ba4987f69c496ebeab3fb08f4b499b name: 'Job ["{#JOB.NAME}"] Memory used' type: DEPENDENT key: 'nomad.client.allocs.memory.usage["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' delay: '0' value_type: FLOAT units: B description: 'Total amount of memory used by the ["{#JOB.NAME}"] job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_allocs_memory_usage{job="{#JOB.NAME}",task_group="{#JOB.TASK.GROUP}",namespace="{#JOB.NAMESPACE}"}' - function - avg master_item: key: nomad.client.metrics.get tags: - tag: component value: job - tag: component value: memory - tag: job value: '{#JOB.NAME}' - tag: namespace value: '{#JOB.NAMESPACE}' - tag: task-group value: '{#JOB.TASK.GROUP}' graph_prototypes: - uuid: 2c82c2841f414986b26fc6890707d36d name: 'HashiCorp Nomad Client: Job ["{#JOB.NAME}"] task ["{#JOB.TASK.GROUP}"] namespace ["{#JOB.NAMESPACE}"] memory utilization' type: STACKED graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.memory.allocated["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.memory.cache["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.memory.swap["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - sortorder: '3' color: F7941D item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.memory.usage["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - uuid: bb8bbdb0180f4b35800144deec4456bb name: 'HashiCorp Nomad Client: Job [{#JOB.NAME}] task ["{#JOB.TASK.GROUP}"] namespace ["{#JOB.NAMESPACE}"] CPU throttling' graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.cpu.throttled_time["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.cpu.throttled_periods["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - uuid: f25a5178570e44ecac6a48cb8351cdd3 name: 'HashiCorp Nomad Client: Job [{#JOB.NAME}] task ["{#JOB.TASK.GROUP}"] namespace ["{#JOB.NAMESPACE}"] CPU utilization' type: STACKED ymax_type_1: FIXED graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.cpu.system["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.cpu.total_percent["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.cpu.user["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' master_item: key: nomad.client.job.allocs.get lld_macro_paths: - lld_macro: '{#JOB.NAMESPACE}' path: $.Namespace - lld_macro: '{#JOB.NAME}' path: $.JobID - lld_macro: '{#JOB.TASK.GROUP}' path: $.TaskGroup - lld_macro: '{#JOB.TYPE}' path: $.JobType preprocessing: - type: JAVASCRIPT parameters: - | var raw = JSON.parse(value), body = raw.body, exist_key = [], result = []; function getField(data, path) { var steps = path.split('.'); for (var i = 0; i < steps.length; i++) { var step = steps[i]; if (typeof data !== 'object' || typeof data[step] === 'undefined') { throw 'Required field "' + path + '" is not present in data received.'; } data = data[step]; } return data; } for (i in body) { var uniq_element = true; for (key in exist_key) { if ((exist_key[key].JobID == getField(body[i], 'JobID')) && (exist_key[key].TaskGroup == getField(body[i], 'TaskGroup')) && (exist_key[key].Namespace == getField(body[i], 'Namespace'))) { uniq_element = false; } } if (uniq_element) { exist_key.push({ 'JobID': body[i].JobID, 'TaskGroup': body[i].TaskGroup, 'Namespace': body[i].Namespace }); result.push(body[i]); } } return JSON.stringify(result); - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h - uuid: e2955bd147ed43cb894f0981c6eb3985 name: 'Physical disks discovery' type: DEPENDENT key: nomad.client.disk.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#DEV.NAME}' value: '{$NOMAD.DISK.NAME.MATCHES}' formulaid: A - macro: '{#DEV.NAME}' value: '{$NOMAD.DISK.NAME.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: B description: 'Physical disks discovery.' item_prototypes: - uuid: 4a79c99027494bb98b474e6f81db5e18 name: 'Disk ["{#DEV.NAME}"] space available' type: DEPENDENT key: 'nomad.client.disk.available["{#DEV.NAME}"]' delay: '0' value_type: FLOAT units: B description: 'Amount of space which is available on ["{#DEV.NAME}"] disk.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_host_disk_available{disk="{#DEV.NAME}"}' - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: storage - tag: disk value: '{#DEV.NAME}' - uuid: 21043b0ed4424e3086a00a567d134d45 name: 'Disk ["{#DEV.NAME}"] inodes utilization' type: DEPENDENT key: 'nomad.client.disk.inodes_percent["{#DEV.NAME}"]' delay: '0' value_type: FLOAT units: '%' description: 'Disk space consumed by the inodes on ["{#DEV.NAME}"] disk.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_host_disk_inodes_percent{disk="{#DEV.NAME}"}' - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: inodes - tag: component value: storage - tag: disk value: '{#DEV.NAME}' trigger_prototypes: - uuid: 433c2227305a4aeb82eb1d390621a81e expression: 'min(/HashiCorp Nomad Client by HTTP/nomad.client.disk.inodes_percent["{#DEV.NAME}"],5m) >= {$NOMAD.INODES.FREE.MIN.CRIT:"{#DEV.NAME}"}' name: 'HashiCorp Nomad Client: Running out of free inodes on [{#DEV.NAME}] device' event_name: 'HashiCorp Nomad Client: Running out of free inodes on [{#DEV.NAME}] (free < {$NOMAD.INODES.FREE.MIN.CRIT:"{#DEV.NAME}"}%)' opdata: 'Free inodes: {ITEM.VALUE}' priority: AVERAGE description: | It may become impossible to write to a disk if there are no index nodes left. The following error messages may be returned as symptoms, even though the free space: - No space left on device; - Disk is full. manual_close: 'YES' tags: - tag: scope value: capacity - uuid: d0f2aacaada545c4a81d35f0eb454532 expression: 'min(/HashiCorp Nomad Client by HTTP/nomad.client.disk.inodes_percent["{#DEV.NAME}"],5m) >= {$NOMAD.INODES.FREE.MIN.WARN:"{#DEV.NAME}"}' name: 'HashiCorp Nomad Client: Running out of free inodes on [{#DEV.NAME}] device' event_name: 'HashiCorp Nomad Client: Running out of free inodes on [{#DEV.NAME}] (free < {$NOMAD.INODES.FREE.MIN.WARN:"{#DEV.NAME}"}%)' opdata: 'Free inodes: {ITEM.VALUE}' priority: WARNING description: | It may become impossible to write to a disk if there are no index nodes left. The following error messages may be returned as symptoms, even though the free space: - No space left on device; - Disk is full. manual_close: 'YES' dependencies: - name: 'HashiCorp Nomad Client: Running out of free inodes on [{#DEV.NAME}] device' expression: 'min(/HashiCorp Nomad Client by HTTP/nomad.client.disk.inodes_percent["{#DEV.NAME}"],5m) >= {$NOMAD.INODES.FREE.MIN.CRIT:"{#DEV.NAME}"}' tags: - tag: scope value: capacity - uuid: 4358e8accdd0400496b491cda7edc909 name: 'Disk ["{#DEV.NAME}"] size' type: DEPENDENT key: 'nomad.client.disk.size["{#DEV.NAME}"]' delay: '0' value_type: FLOAT units: B description: 'Total size of the ["{#DEV.NAME}"] device.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_host_disk_size{disk="{#DEV.NAME}"}' - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: storage - tag: disk value: '{#DEV.NAME}' - uuid: 778f4609e236434d8b216b62bfebf885 name: 'Disk ["{#DEV.NAME}"] space used' type: DEPENDENT key: 'nomad.client.disk.used["{#DEV.NAME}"]' delay: '0' value_type: FLOAT units: B description: 'Amount of disk ["{#DEV.NAME}"] space which has been used.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_host_disk_used{disk="{#DEV.NAME}"}' - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: storage - tag: disk value: '{#DEV.NAME}' - uuid: aec5d7147bd64f508e793d7539a8524b name: 'Disk ["{#DEV.NAME}"] space utilization' type: DEPENDENT key: 'nomad.client.disk.used_percent["{#DEV.NAME}"]' delay: '0' value_type: FLOAT units: '%' description: 'Percentage of disk ["{#DEV.NAME}"] space used.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_client_host_disk_used_percent{disk="{#DEV.NAME}"}' - value - '' master_item: key: nomad.client.metrics.get tags: - tag: component value: storage - tag: disk value: '{#DEV.NAME}' trigger_prototypes: - uuid: b3e22e93d51a4a8d825b0bd2e45fc7a2 expression: 'min(/HashiCorp Nomad Client by HTTP/nomad.client.disk.used_percent["{#DEV.NAME}"],5m) >= {$NOMAD.DISK.UTIL.MIN.CRIT:"{#DEV.NAME}"}' name: 'HashiCorp Nomad Client: High disk [{#DEV.NAME}] utilization' event_name: 'HashiCorp Nomad Client: Disk [{#DEV.NAME}] space low (utilization: >= {$NOMAD.DISK.UTIL.MIN.CRIT:"{#DEV.NAME}"}%)' opdata: 'Current utilization: {ITEM.LASTVALUE}' priority: AVERAGE description: 'High disk [{#DEV.NAME}] utilization.' manual_close: 'YES' tags: - tag: scope value: capacity - uuid: 05c3e6cd711f4a98a21c581a4437ffb5 expression: 'min(/HashiCorp Nomad Client by HTTP/nomad.client.disk.used_percent["{#DEV.NAME}"],5m) >= {$NOMAD.DISK.UTIL.MIN.WARN:"{#DEV.NAME}"}' name: 'HashiCorp Nomad Client: High disk [{#DEV.NAME}] utilization' event_name: 'HashiCorp Nomad Client: Disk [{#DEV.NAME}] space low (utilization: >= {$NOMAD.DISK.UTIL.MIN.WARN:"{#DEV.NAME}"}%)' opdata: 'Current utilization: {ITEM.LASTVALUE}' priority: WARNING description: 'High disk [{#DEV.NAME}] utilization.' manual_close: 'YES' dependencies: - name: 'HashiCorp Nomad Client: Running out of free inodes on [{#DEV.NAME}] device' expression: 'min(/HashiCorp Nomad Client by HTTP/nomad.client.disk.inodes_percent["{#DEV.NAME}"],5m) >= {$NOMAD.INODES.FREE.MIN.CRIT:"{#DEV.NAME}"}' tags: - tag: scope value: capacity graph_prototypes: - uuid: e29168187396478ebec8c80825da070d name: 'HashiCorp Nomad Client: Disk ["{#DEV.NAME}"] usage' type: STACKED graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.disk.size["{#DEV.NAME}"]' - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.disk.available["{#DEV.NAME}"]' - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.disk.used["{#DEV.NAME}"]' - uuid: 3b9290be87e94bd5987eb595debe5f26 name: 'HashiCorp Nomad Client: Disk ["{#DEV.NAME}"] utilization' graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.disk.inodes_percent["{#DEV.NAME}"]' - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.disk.used_percent["{#DEV.NAME}"]' master_item: key: nomad.client.metrics.get lld_macro_paths: - lld_macro: '{#DEV.NAME}' path: $.labels.disk preprocessing: - type: PROMETHEUS_TO_JSON parameters: - 'nomad_client_host_disk_available{disk=~".*"}' - uuid: cfa76f8c4aaf49c5888ef82d6d7d484d name: 'Drivers discovery' type: DEPENDENT key: nomad.client.drivers.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#DRIVER.DETECTED}' value: '{$NOMAD.DRIVER.DETECT.MATCHES}' formulaid: A - macro: '{#DRIVER.DETECTED}' value: '{$NOMAD.DRIVER.DETECT.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: B - macro: '{#DRIVER.NAME}' value: '{$NOMAD.DRIVER.NAME.MATCHES}' formulaid: C - macro: '{#DRIVER.NAME}' value: '{$NOMAD.DRIVER.NAME.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: D description: 'Client drivers discovery.' item_prototypes: - uuid: 6ffea3b88b29451ea6491cbd34a61148 name: 'Driver [{#DRIVER.NAME}] detection state' type: DEPENDENT key: 'nomad.client.driver.detected["{#DRIVER.NAME}"]' delay: '0' description: 'Driver [{#DRIVER.NAME}] detection state.' valuemap: name: 'Detection state' preprocessing: - type: JSONPATH parameters: - '$.body..Drivers.{#DRIVER.NAME}.Detected.first()' - type: BOOL_TO_DECIMAL parameters: - '' master_item: key: nomad.client.node.info.get tags: - tag: component value: driver - tag: detected value: '{#DRIVER.DETECTED}' - tag: driver value: '{#DRIVER.NAME}' trigger_prototypes: - uuid: 576192afab06466f80c95c1b17c1e6fa expression: 'change(/HashiCorp Nomad Client by HTTP/nomad.client.driver.detected["{#DRIVER.NAME}"]) <> 0' name: 'HashiCorp Nomad Client: Driver [{#DRIVER.NAME}] detection state has changed' opdata: 'Current state: {ITEM.LASTVALUE}' priority: INFO description: 'The [{#DRIVER.NAME}] driver detection state has changed.' manual_close: 'YES' tags: - tag: scope value: availability - uuid: fdff50758360474dafffee8cb7ba6289 name: 'Driver [{#DRIVER.NAME}] state' type: DEPENDENT key: 'nomad.client.driver.state["{#DRIVER.NAME}"]' delay: '0' description: 'Driver [{#DRIVER.NAME}] state.' valuemap: name: 'Driver state' preprocessing: - type: JSONPATH parameters: - '$.body..Drivers.{#DRIVER.NAME}.Healthy.first()' - type: BOOL_TO_DECIMAL parameters: - '' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.client.node.info.get tags: - tag: component value: driver - tag: detected value: '{#DRIVER.DETECTED}' - tag: driver value: '{#DRIVER.NAME}' trigger_prototypes: - uuid: 5630f8b3585f4f5b8faf4a30d95755b8 expression: 'last(/HashiCorp Nomad Client by HTTP/nomad.client.driver.state["{#DRIVER.NAME}"]) = 0 and last(/HashiCorp Nomad Client by HTTP/nomad.client.driver.detected["{#DRIVER.NAME}"]) = 1' name: 'HashiCorp Nomad Client: Driver [{#DRIVER.NAME}] is in unhealthy state' priority: WARNING description: 'The [{#DRIVER.NAME}] driver detected, but its state is unhealthy.' manual_close: 'YES' tags: - tag: scope value: availability master_item: key: nomad.client.node.info.get preprocessing: - type: JAVASCRIPT parameters: - | var raw = JSON.parse(value), body = raw.body[0], arr = []; function getField(data, path) { var steps = path.split('.'); for (var i = 0; i < steps.length; i++) { var step = steps[i]; if (typeof data !== 'object' || typeof data[step] === 'undefined') { throw 'Required field "' + path + '" is not present in data received.'; } data = data[step]; } return data; } var keys = Object.keys(getField(body,'Drivers')); for (k in keys) { arr.push({ '{#DRIVER.NAME}': keys[k], '{#DRIVER.DETECTED}': getField(body.Drivers[keys[k]],'Detected'), }); } return JSON.stringify(arr); - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h tags: - tag: class value: software - tag: target value: nomad-client macros: - macro: '{$NOMAD.API.RESPONSE.SUCCESS}' value: '200' description: 'HTTP API successful response code. Availability triggers threshold. Change, if needed.' - macro: '{$NOMAD.CLIENT.API.PORT}' value: '4646' description: 'Nomad client API port.' - macro: '{$NOMAD.CLIENT.API.SCHEME}' value: http description: 'Nomad client API scheme.' - macro: '{$NOMAD.CLIENT.OPEN.FDS.MAX.WARN}' value: '90' description: 'Maximum percentage of used file descriptors.' - macro: '{$NOMAD.CLIENT.RPC.PORT}' value: '4647' description: 'Nomad RPC service port.' - macro: '{$NOMAD.CLIENT.SERF.PORT}' value: '4648' description: 'Nomad serf service port.' - macro: '{$NOMAD.CPU.UTIL.MIN}' value: '90' description: 'CPU utilization threshold. Measured as a percentage.' - macro: '{$NOMAD.DATA.TIMEOUT}' value: 15s description: 'Response timeout for an API.' - macro: '{$NOMAD.DISK.NAME.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad client disks by name.' - macro: '{$NOMAD.DISK.NAME.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad client disks by name.' - macro: '{$NOMAD.DRIVER.DETECT.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad client drivers by detection state. Possible filtering values: `true`, `false`.' - macro: '{$NOMAD.DRIVER.DETECT.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad client drivers by detection state. Possible filtering values: `true`, `false`.' - macro: '{$NOMAD.DRIVER.NAME.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad client drivers by name.' - macro: '{$NOMAD.DRIVER.NAME.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad client drivers by name.' - macro: '{$NOMAD.HTTP.PROXY}' description: 'Sets the HTTP proxy for HTTP agent item. If this parameter is empty, then no proxy is used.' - macro: '{$NOMAD.INODES.FREE.MIN.CRIT}' value: '10' description: 'Critical threshold of the filesystem metadata utilization. Measured as a percentage.' - macro: '{$NOMAD.INODES.FREE.MIN.WARN}' value: '20' description: 'Warning threshold of the filesystem metadata utilization. Measured as a percentage.' - macro: '{$NOMAD.JOB.NAME.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad client jobs by name.' - macro: '{$NOMAD.JOB.NAME.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad client jobs by name.' - macro: '{$NOMAD.JOB.NAMESPACE.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad client jobs by namespace.' - macro: '{$NOMAD.JOB.NAMESPACE.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad client jobs by namespace.' - macro: '{$NOMAD.JOB.TASK.GROUP.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad client jobs by task group belonging.' - macro: '{$NOMAD.JOB.TASK.GROUP.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad client jobs by task group belonging.' - macro: '{$NOMAD.JOB.TYPE.MATCHES}' value: '.*' description: 'The filter to include HashiCorp Nomad client jobs by type.' - macro: '{$NOMAD.JOB.TYPE.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'The filter to exclude HashiCorp Nomad client jobs by type.' - macro: '{$NOMAD.RAM.AVAIL.MIN}' value: '5' description: 'CPU utilization threshold. Measured as a percentage.' - macro: '{$NOMAD.TOKEN}' value: '<PUT YOUR AUTH TOKEN>' description: 'Nomad authentication token.' dashboards: - uuid: 6cb91bf47abb4c29b5fdf6de15ee5f9e name: Allocations pages: - name: Allocations widgets: - type: item width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.running - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item 'y': '5' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.complete - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item 'y': '10' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.migrating - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '24' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.start - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '24' 'y': '5' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.blocked - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '24' 'y': '10' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.terminal - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '48' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.pending - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '48' 'y': '5' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.restart - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '48' 'y': '10' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocations.failed - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - uuid: 9df94875bc944537860bad6bbe832ca8 name: 'Job resources' pages: - name: 'Job resources' widgets: - type: graphprototype width: '36' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client: Job [{#JOB.NAME}] task ["{#JOB.TASK.GROUP}"] namespace ["{#JOB.NAMESPACE}"] CPU utilization' - type: STRING name: reference value: AAAAF - type: graphprototype 'y': '5' width: '36' height: '5' fields: - type: INTEGER name: columns value: '1' - type: ITEM_PROTOTYPE name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.cpu.allocated["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - type: STRING name: reference value: AAAAH - type: INTEGER name: source_type value: '3' - type: graphprototype 'y': '10' width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client: Job ["{#JOB.NAME}"] task ["{#JOB.TASK.GROUP}"] namespace ["{#JOB.NAMESPACE}"] memory utilization' - type: STRING name: reference value: AAAAJ - type: graphprototype x: '36' width: '36' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client: Job [{#JOB.NAME}] task ["{#JOB.TASK.GROUP}"] namespace ["{#JOB.NAMESPACE}"] CPU throttling' - type: STRING name: reference value: AAAAG - type: graphprototype x: '36' 'y': '5' width: '36' height: '5' fields: - type: INTEGER name: columns value: '1' - type: ITEM_PROTOTYPE name: itemid.0 value: host: 'HashiCorp Nomad Client by HTTP' key: 'nomad.client.allocs.cpu.total_ticks["{#JOB.NAME}","{#JOB.TASK.GROUP}","{#JOB.NAMESPACE}"]' - type: STRING name: reference value: AAAAI - type: INTEGER name: source_type value: '3' - uuid: 040a905f916a4311a52ecc2b084175a4 name: 'Node resources' pages: - name: 'Node resources' widgets: - type: graph width: '72' height: '5' fields: - type: GRAPH name: graphid.0 value: host: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client: CPU utilization' - type: STRING name: reference value: AAAAA - type: graph 'y': '5' width: '36' height: '5' fields: - type: GRAPH name: graphid.0 value: host: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client: Memory utilization' - type: STRING name: reference value: AAAAB - type: graphprototype 'y': '10' width: '36' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client: Disk ["{#DEV.NAME}"] usage' - type: STRING name: reference value: AAAAD - type: graph x: '36' 'y': '5' width: '36' height: '5' fields: - type: GRAPH name: graphid.0 value: host: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client: Memory allocation' - type: STRING name: reference value: AAAAC - type: graphprototype x: '36' 'y': '10' width: '36' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HashiCorp Nomad Client by HTTP' name: 'HashiCorp Nomad Client: Disk ["{#DEV.NAME}"] utilization' - type: STRING name: reference value: AAAAE valuemaps: - uuid: 766a3c43981147bf85e9e157eb69c510 name: 'Detection state' mappings: - value: '0' newvalue: Undetected - value: '1' newvalue: Detected - uuid: c202a63acca7407bb6d61bf631696691 name: 'Driver state' mappings: - value: '0' newvalue: Unhealthy - value: '1' newvalue: Healthy - uuid: 40e17de6519d44bb80b4566e0569c31b name: 'Service state' mappings: - value: '0' newvalue: Down - value: '1' newvalue: Up - uuid: 8598d0e2bd6f4903832ec91b7b300062 template: 'HashiCorp Nomad Server by HTTP' name: 'HashiCorp Nomad Server by HTTP' description: | Get HashiCorp Nomad server metrics by HTTP from metrics endpoint. More information about metrics is available in the official documentation: https://developer.hashicorp.com/nomad/docs/operations/metrics-reference. You can discuss this template or leave feedback on our forum: https://www.zabbix.com/forum/zabbix-suggestions-and-feedback. Generated by official Zabbix template tool "Templator" vendor: name: Zabbix version: 7.0-1 groups: - name: Templates/Applications items: - uuid: c5903e91262b4877be8c7e8f304b2862 name: 'Service [rpc] state' type: SIMPLE key: 'net.tcp.service[tcp,,{$NOMAD.SERVER.RPC.PORT}]' description: 'Current [rpc] service state.' valuemap: name: 'Service state' preprocessing: - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h tags: - tag: component value: network triggers: - uuid: 0b534fa4c6cd4e89bd0a44ca8e810fa2 expression: 'last(/HashiCorp Nomad Server by HTTP/net.tcp.service[tcp,,{$NOMAD.SERVER.RPC.PORT}]) = 0' name: 'HashiCorp Nomad Server: Service [rpc] is down' opdata: 'Service: rpc, Port: {$NOMAD.SERVER.RPC.PORT}, State: {ITEM.LASTVALUE}' priority: AVERAGE description: | Cannot establish the connection to [rpc] service port {$NOMAD.SERVER.RPC.PORT}. Check the Nomad state and network connectivity between Nomad and Zabbix. manual_close: 'YES' tags: - tag: scope value: availability - uuid: 9eecc3ee79f04448991c83ac93459597 name: 'Service [serf] state' type: SIMPLE key: 'net.tcp.service[tcp,,{$NOMAD.SERVER.SERF.PORT}]' description: 'Current [serf] service state.' valuemap: name: 'Service state' preprocessing: - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h tags: - tag: component value: network triggers: - uuid: 00799e8927b547308fc9caab4ba2d24d expression: 'last(/HashiCorp Nomad Server by HTTP/net.tcp.service[tcp,,{$NOMAD.SERVER.SERF.PORT}]) = 0' name: 'HashiCorp Nomad Server: Service [serf] is down' opdata: 'Service: serf, Port: {$NOMAD.SERVER.SERF.PORT}, State: {ITEM.LASTVALUE}' priority: AVERAGE description: | Cannot establish the connection to [serf] service port {$NOMAD.SERVER.SERF.PORT}. Check the Nomad state and network connectivity between Nomad and Zabbix. manual_close: 'YES' tags: - tag: scope value: availability - uuid: 04821dab074f43e785dec52fbf69240e name: 'Nomad raft version' type: DEPENDENT key: nomad.raft.version delay: '0' value_type: CHAR trends: '0' description: 'Nomad raft version.' preprocessing: - type: JSONPATH parameters: - $.body.stats.raft.protocol_version error_handler: DISCARD_VALUE master_item: key: nomad.server.stats.get tags: - tag: component value: system - uuid: 6ad163ebdefa4f5aa1e3712b7ddac7a7 name: 'FSM allocation client update time' type: DEPENDENT key: nomad.server.alloc_client_update delay: '0' value_type: FLOAT units: s description: 'Time elapsed to apply AllocClientUpdate raft entry.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_fsm_alloc_client_update_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: 22947f9cc2734f95997a55d9e6392b77 name: 'Autopilot failure tolerance' type: DEPENDENT key: nomad.server.autopilot.failure_tolerance delay: '0' description: 'The number of redundant healthy servers that can fail without causing an outage.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_autopilot_failure_tolerance - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: autopilot triggers: - uuid: fbb6d007481a4aab8d107a1d25a8c7ad expression: 'last(/HashiCorp Nomad Server by HTTP/nomad.server.autopilot.failure_tolerance) < {$NOMAD.REDUNDANCY.MIN} and nodata(/HashiCorp Nomad Server by HTTP/nomad.server.autopilot.failure_tolerance,5m) = 0' name: 'HashiCorp Nomad Server: Autopilot redundancy is low' event_name: 'HashiCorp Nomad Server: Autopilot redundancy is low (less than {$NOMAD.REDUNDANCY.MIN})' priority: WARNING description: | The autopilot redundancy is low. Cluster crash risk is high due to one more server failure. manual_close: 'YES' tags: - tag: scope value: capacity - uuid: 05ce375320dd402ab6c75f8fffba74cb name: 'Autopilot state' type: DEPENDENT key: nomad.server.autopilot.state delay: '0' description: 'Current autopilot state.' valuemap: name: 'Autopilot state' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_autopilot_healthy - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: autopilot triggers: - uuid: 73c14eec055e47c6af6d8728ba0fb416 expression: 'last(/HashiCorp Nomad Server by HTTP/nomad.server.autopilot.state) = 0 and nodata(/HashiCorp Nomad Server by HTTP/nomad.server.autopilot.state,5m) = 0' name: 'HashiCorp Nomad Server: Autopilot is unhealthy' priority: AVERAGE description: 'The autopilot is in unhealthy state. The successful failover probability is extremely low.' manual_close: 'YES' tags: - tag: scope value: availability - uuid: ace31f3772fe4ffe84741554e3fba8bc name: 'CPU shares for blocked evaluations' type: DEPENDENT key: nomad.server.blocked_evals.cpu delay: '0' value_type: FLOAT description: 'Amount of CPU shares requested by blocked evals.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_blocked_evals_cpu - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: cpu - tag: component value: evaluations - uuid: d7fe536b4d0445328dfbf3b1188bea70 name: 'CPU shares for blocked job evaluations' type: DEPENDENT key: nomad.server.blocked_evals.job.cpu delay: '0' value_type: FLOAT description: 'Amount of CPU shares requested by blocked evals of a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_blocked_evals_job_cpu - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: cpu - tag: component value: evaluations - tag: component value: jobs - uuid: 2f07cbd6ec11449cae787a6e84fa5fbf name: 'Memory shares for blocked job evaluations' type: DEPENDENT key: nomad.server.blocked_evals.job.memory delay: '0' value_type: FLOAT description: 'Amount of memory requested by blocked evals of a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_blocked_evals_job_memory - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - tag: component value: jobs - tag: component value: memory - uuid: 5460a81df8174fb5a7596b4243162d05 name: 'Memory shares by blocked evaluations' type: DEPENDENT key: nomad.server.blocked_evals.memory delay: '0' value_type: FLOAT description: 'Amount of memory requested by blocked evals.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_blocked_evals_memory - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - tag: component value: memory - uuid: 474d05060b0d4a608f6a2d319235af91 name: 'Evaluations blocked' type: DEPENDENT key: nomad.server.blocked_evals.total_blocked delay: '0' value_type: FLOAT description: 'Count of evals in the blocked state for any reason (cluster resource exhaustion or quota limits).' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_blocked_evals_total_blocked - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: 80f5edf18daf407ba6b64374084a555b name: 'Evaluations escaped' type: DEPENDENT key: nomad.server.blocked_evals.total_escaped delay: '0' value_type: FLOAT description: | Count of evals that have escaped computed node classes. This indicates a scheduler optimization was skipped and is not usually a source of concern. preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_blocked_evals_total_escaped - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: 356dec0f5d5b45d981db4b590ef7dd73 name: 'Evaluations blocked due to quota limit' type: DEPENDENT key: nomad.server.blocked_evals.total_quota_limit delay: '0' value_type: FLOAT description: 'Count of blocked evals due to quota limits (the resources for these jobs are not counted in other blocked_evals metrics, except for total_blocked).' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_blocked_evals_total_quota_limit - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: 54ddea6f2fa04e6c8ceb456d4d67c530 name: 'Evaluations enqueue time' type: DEPENDENT key: nomad.server.broker.eval_waiting delay: '0' value_type: FLOAT units: s description: 'Average time elapsed with evaluations waiting to be enqueued.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_eval_ack_sum - function - avg error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: 7df3a4b80f6b44c6a03b672182d3f73f name: 'Services ready to schedule' type: DEPENDENT key: nomad.server.broker.service_ready delay: '0' value_type: FLOAT description: 'Count of service evals ready to be scheduled.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_broker_service_ready - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: services - uuid: 0da8881c8ddf4cd18e04b38201b83b7d name: 'Services unacknowledged' type: DEPENDENT key: nomad.server.broker.service_unacked delay: '0' value_type: FLOAT description: 'Count of unacknowledged service evals.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_broker_service_unacked - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: services - uuid: 2a38602920224c31a221696cf65c6abc name: 'System evaluations ready to schedule' type: DEPENDENT key: nomad.server.broker.system_ready delay: '0' value_type: FLOAT description: 'Count of service evals ready to be scheduled.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_broker_system_ready - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: 3faaaa69672c4b999a12f054dbd8b980 name: 'System evaluations unacknowledged' type: DEPENDENT key: nomad.server.broker.system_unacked delay: '0' value_type: FLOAT description: 'Count of unacknowledged system evals.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_broker_system_unacked - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: 2e556f5894c9492a80b34c84ceb69dba name: 'Evaluations pending' type: DEPENDENT key: nomad.server.broker.total_pending delay: '0' value_type: FLOAT description: 'Evaluations that are pending until an existing evaluation for the same job completes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_broker_total_pending - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: 01e11850732a46709942c225d294a8ef name: 'Evaluations ready' type: DEPENDENT key: nomad.server.broker.total_ready delay: '0' value_type: FLOAT description: 'Number of evaluations ready to be processed.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_broker_total_ready - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: d57805e0d8a24117bb64992a9aeb3dc3 name: 'Evaluations unacked' type: DEPENDENT key: nomad.server.broker.total_unacked delay: '0' value_type: FLOAT description: 'Evaluations dispatched for processing but incomplete.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_broker_total_unacked - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: ac1d1422adc248b48ba65268f9a43be8 name: 'Evaluations waiting' type: DEPENDENT key: nomad.server.broker.total_waiting delay: '0' description: 'Count of evals waiting to be enqueued.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_broker_total_waiting - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: evaluations - uuid: de3e13f7635e4058bd2ca12f6f454668 name: 'RPC eval dequeue time' type: DEPENDENT key: nomad.server.client.dequeue delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Eval.Dequeue RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_eval_dequeue_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: ac2a5b69fef546d0924d631a9ed9cffd name: 'RPC get client allocs time' type: DEPENDENT key: nomad.server.client.get_client_allocs delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Node.GetClientAllocs RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_client_get_client_allocs_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 758f3474636c42378fac78a2f5e3b63b name: 'RPC list time' type: DEPENDENT key: nomad.server.client.list delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Node.List RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_client_list_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 588bb9b304634852af149d7903d42798 name: 'RPC update allocations time' type: DEPENDENT key: nomad.server.client.update_alloc delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Node.UpdateAlloc RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_client_update_alloc_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 1e1ce033c99b45a3892df8674deaf1f4 name: 'RPC update status time' type: DEPENDENT key: nomad.server.client.update_status delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Node.UpdateStatus RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_client_update_status_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: c5bd6a645e9f49ba83fe065b2af6248e name: 'CPU time, rate' type: DEPENDENT key: nomad.server.cpu.time delay: '0' value_type: FLOAT units: s description: 'Total user and system CPU time spent in seconds.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - process_cpu_seconds_total - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: cpu - uuid: dbbee3bb99d347f9a9a5325b4f64a894 name: 'Monitoring API response' type: DEPENDENT key: nomad.server.data.api.response delay: '0' value_type: TEXT trends: '0' description: 'Monitoring API response message.' preprocessing: - type: JAVASCRIPT parameters: - | try { var response = Object.keys(JSON.parse(value).header).filter(function (f) { return f.match(/HTTP\/[\d.]+\s+\d{3}/); }); return response.pop(); } catch (error) { return "HTTP/1.1 408 Request timeout"; } - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.server.data.get tags: - tag: component value: status triggers: - uuid: 9dc8cd0bcbad4ee7a2afe45e33db53a7 expression: 'find(/HashiCorp Nomad Server by HTTP/nomad.server.data.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' name: 'HashiCorp Nomad Server: Monitoring API connection has failed' event_name: 'HashiCorp Nomad Server: Monitoring API connection has failed. HTTP response code: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+(\d{3})", \1")}. Response message: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+\d{3}\s+(.*)", \1")}' priority: AVERAGE description: | Monitoring API connection has failed. Ensure that Nomad API URL and the necessary permissions have been defined correctly, check the service state and network connectivity between Nomad and Zabbix. manual_close: 'YES' tags: - tag: scope value: availability - uuid: b7ba2f4a56b04de298fde77cbf5afb6a name: 'Telemetry get' type: HTTP_AGENT key: nomad.server.data.get history: '0' value_type: TEXT trends: '0' description: 'Telemetry data in raw format.' preprocessing: - type: CHECK_NOT_SUPPORTED parameters: - '-1' error_handler: CUSTOM_VALUE error_handler_params: '{"header":{"HTTP/1.1 408 Request timeout":""}}' timeout: '{$NOMAD.DATA.TIMEOUT}' url: '{$NOMAD.SERVER.API.SCHEME}://{HOST.IP}:{$NOMAD.SERVER.API.PORT}/v1/metrics' query_fields: - name: format value: prometheus status_codes: '' http_proxy: '{$NOMAD.HTTP.PROXY}' headers: - name: X-Nomad-Token value: '{$NOMAD.TOKEN}' retrieve_mode: BOTH output_format: JSON tags: - tag: component value: raw - uuid: 7241c9923d714970ad950f9b7aa8ab52 name: 'RPC evaluation acknowledgement time' type: DEPENDENT key: nomad.server.eval.ack delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Eval.Ack RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_eval_ack_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: b9085e173cec4ce2b2fa6fd68041695e name: 'FSM apply plan results time' type: DEPENDENT key: nomad.server.fsm.apply_plan_results delay: '0' value_type: FLOAT units: s description: 'Time elapsed to apply ApplyPlanResults raft entry.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_fsm_apply_plan_results_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: 62b19ce1b2bb4fdaacff02d70101a10f name: 'FSM job registration time' type: DEPENDENT key: nomad.server.fsm.register_job delay: '0' value_type: FLOAT units: s description: 'Time elapsed to apply RegisterJob raft entry.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_fsm_register_job_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: 2d0b9f09bfb5480ebd6d6cf96c15278e name: 'FSM update evaluation time' type: DEPENDENT key: nomad.server.fsm.update_eval delay: '0' value_type: FLOAT units: s description: 'Time elapsed to apply UpdateEval raft entry.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_fsm_update_eval_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: 0abce7a087874e58a7da20acb3599535 name: 'Heartbeats active' type: DEPENDENT key: nomad.server.heartbeat.active delay: '0' description: | Number of active heartbeat timers. Each timer represents a Nomad client connection. preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_heartbeat_active - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: network - uuid: dc95deb3590148a9bc50ea151a0d46b7 name: 'RPC job allocations time' type: DEPENDENT key: nomad.server.job.allocations delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Job.Allocations RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_allocations_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 11e18e811fe7461181417ca1f5dad915 name: 'RPC job evaluations time' type: DEPENDENT key: nomad.server.job.evaluations delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Job.Evaluations RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_evaluations_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 0efaac3a59d44ce09d31435ddfa6aada name: 'RPC get job time' type: DEPENDENT key: nomad.server.job.get_job delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Job.GetJob RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_get_job_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 5ab3191f1f744682bab6d3142a1c39a4 name: 'Jobs dead' type: DEPENDENT key: nomad.server.job_status.dead delay: '0' description: 'Number of dead jobs.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_status_dead - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs triggers: - uuid: 44dcd52ebf54404e871501a4c4825424 expression: 'last(/HashiCorp Nomad Server by HTTP/nomad.server.job_status.dead) > 0 and nodata(/HashiCorp Nomad Server by HTTP/nomad.server.job_status.dead,5m) = 0' name: 'HashiCorp Nomad Server: Dead jobs found' opdata: 'Current amount: {ITEM.LASTVALUE}' priority: WARNING description: | Jobs with the `Dead` state discovered. Check the {$NOMAD.SERVER.API.SCHEME}://{HOST.IP}:{$NOMAD.SERVER.API.PORT}/v1/jobs URL for the details. manual_close: 'YES' tags: - tag: scope value: availability - uuid: 39a27315e33549dc88c6cb426a5a05c9 name: 'Jobs pending' type: DEPENDENT key: nomad.server.job_status.pending delay: '0' description: 'Number of pending jobs.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_status_pending - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: 97907d8816b14fb69063a55bdea22701 name: 'Jobs running' type: DEPENDENT key: nomad.server.job_status.running delay: '0' description: 'Number of running jobs.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_status_running - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: 4be8c941477046dd9dcc549020d687e7 name: 'Job allocations completed' type: DEPENDENT key: nomad.server.job_summary.complete delay: '0' description: 'Number of complete allocations for a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_summary_complete - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: 6f6ad9a70b4e4759bc2e4cc213d697bb name: 'Job allocations failed' type: DEPENDENT key: nomad.server.job_summary.failed delay: '0' description: 'Number of failed allocations for a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_summary_failed - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: 7a267a1b82b24157a19b52e6f285f0ce name: 'RPC job summary time' type: DEPENDENT key: nomad.server.job_summary.get_job_summary delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Job.Summary RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_summary_get_job_summary_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 0c408dff86604486b0f23efed00f4348 name: 'Job allocations lost' type: DEPENDENT key: nomad.server.job_summary.lost delay: '0' description: 'Number of lost allocations for a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_summary_lost - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: d0de68553b484d2d9311b356a7b5a9e7 name: 'Job allocations queued' type: DEPENDENT key: nomad.server.job_summary.queued delay: '0' description: 'Number of queued allocations for a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_summary_queued - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: 98ab06dce1f84ef5993e8cc793114008 name: 'Job allocations running' type: DEPENDENT key: nomad.server.job_summary.running delay: '0' description: 'Number of running allocations for a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_summary_running - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: e3cc96bd72924bb5bd0334018a5a88be name: 'Job allocations starting' type: DEPENDENT key: nomad.server.job_summary.starting delay: '0' description: 'Number of starting allocations for a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_summary_starting - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: 244a84e136c94a47b1b64b92d08ac20f name: 'Job allocations unknown' type: DEPENDENT key: nomad.server.job_summary.unknown delay: '0' description: 'Number of unknown allocations for a job.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_job_summary_unknown - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: jobs - uuid: 478f45d1095646bca5ffd3a6d923dddf name: 'Leader barrier time' type: DEPENDENT key: nomad.server.leader.barrier delay: '0' value_type: FLOAT units: s description: 'Time elapsed to establish a raft barrier during leader transition.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_leader_barrier_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: leader - tag: component value: raft - uuid: 8425336f75704a259bc066c795df1516 name: 'Total reconcile time' type: DEPENDENT key: nomad.server.leader.reconcile delay: '0' value_type: FLOAT units: s description: 'Time elapsed to reconcile all serf peers with state store.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_leader_reconcile_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: leader - tag: component value: raft - uuid: a5b6d36142174dd683e2aec5dd4ee1e9 name: 'Reconcile peer time' type: DEPENDENT key: nomad.server.leader.reconcile_member delay: '0' value_type: FLOAT units: s description: 'Time elapsed to reconcile a serf peer with state store.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_leader_reconcileMember_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: leader - tag: component value: raft - uuid: af6eda309cc545b2aa65efc0af103a02 name: 'Gossip time' type: DEPENDENT key: nomad.server.memberlist.gossip delay: '0' value_type: FLOAT units: s description: 'Time elapsed to broadcast gossip messages.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_memberlist_gossip_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: gossip - uuid: 25372c89439641d09521348033b1e324 name: Metrics type: DEPENDENT key: nomad.server.metrics.get delay: '0' history: '0' value_type: TEXT trends: '0' description: 'Nomad server metrics in raw format.' preprocessing: - type: JSONPATH parameters: - $.body error_handler: DISCARD_VALUE master_item: key: nomad.server.data.get tags: - tag: component value: raw - uuid: 8a003df55bae4bf0a14fefc6f02f28bf name: 'Namespace list time' type: DEPENDENT key: nomad.server.namespace.list_namespace delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Namespace.ListNamespaces.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_namespace_list_namespace_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: namespaces - uuid: dd8d8b5cdf914002ac58183b667ceb06 name: 'Plan apply time' type: DEPENDENT key: nomad.server.plan.apply delay: '0' value_type: FLOAT units: s description: 'Time elapsed to apply a plan.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_plan_apply_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: plan - uuid: d8d69f231d23457e82c6d3941f09cf5d name: 'Plan evaluate time' type: DEPENDENT key: nomad.server.plan.evaluate delay: '0' value_type: FLOAT units: s description: 'Time elapsed to evaluate a plan.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_plan_evaluate_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: plan - uuid: ee7b59fd19644bc4813696f8d806955f name: 'Plan queue' type: DEPENDENT key: nomad.server.plan.queue_depth delay: '0' value_type: FLOAT description: 'Count of evals in the plan queue.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_plan_queue_depth - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: plan - uuid: 9df85708b74d40509d9c9412a15e5ce5 name: 'RPC plan submit time' type: DEPENDENT key: nomad.server.plan.submit delay: '0' value_type: FLOAT units: s description: 'Time elapsed for Plan.Submit RPC call.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_plan_submit_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: plan - tag: component value: rpc - uuid: 851eea2a548644ba884ca852c2759d90 name: 'Plan raft index processing time' type: DEPENDENT key: nomad.server.plan.wait_for_index delay: '0' value_type: FLOAT units: s description: 'Time elapsed that planner waits for the raft index of the plan to be processed.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_plan_wait_for_index_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: plan - uuid: 505ee2804b4e451892103b36cc38abde name: 'Open file descriptors, max' type: DEPENDENT key: nomad.server.process_max_fds delay: '0' description: 'Maximum number of open file descriptors.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - process_max_fds - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: fds - uuid: cba898eca0c84a84a1ea0309e04b9f84 name: 'Open file descriptors' type: DEPENDENT key: nomad.server.process_open_fds delay: '0' description: 'Number of open file descriptors.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - process_open_fds - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: fds - uuid: 1dd455d2776f4378a39980cfa8eba33c name: 'FSM index' type: DEPENDENT key: nomad.server.raft.applied_index delay: '0' description: 'Current index applied to FSM.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_appliedIndex - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: bad74d0dc4b2431fbb5a442bc2fc1236 name: 'Raft transactions, rate' type: DEPENDENT key: nomad.server.raft.apply delay: '0' description: 'Number of Raft transactions.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_apply - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: raft - uuid: 804693ed989b44e3903bcd81159dd51d name: 'Raft calls blocked, rate' type: DEPENDENT key: nomad.server.raft.barrier delay: '0' description: 'Count of blocking raft API calls.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_barrier - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: raft - uuid: f7d1bc6c6a82475dabcdaaec7472fe02 name: 'BoltDB freelist bytes' type: DEPENDENT key: nomad.server.raft.boltdb.freelist_bytes delay: '0' units: B description: 'Number of freelist bytes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_freelistBytes - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: b3f246d0991746589f4d0d68653eb4e9 name: 'BoltDB free page bytes' type: DEPENDENT key: nomad.server.raft.boltdb.free_page_bytes delay: '0' value_type: FLOAT units: B description: 'Number of free page bytes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_freePageBytes - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: e3d0d6f656f5484f8e8a8ca1195aad59 name: 'BoltDB free pages' type: DEPENDENT key: nomad.server.raft.boltdb.num_free_pages delay: '0' description: 'Number of BoltDB free pages.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_numFreePages - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 73f359bcb02d46a0adb6fdd51284afcf name: 'BoltDB pending pages' type: DEPENDENT key: nomad.server.raft.boltdb.num_pending_pages delay: '0' description: 'Number of BoltDB pending pages.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_numPendingPages - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 08afe7430e3c49e388f0a87c8bbf2ff4 name: 'BoltDB open read transactions' type: DEPENDENT key: nomad.server.raft.boltdb.open_read_txn delay: '0' description: 'Number of current open read transactions.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_openReadTxn - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 36e89e86c9124e868670e9cb7b247899 name: 'BoltDB read transactions, rate' type: DEPENDENT key: nomad.server.raft.boltdb.total_read_txn delay: '0' description: 'Count of total read transactions.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_totalReadTxn - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 2733afd943b346e38c8605259bea038c name: 'BoltDB cursors' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.cursor_count delay: '0' description: 'Count of total database cursors.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_cursorCount - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 1641576e376c4c82a8b1882b4810db4c name: 'BoltDB nodes, rate' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.node_count delay: '0' description: 'Count of total database nodes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_nodeCount - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: f0151f3431254030a3bcd538e8d2068b name: 'BoltDB node dereferences, rate' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.node_deref delay: '0' value_type: FLOAT description: 'Count of total database node dereferences.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_nodeDeref - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 27a8a38acfc34e14b3fbb13aa58ad5d4 name: 'BoltDB page allocations, rate' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.page_alloc delay: '0' value_type: FLOAT description: 'Number of page allocations.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_pageAlloc - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 14a5fc715dad4eacaddb2f277e1f85f6 name: 'BoltDB pages in use' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.page_count delay: '0' description: 'Number of pages in use.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_pageCount - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: dd9729e812614ab59c595b7183a883b0 name: 'BoltDB rebalance operations, rate' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.rebalance delay: '0' value_type: FLOAT description: 'Count of total rebalance operations.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_rebalance - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: d270aa05d1ca4f3d9ee606937f1703cc name: 'BoltDB rebalance time' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.rebalance_time delay: '0' value_type: FLOAT units: s description: 'Sample of rebalance operation times.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_rebalanceTime_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 621478ee2bea482abffd6b8c80df5ee1 name: 'BoltDB spill operations, rate' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.spill delay: '0' description: 'Count of total spill operations.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_spill - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: 2ca3e7572bf04b04961107e7d9304887 name: 'BoltDB spill time' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.spill_time delay: '0' value_type: FLOAT units: s description: 'Sample of spill operation times.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_spillTime_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: bd14547f789540618db85057eceb70db name: 'BoltDB split operations, rate' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.split delay: '0' description: 'Count of total split operations.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_split - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: b13b7b9eb66940c9bf4d14e711ee0279 name: 'BoltDB write operations, rate' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.write delay: '0' description: 'Count of total write operations.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_write - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: e9b31f3434aa4df0908a79ff5352a29e name: 'BoltDB write time' type: DEPENDENT key: nomad.server.raft.boltdb.txstats.write_time delay: '0' value_type: FLOAT units: s description: 'Sample of write operation times.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_boltdb_txstats_writeTime_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: boltdb - uuid: dce75575b01e4cf8bd84d6a40c74f22b name: 'Cluster role' type: DEPENDENT key: nomad.server.raft.cluster_role delay: '0' description: 'Current role in the cluster.' valuemap: name: 'Cluster role' preprocessing: - type: JSONPATH parameters: - $.body.stats.raft.state error_handler: DISCARD_VALUE - type: JAVASCRIPT parameters: - | const idx = [ 'Leader', 'Follower', 'Candidate', ].indexOf(value); return idx !== -1 ? idx : 10; master_item: key: nomad.server.stats.get tags: - tag: component value: system triggers: - uuid: 1bc6ee807acd4532a58b4527f8865c1c expression: 'change(/HashiCorp Nomad Server by HTTP/nomad.server.raft.cluster_role) <> 0' name: 'HashiCorp Nomad Server: Cluster role has changed' event_name: 'HashiCorp Nomad Server: Cluster role has changed to {ITEM.LASTVALUE}' priority: INFO description: 'Cluster role has changed.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: a994ee525886407486adace82ea5ef90 name: 'Raft commit logs enqueued' type: DEPENDENT key: nomad.server.raft.commit_num_logs delay: '0' description: 'Count of logs enqueued.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_commitNumLogs - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: raft - uuid: 3160d5b81e1540aab3244f1cf6bce95d name: 'Raft commit time' type: DEPENDENT key: nomad.server.raft.commit_time delay: '0' value_type: FLOAT units: s description: 'Time elapsed to commit writes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_worker_dequeue_eval_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: raft - uuid: 09f1baf6fc2443f48e01814b939c0749 name: 'FSM apply time' type: DEPENDENT key: nomad.server.raft.fsm.apply delay: '0' value_type: FLOAT units: s description: 'Time elapsed to apply write to FSM.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_fsm_apply_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: 18689de9474f4812ba9ed34d311ad3a1 name: 'FSM autopilot time' type: DEPENDENT key: nomad.server.raft.fsm.autopilot delay: '0' value_type: FLOAT units: s description: 'Time elapsed to apply Autopilot raft entry.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_fsm_autopilot_sum - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: 6846f262148e49288ecb7aa0ad18f7d2 name: 'FSM enqueue time' type: DEPENDENT key: nomad.server.raft.fsm.enqueue delay: '0' value_type: FLOAT units: s description: 'Time elapsed to enqueue write to FSM.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_fsm_enqueue_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: 4e2d0557fc984ed9858316c8409edd0e name: 'FSM register node time' type: DEPENDENT key: nomad.server.raft.fsm.register_node delay: '0' value_type: FLOAT units: s description: 'Time elapsed to apply RegisterNode raft entry.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_fsm_register_node_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: fsm - uuid: bb65ca263f3244fc883d9102bbf9bef7 name: 'Raft last index' type: DEPENDENT key: nomad.server.raft.last_index delay: '0' description: 'Most recent index seen.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_lastIndex - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: raft - uuid: bda052f13e3c4dacaafc4ddefbc98036 name: 'Dispatch log time' type: DEPENDENT key: nomad.server.raft.leader.dispatch_log delay: '0' value_type: FLOAT units: s description: 'Time elapsed to write log, mark in flight, and start replication.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_leader_dispatchLog_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: leader - tag: component value: raft - uuid: f915e5e162814786943cd4cc85bb7aff name: 'Logs dispatched' type: DEPENDENT key: nomad.server.raft.leader.dispatch_num_logs delay: '0' description: 'Count of logs dispatched.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_leader_dispatchNumLogs - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: leader - tag: component value: raft - uuid: 7f9db272307c43e7b87b8a4a4a6eae16 name: 'Leader last contact' type: DEPENDENT key: nomad.server.raft.leader.lastContact delay: '0' value_type: FLOAT units: s description: | Time since last contact to leader. General indicator of Raft latency. preprocessing: - type: PROMETHEUS_PATTERN parameters: - 'nomad_raft_leader_lastContact{quantile="0.99"}' - value - '' error_handler: DISCARD_VALUE - type: STR_REPLACE parameters: - NaN - '0' - type: MULTIPLIER parameters: - '0.001' master_item: key: nomad.server.metrics.get tags: - tag: component value: leader - tag: component value: raft triggers: - uuid: 65c69469e9354e81a632485a74bc711d expression: 'min(/HashiCorp Nomad Server by HTTP/nomad.server.raft.leader.lastContact,5m) >= {$NOMAD.SERVER.LEADER.LATENCY} and nodata(/HashiCorp Nomad Server by HTTP/nomad.server.raft.leader.lastContact,5m) = 0' name: 'HashiCorp Nomad Server: Leader last contact timeout exceeded' event_name: 'HashiCorp Nomad Server: Leader last contact timeout exceeded: over {$NOMAD.SERVER.LEADER.LATENCY} for the last 5 minutes' priority: WARNING description: | The nomad.raft.leader.lastContact metric is a general indicator of Raft latency which can be used to observe how Raft timing is performing and guide infrastructure provisioning. If this number trends upwards, look at CPU, disk IOPs, and network latency. nomad.raft.leader.lastContact should not get too close to the leader lease timeout of 500ms. tags: - tag: scope value: performance - uuid: bca59612c439447ebe78ae68e68fd6cb name: 'Raft peers' type: DEPENDENT key: nomad.server.raft.peers delay: '0' description: 'Current cluster raft peers amount.' preprocessing: - type: JSONPATH parameters: - $.body.stats.raft.num_peers error_handler: DISCARD_VALUE master_item: key: nomad.server.stats.get tags: - tag: component value: system - uuid: 36ff560da62740a0b4657b4afabcf902 name: 'Raft transaction commit time' type: DEPENDENT key: nomad.server.raft.replication.appendEntries delay: '0' units: s description: 'Raft transaction commit time.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_replication_appendEntries_rpc - function - avg error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '0.001' master_item: key: nomad.server.metrics.get tags: - tag: component value: raft - uuid: 662cd8712bbe4a4080a540f878b4ec44 name: 'Heartbeat fails' type: DEPENDENT key: nomad.server.raft.transition.heartbeat_timeout delay: '0' description: 'Count of failing to heartbeat and starting election.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_raft_transition_heartbeat_timeout - value - '' error_handler: CUSTOM_VALUE error_handler_params: '0' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.server.metrics.get tags: - tag: component value: raft - uuid: 3dae4fd461fa4a5abdba717e538b8405 name: 'Resident memory size' type: DEPENDENT key: nomad.server.resident_memory_bytes delay: '0' value_type: FLOAT units: B description: 'Resident memory size in bytes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - process_resident_memory_bytes - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: memory - uuid: ec2d018e121442be9d3fb350f6572ca6 name: 'RPC queries, rate' type: DEPENDENT key: nomad.server.rpc.query delay: '0' description: 'Number of RPC queries.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_rpc_query - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 406d9bc9db1e44509a77acd11963f406 name: 'RPC requests, rate' type: DEPENDENT key: nomad.server.rpc.request delay: '0' description: 'Number of RPC requests being handled.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_rpc_request - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: 0ef3cfaf0e694625bbc3f3a117ff9f06 name: 'RPC error requests, rate' type: DEPENDENT key: nomad.server.rpc.request_error delay: '0' description: 'Number of RPC requests being handled that result in an error.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_rpc_request - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: network - tag: component value: rpc - uuid: a0e7b48174de4e569762dc1654d63267 name: 'Memory used' type: DEPENDENT key: nomad.server.runtime.alloc_bytes delay: '0' value_type: FLOAT units: B description: 'Memory utilization in bytes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_runtime_alloc_bytes - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: memory - uuid: 7d8883065c2c494f9c4853afe50d157c name: 'Objects freed, rate' type: DEPENDENT key: nomad.server.runtime.free_count delay: '0' value_type: FLOAT description: 'Count of objects freed from heap by go runtime GC.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_runtime_free_count - value - '' error_handler: DISCARD_VALUE - type: CHANGE_PER_SECOND parameters: - '' master_item: key: nomad.server.metrics.get tags: - tag: component value: runtime - uuid: 02b0699a706742d1bb557e32ed1b52ea name: 'GC pause time' type: DEPENDENT key: nomad.server.runtime.gc_pause_ns delay: '0' value_type: FLOAT units: s description: 'Go runtime GC pause times.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_runtime_gc_pause_ns_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: runtime - uuid: c3fc612a6bec45ee9ffd51d168801974 name: 'Heap objects' type: DEPENDENT key: nomad.server.runtime.heap_objects delay: '0' description: | Number of objects on the heap. General memory pressure indicator. preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_runtime_heap_objects - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: memory - uuid: 9b1bcd0020b5413e920ce12af6124687 name: Goroutines type: DEPENDENT key: nomad.server.runtime.num_goroutines delay: '0' description: 'Number of goroutines and general load pressure indicator.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_runtime_num_goroutines - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: memory - uuid: 71256d39cf844c22be8d25a9170e61f2 name: 'GC metadata size' type: DEPENDENT key: nomad.server.runtime.sys_bytes delay: '0' value_type: FLOAT units: B description: 'Go runtime GC metadata size in bytes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_runtime_sys_bytes - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: runtime - uuid: 733b18dd02d7404bb8cf4c7447a374ae name: 'GC runs' type: DEPENDENT key: nomad.server.runtime.total_gc_runs delay: '0' description: 'Count of go runtime GC runs.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_runtime_total_gc_runs - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: runtime - uuid: c7f327a390884c928ebf228d8ebb3a4c name: 'Allocation reschedule attempts' type: DEPENDENT key: nomad.server.scheduler.allocs.rescheduled.attempted delay: '0' description: 'Count of attempts to reschedule an allocation.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_scheduler_allocs_reschedule_attempted - function - sum error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: nomad.server.metrics.get tags: - tag: component value: allocations - uuid: 8293b40a695b4b24ab9b6576a0f9a4d8 name: 'Memberlist events' type: DEPENDENT key: nomad.server.serf.queue.event delay: '0' value_type: FLOAT description: 'Count of memberlist events received.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_serf_queue_Event_sum - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: memberlist - uuid: 8aacc54e455b49b0ab0cfed4559829f7 name: 'Memberlist changes' type: DEPENDENT key: nomad.server.serf.queue.intent delay: '0' value_type: FLOAT description: 'Count of memberlist changes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_serf_queue_Intent_sum - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: memberlist - uuid: 1c5f383a89f74934a6cb211bfd586856 name: 'Memberlist queries' type: DEPENDENT key: nomad.server.serf.queue.queries delay: '0' value_type: FLOAT description: 'Count of memberlist queries.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_serf_queue_Query_sum - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: memberlist - uuid: e645f371b4ae48e2b2b782f4b0d0fae4 name: 'Snapshot index' type: DEPENDENT key: nomad.server.state.snapshot.index delay: '0' description: 'Current snapshot index.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_state_snapshotIndex - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: state - uuid: 02ba826868414a16909f13b98cc4c445 name: 'Internal stats API response' type: DEPENDENT key: nomad.server.stats.api.response delay: '0' value_type: TEXT trends: '0' description: 'Internal stats API response message.' preprocessing: - type: JAVASCRIPT parameters: - | try { var response = Object.keys(JSON.parse(value).header).filter(function (f) { return f.match(/HTTP\/[\d.]+\s+\d{3}/); }); return response.pop(); } catch (error) { return "HTTP/1.1 408 Request timeout"; } - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: nomad.server.stats.get tags: - tag: component value: status triggers: - uuid: b60dd78bd2d24c22afec63a8b420bcd6 expression: 'find(/HashiCorp Nomad Server by HTTP/nomad.server.stats.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' name: 'HashiCorp Nomad Server: Internal stats API connection has failed' event_name: 'HashiCorp Nomad Server: Internal stats API connection has failed. HTTP response code: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+(\d{3})", \1")}. Response message: {{ITEM.VALUE}.regsub("HTTP\/[\d.]+\s+\d{3}\s+(.*)", \1")}' priority: AVERAGE description: | Internal stats API connection has failed. Ensure that Nomad API URL and the necessary permissions have been defined correctly, check the service state and network connectivity between Nomad and Zabbix. manual_close: 'YES' dependencies: - name: 'HashiCorp Nomad Server: Monitoring API connection has failed' expression: 'find(/HashiCorp Nomad Server by HTTP/nomad.server.data.api.response,,"like","{$NOMAD.API.RESPONSE.SUCCESS}")=0' tags: - tag: scope value: availability - uuid: f8d3a680e6f94250ab0a1ef8169889e3 name: 'Internal stats get' type: HTTP_AGENT key: nomad.server.stats.get delay: 1h history: '0' value_type: TEXT trends: '0' description: 'Internal stats data in raw format.' preprocessing: - type: CHECK_NOT_SUPPORTED parameters: - '-1' error_handler: CUSTOM_VALUE error_handler_params: '{"header":{"HTTP/1.1 408 Request timeout":""}}' timeout: '{$NOMAD.DATA.TIMEOUT}' url: '{$NOMAD.SERVER.API.SCHEME}://{HOST.IP}:{$NOMAD.SERVER.API.PORT}/v1/agent/self' query_fields: - name: filter value: 'ID == "{HOST.HOST}"' status_codes: '' http_proxy: '{$NOMAD.HTTP.PROXY}' headers: - name: X-Nomad-Token value: '{$NOMAD.TOKEN}' retrieve_mode: BOTH output_format: JSON tags: - tag: component value: raw - uuid: 9593fe46e0d941f2b4ddef96baa39b0e name: 'Vault tokens revoked' type: DEPENDENT key: nomad.server.vault.distributed_tokens_revoked delay: '0' value_type: FLOAT description: 'Count of revoked tokens.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_vault_distributed_tokens_revoking - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: vault - uuid: 40c41426ab96476c84647a18511af6e8 name: 'Vault token last renewal' type: DEPENDENT key: nomad.server.vault.token_last_renewal delay: '0' value_type: FLOAT units: s description: 'Time since last successful Vault token renewal.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_vault_token_last_renewal - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '0.001' master_item: key: nomad.server.metrics.get tags: - tag: component value: vault - uuid: f62d8cf1e4b94c9b8796bd30fa799f7a name: 'Vault token next renewal' type: DEPENDENT key: nomad.server.vault.token_next_renewal delay: '0' value_type: FLOAT units: s description: 'Time until next Vault token renewal attempt.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_vault_token_next_renewal - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '0.001' master_item: key: nomad.server.metrics.get tags: - tag: component value: vault - uuid: c619c340887b43e1a4db750e74f1d4aa name: 'Vault token TTL' type: DEPENDENT key: nomad.server.vault.token_ttl delay: '0' value_type: FLOAT units: s description: 'Time to live for Vault token.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_vault_token_ttl - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '0.001' master_item: key: nomad.server.metrics.get tags: - tag: component value: vault - uuid: 921fc50044f94aceaa9d0789be854496 name: 'Nomad server version' type: DEPENDENT key: nomad.server.version delay: '0' value_type: CHAR trends: '0' description: 'Nomad server version.' preprocessing: - type: JSONPATH parameters: - $.body.config.Version.Version master_item: key: nomad.server.stats.get tags: - tag: component value: system triggers: - uuid: 3c7dfd5ec21144b6b58c603d60142200 expression: 'change(/HashiCorp Nomad Server by HTTP/nomad.server.version)<>0' name: 'HashiCorp Nomad Server: Nomad server version has changed' event_name: 'HashiCorp Nomad Server: Nomad server version has changed to {ITEM.LASTVALUE}' priority: INFO description: 'Nomad server version has changed.' manual_close: 'YES' tags: - tag: scope value: availability - uuid: d769576e16df4aed86004498055d5a94 name: 'Virtual memory size' type: DEPENDENT key: nomad.server.virtual_memory_bytes delay: '0' value_type: FLOAT units: B description: 'Virtual memory size in bytes.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - process_virtual_memory_bytes - value - '' error_handler: DISCARD_VALUE master_item: key: nomad.server.metrics.get tags: - tag: component value: memory - uuid: d1addab9628140b09adb60c2820c1829 name: 'Worker evaluation create time' type: DEPENDENT key: nomad.server.worker.create_eval delay: '0' value_type: FLOAT units: s description: 'Time elapsed for worker to create an eval.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_worker_dequeue_eval_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: workers - uuid: 0875726948384b9696158d4db2b64691 name: 'Worker evaluation dequeue time' type: DEPENDENT key: nomad.server.worker.dequeue_eval delay: '0' value_type: FLOAT units: s description: 'Time elapsed for worker to dequeue an eval.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_worker_dequeue_eval_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: workers - uuid: 5bc2cf7713274e1ca8997415f26f7087 name: 'Worker invoke scheduler time' type: DEPENDENT key: nomad.server.worker.invoke_scheduler_service delay: '0' value_type: FLOAT units: s description: 'Time elapsed for worker to invoke the scheduler.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_worker_invoke_scheduler_service_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: workers - uuid: c21aca97ba274913860b28a1fd06abec name: 'Worker acknowledgement send time' type: DEPENDENT key: nomad.server.worker.send_ack delay: '0' value_type: FLOAT units: s description: 'Time elapsed for worker to send acknowledgement.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_worker_send_ack_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: workers - uuid: 3c7b49c3f60e4d69981f6dd3569e49e6 name: 'Worker submit plan time' type: DEPENDENT key: nomad.server.worker.submit_plan delay: '0' value_type: FLOAT units: s description: 'Time elapsed for worker to submit plan.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_worker_submit_plan_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: workers - uuid: f5cd72ca250f402f9ddd112fb858d1f7 name: 'Worker update evaluation time' type: DEPENDENT key: nomad.server.worker.update_eval delay: '0' value_type: FLOAT units: s description: 'Time elapsed for worker to submit updated eval.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_worker_update_eval_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: workers - uuid: ae2e69196ef7416481e9904d9ee8862b name: 'Worker log replication time' type: DEPENDENT key: nomad.server.worker.wait_for_index delay: '0' value_type: FLOAT units: s description: 'Time elapsed that worker waits for the raft index of the eval to be processed.' preprocessing: - type: PROMETHEUS_PATTERN parameters: - nomad_nomad_worker_wait_for_index_sum - value - '' error_handler: DISCARD_VALUE - type: MULTIPLIER parameters: - '1.0E-9' master_item: key: nomad.server.metrics.get tags: - tag: component value: workers tags: - tag: class value: software - tag: target value: nomad-server macros: - macro: '{$NOMAD.API.RESPONSE.SUCCESS}' value: '200' description: 'HTTP API successful response code. Availability triggers threshold. Change, if needed.' - macro: '{$NOMAD.DATA.TIMEOUT}' value: 15s description: 'Response timeout for an API.' - macro: '{$NOMAD.HTTP.PROXY}' description: 'Sets the HTTP proxy for HTTP agent item. If this parameter is empty, then no proxy is used.' - macro: '{$NOMAD.OPEN.FDS.MAX}' value: '90' description: 'Maximum percentage of used file descriptors.' - macro: '{$NOMAD.REDUNDANCY.MIN}' value: '1' description: | Amount of redundant servers to keep the cluster safe. Default value - '1' for the 3-nodes cluster. Change if needed. - macro: '{$NOMAD.SERVER.API.PORT}' value: '4646' description: 'Nomad SERVER API port.' - macro: '{$NOMAD.SERVER.API.SCHEME}' value: http description: 'Nomad SERVER API scheme.' - macro: '{$NOMAD.SERVER.LEADER.LATENCY}' value: 0.3s description: 'Leader last contact latency threshold.' - macro: '{$NOMAD.SERVER.RPC.PORT}' value: '4647' description: 'Nomad RPC service port.' - macro: '{$NOMAD.SERVER.SERF.PORT}' value: '4648' description: 'Nomad serf service port.' - macro: '{$NOMAD.TOKEN}' value: '<PUT YOUR AUTH TOKEN>' description: 'Nomad authentication token.' dashboards: - uuid: c721ccf33a6f412e994e0ef8c9dc81b5 name: BoltDB pages: - name: BoltDB widgets: - type: item width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.cursor_count - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: graph 'y': '5' width: '72' height: '5' fields: - type: GRAPH name: graphid.0 value: host: 'HashiCorp Nomad Server by HTTP' name: 'HashiCorp Nomad Server: Raft timers' - type: STRING name: reference value: AAAAB - type: graph 'y': '10' width: '72' height: '5' fields: - type: GRAPH name: graphid.0 value: host: 'HashiCorp Nomad Server by HTTP' name: 'HashiCorp Nomad Server: BoltDB operations' - type: STRING name: reference value: AAAAC - type: graph 'y': '15' width: '72' height: '5' fields: - type: GRAPH name: graphid.0 value: host: 'HashiCorp Nomad Server by HTTP' name: 'HashiCorp Nomad Server: BoltDB pages' - type: STRING name: reference value: AAAAD - type: item x: '24' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.node_count - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '48' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.node_deref - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - uuid: 5b6b8811398f48ebb4abb73620320211 name: Cluster pages: - name: Cluster widgets: - type: item width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.cluster_role - type: INTEGER name: show.0 value: '2' - type: INTEGER name: value_size value: '30' - type: graph 'y': '5' width: '72' height: '5' fields: - type: GRAPH name: graphid.0 value: host: 'HashiCorp Nomad Server by HTTP' name: 'HashiCorp Nomad Server: Raft timers' - type: STRING name: reference value: AAAAA - type: item 'y': '10' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.leader.dispatch_num_logs - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '18' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.autopilot.state - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: INTEGER name: value_size value: '30' - type: item x: '24' 'y': '10' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.apply - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '36' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.autopilot.failure_tolerance - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '48' 'y': '10' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.applied_index - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '54' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.fsm.autopilot - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - uuid: c7f515dd33ee4045b96ffc6d83cec12a name: Jobs pages: - name: Jobs widgets: - type: item width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_status.running - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item 'y': '5' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_summary.running - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item 'y': '10' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_summary.queued - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item 'y': '15' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.broker.total_ready - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item 'y': '20' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.blocked_evals.total_blocked - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '18' 'y': '10' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_summary.lost - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '18' 'y': '20' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.blocked_evals.total_quota_limit - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '24' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_status.pending - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '24' 'y': '5' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_summary.starting - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '24' 'y': '15' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.broker.total_pending - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '36' 'y': '10' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_summary.failed - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '36' 'y': '20' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.blocked_evals.total_escaped - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '48' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_status.dead - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '48' 'y': '5' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_summary.complete - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '48' 'y': '15' width: '24' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.broker.total_waiting - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '54' 'y': '10' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.job_summary.unknown - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' - type: item x: '54' 'y': '20' width: '18' height: '5' fields: - type: INTEGER name: decimal_places value: '0' - type: ITEM name: itemid.0 value: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.broker.total_unacked - type: INTEGER name: show.0 value: '2' - type: INTEGER name: show.1 value: '4' valuemaps: - uuid: 9898b464447240919cf8e25016be687f name: 'Autopilot state' mappings: - value: '0' newvalue: Unhealthy - value: '1' newvalue: Healthy - uuid: fe32599dc75c48f6ab0887652ceb728c name: 'Cluster role' mappings: - value: '0' newvalue: Leader - value: '1' newvalue: Follower - value: '2' newvalue: Candidate - uuid: b90612059a164f3fa0c7ab871afa0c59 name: 'Service state' mappings: - value: '0' newvalue: Down - value: '1' newvalue: Up triggers: - uuid: d41ae1c102d84eab9629565bcc9b51df expression: '(min(/HashiCorp Nomad Client by HTTP/nomad.client.memory.available, 10m) / last(/HashiCorp Nomad Client by HTTP/nomad.client.memory.total))*100 <= {$NOMAD.RAM.AVAIL.MIN}' name: 'HashiCorp Nomad Client: High memory utilization' event_name: 'HashiCorp Nomad Client: High memory utilization: (available < {$NOMAD.RAM.AVAIL.MIN}% over last 10m)' opdata: 'RAM available: {ITEM.LASTVALUE1}, RAM total: {ITEM.LASTVALUE2}' priority: AVERAGE description: 'RAM utilization is too high. The system might be slow to respond.' tags: - tag: scope value: performance - uuid: 9b6d779864144e4e9e5e9924658d763e expression: 'min(/HashiCorp Nomad Server by HTTP/nomad.server.process_open_fds,5m)/last(/HashiCorp Nomad Server by HTTP/nomad.server.process_max_fds)*100>{$NOMAD.OPEN.FDS.MAX}' name: 'HashiCorp Nomad Server: Current number of open files is too high' event_name: 'HashiCorp Nomad Server: Current number of open files is too high (over {$NOMAD.OPEN.FDS.MAX}% for 5m)' priority: WARNING description: 'Heavy file descriptor usage (i.e., near the process file descriptor limit) indicates a potential file descriptor exhaustion issue.' tags: - tag: scope value: capacity graphs: - uuid: a221474b1f494f8e85edfefd3a86b2ad name: 'HashiCorp Nomad Client: CPU utilization' type: STACKED graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.cpu.idle - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.cpu.system - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.cpu.total - sortorder: '3' color: F7941D item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.cpu.user - uuid: b36e33cf629444d096a222d4b806f10d name: 'HashiCorp Nomad Client: Memory allocation' type: STACKED graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.allocated.memory - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.unallocated.memory - uuid: a5658f2456f745ca9de427ce3bc4fc98 name: 'HashiCorp Nomad Client: Memory utilization' type: STACKED graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.memory.available - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.memory.free - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.memory.total - sortorder: '3' color: F7941D item: host: 'HashiCorp Nomad Client by HTTP' key: nomad.client.memory.used - uuid: 5028c6df64d3442f8fda2bb1fbc5f6e9 name: 'HashiCorp Nomad Server: BoltDB operations' graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.rebalance - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.spill - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.split - sortorder: '3' color: F7941D item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.write - uuid: 71832cf8ab4c4607985719e19646fcc7 name: 'HashiCorp Nomad Server: BoltDB pages' graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.num_free_pages - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.page_count - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.num_pending_pages - sortorder: '3' color: F7941D item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.page_alloc - uuid: cc4f2fccc25840f0ba2049554c360080 name: 'HashiCorp Nomad Server: BoltDB timers' graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.rebalance_time - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.spill_time - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.boltdb.txstats.write_time - uuid: fb8cbf7d131445f6ade454b7b7e2e748 name: 'HashiCorp Nomad Server: Raft timers' graph_items: - color: 199C0D item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.leader.dispatch_log - sortorder: '1' color: F63100 item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.commit_time - sortorder: '2' color: 00611C item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.replication.appendEntries - sortorder: '3' color: F7941D item: host: 'HashiCorp Nomad Server by HTTP' key: nomad.server.raft.fsm.apply