You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
444 lines
17 KiB
444 lines
17 KiB
1 year ago
|
zabbix_export:
|
||
|
version: '7.0'
|
||
|
template_groups:
|
||
|
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
|
||
|
name: Templates/Applications
|
||
|
templates:
|
||
|
- uuid: 13d5bb0a4ae84228bff408aab5be338e
|
||
|
template: 'Nginx by HTTP'
|
||
|
name: 'Nginx by HTTP'
|
||
|
description: |
|
||
|
Get metrics from stub status module using HTTP agent
|
||
|
https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html.
|
||
|
|
||
|
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384765-discussion-thread-for-official-zabbix-template-nginx
|
||
|
|
||
|
Generated by official Zabbix template tool "Templator" 2.0.0
|
||
|
vendor:
|
||
|
name: Zabbix
|
||
|
version: 7.0-0
|
||
|
groups:
|
||
|
- name: Templates/Applications
|
||
|
items:
|
||
|
- uuid: 18c6209295b347e2a96ef11b147139d8
|
||
|
name: 'Nginx: Service response time'
|
||
|
type: SIMPLE
|
||
|
key: 'net.tcp.service.perf[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"]'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
units: s
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: application
|
||
|
- tag: component
|
||
|
value: health
|
||
|
triggers:
|
||
|
- uuid: fc1f7927b8864996986c1da44df57279
|
||
|
expression: 'min(/Nginx by HTTP/net.tcp.service.perf[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"],5m)>{$NGINX.RESPONSE_TIME.MAX.WARN}'
|
||
|
name: 'Nginx: Service response time is too high'
|
||
|
event_name: 'Nginx: Service response time is too high (over {$NGINX.RESPONSE_TIME.MAX.WARN}s for 5m)'
|
||
|
priority: WARNING
|
||
|
manual_close: 'YES'
|
||
|
dependencies:
|
||
|
- name: 'Nginx: Service is down'
|
||
|
expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"])=0'
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: performance
|
||
|
- uuid: e4a09193bc8f42f2888ece83f89f84af
|
||
|
name: 'Nginx: Service status'
|
||
|
type: SIMPLE
|
||
|
key: 'net.tcp.service[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"]'
|
||
|
history: 7d
|
||
|
valuemap:
|
||
|
name: 'Service state'
|
||
|
preprocessing:
|
||
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||
|
parameters:
|
||
|
- 10m
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: application
|
||
|
- tag: component
|
||
|
value: health
|
||
|
triggers:
|
||
|
- uuid: 7b3de87ba0ea425280d42235bb626b8b
|
||
|
expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"])=0'
|
||
|
name: 'Nginx: Service is down'
|
||
|
priority: AVERAGE
|
||
|
manual_close: 'YES'
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: availability
|
||
|
- uuid: e054b58ebbbe4b45961ba697b468ab9e
|
||
|
name: 'Nginx: Connections accepted per second'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.connections.accepted.rate
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
description: 'The total number of accepted client connections.'
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)'
|
||
|
- \1
|
||
|
- type: CHANGE_PER_SECOND
|
||
|
parameters:
|
||
|
- ''
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: connections
|
||
|
- uuid: 2e4b049ab60947d9a05165f67388e531
|
||
|
name: 'Nginx: Connections active'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.connections.active
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
description: 'The current number of active client connections including waiting connections.'
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'Active connections: ([0-9]+)'
|
||
|
- \1
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: connections
|
||
|
- uuid: eecc0e887a744627be7f3b01cec6d46e
|
||
|
name: 'Nginx: Connections dropped per second'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.connections.dropped.rate
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
description: 'The total number of dropped client connections.'
|
||
|
preprocessing:
|
||
|
- type: JAVASCRIPT
|
||
|
parameters:
|
||
|
- |
|
||
|
var a = value.match(/server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)/)
|
||
|
if (a) {
|
||
|
return a[1]-a[2]
|
||
|
}
|
||
|
- type: CHANGE_PER_SECOND
|
||
|
parameters:
|
||
|
- ''
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: connections
|
||
|
triggers:
|
||
|
- uuid: 79767fbc18594069a1fc0cbec832f8ff
|
||
|
expression: 'min(/Nginx by HTTP/nginx.connections.dropped.rate,5m) > {$NGINX.DROP_RATE.MAX.WARN}'
|
||
|
name: 'Nginx: High connections drop rate'
|
||
|
event_name: 'Nginx: High connections drop rate (more than {$NGINX.DROP_RATE.MAX.WARN} for 5m)'
|
||
|
opdata: 'Current rate: {ITEM.LASTVALUE1}'
|
||
|
priority: WARNING
|
||
|
description: 'The rate of dropping connections has been greater than {$NGINX.DROP_RATE.MAX.WARN} for the last 5 minutes.'
|
||
|
dependencies:
|
||
|
- name: 'Nginx: Service is down'
|
||
|
expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"])=0'
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: performance
|
||
|
- uuid: a53cf4f2d2ad4a84a70ff57df6299adc
|
||
|
name: 'Nginx: Connections handled per second'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.connections.handled.rate
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
description: 'The total number of handled connections. Generally, the parameter value is the same as for the accepted connections, unless some resource limits have been reached (for example, the `worker_connections limit`).'
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)'
|
||
|
- \2
|
||
|
- type: CHANGE_PER_SECOND
|
||
|
parameters:
|
||
|
- ''
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: connections
|
||
|
- uuid: 73493cbf8508419a8fed3abff8cc5851
|
||
|
name: 'Nginx: Connections reading'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.connections.reading
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
description: 'The current number of connections where Nginx is reading the request header.'
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)'
|
||
|
- \1
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: connections
|
||
|
- uuid: cf393814511a48b498da8aab94d7ca00
|
||
|
name: 'Nginx: Connections waiting'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.connections.waiting
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
description: 'The current number of idle client connections waiting for a request.'
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)'
|
||
|
- \3
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: connections
|
||
|
- uuid: b0d63efb16984042945fe42e192f7d4e
|
||
|
name: 'Nginx: Connections writing'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.connections.writing
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
description: 'The current number of connections where Nginx is writing a response back to the client.'
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)'
|
||
|
- \2
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: connections
|
||
|
- uuid: 86f93d1941d147fe94d754eddd3e8ff2
|
||
|
name: 'Nginx: Get stub status page'
|
||
|
type: HTTP_AGENT
|
||
|
key: nginx.get_stub_status
|
||
|
history: 1h
|
||
|
trends: '0'
|
||
|
value_type: TEXT
|
||
|
description: |
|
||
|
The following status information is provided:
|
||
|
`Active connections` - the current number of active client connections including waiting connections.
|
||
|
`Accepted` - the total number of accepted client connections.
|
||
|
`Handled` - the total number of handled connections. Generally, the parameter value is the same as for the accepted connections, unless some resource limits have been reached (for example, the `worker_connections` limit).
|
||
|
`Requests` - the total number of client requests.
|
||
|
`Reading` - the current number of connections where Nginx is reading the request header.
|
||
|
`Writing` - the current number of connections where Nginx is writing a response back to the client.
|
||
|
`Waiting` - the current number of idle client connections waiting for a request.
|
||
|
|
||
|
See also [Module ngx_http_stub_status_module](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html).
|
||
|
url: '{$NGINX.STUB_STATUS.SCHEME}://{HOST.CONN}:{$NGINX.STUB_STATUS.PORT}/{$NGINX.STUB_STATUS.PATH}'
|
||
|
retrieve_mode: BOTH
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: application
|
||
|
- tag: component
|
||
|
value: health
|
||
|
triggers:
|
||
|
- uuid: 78e0a6322a1941469a0e108a9367c420
|
||
|
expression: |
|
||
|
find(/Nginx by HTTP/nginx.get_stub_status,,"like","HTTP/1.1 200")=0 or
|
||
|
nodata(/Nginx by HTTP/nginx.get_stub_status,30m)=1
|
||
|
name: 'Nginx: Failed to fetch stub status page'
|
||
|
event_name: 'Nginx: Failed to fetch stub status page (or no data for 30m)'
|
||
|
priority: WARNING
|
||
|
description: 'Zabbix has not received any data for items for the last 30 minutes.'
|
||
|
manual_close: 'YES'
|
||
|
dependencies:
|
||
|
- name: 'Nginx: Service is down'
|
||
|
expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"])=0'
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: availability
|
||
|
- uuid: 071b3d77324740a59045be19da231d76
|
||
|
name: 'Nginx: Requests total'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.requests.total
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
description: 'The total number of client requests.'
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)'
|
||
|
- \3
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: requests
|
||
|
- uuid: 81b17056ec664f9f926a74ee390ab9c1
|
||
|
name: 'Nginx: Requests per second'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.requests.total.rate
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
value_type: FLOAT
|
||
|
description: 'The total number of client requests.'
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)'
|
||
|
- \3
|
||
|
- type: CHANGE_PER_SECOND
|
||
|
parameters:
|
||
|
- ''
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: requests
|
||
|
- uuid: 716b627d6d894ac2af3ae8c4aeaa8c0c
|
||
|
name: 'Nginx: Version'
|
||
|
type: DEPENDENT
|
||
|
key: nginx.version
|
||
|
delay: '0'
|
||
|
history: 7d
|
||
|
trends: '0'
|
||
|
value_type: CHAR
|
||
|
preprocessing:
|
||
|
- type: REGEX
|
||
|
parameters:
|
||
|
- 'Server: nginx\/(.+(?<!\r))'
|
||
|
- \1
|
||
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||
|
parameters:
|
||
|
- 1d
|
||
|
master_item:
|
||
|
key: nginx.get_stub_status
|
||
|
tags:
|
||
|
- tag: component
|
||
|
value: application
|
||
|
triggers:
|
||
|
- uuid: 0f2689d4967a446e98a107b933179817
|
||
|
expression: 'last(/Nginx by HTTP/nginx.version,#1)<>last(/Nginx by HTTP/nginx.version,#2) and length(last(/Nginx by HTTP/nginx.version))>0'
|
||
|
name: 'Nginx: Version has changed'
|
||
|
event_name: 'Nginx: Version has changed (new version: {ITEM.VALUE})'
|
||
|
priority: INFO
|
||
|
description: 'The Nginx version has changed. Acknowledge to close the problem manually.'
|
||
|
manual_close: 'YES'
|
||
|
tags:
|
||
|
- tag: scope
|
||
|
value: notice
|
||
|
tags:
|
||
|
- tag: class
|
||
|
value: software
|
||
|
- tag: target
|
||
|
value: nginx
|
||
|
macros:
|
||
|
- macro: '{$NGINX.DROP_RATE.MAX.WARN}'
|
||
|
value: '1'
|
||
|
description: 'The critical rate of the dropped connections for a trigger expression.'
|
||
|
- macro: '{$NGINX.RESPONSE_TIME.MAX.WARN}'
|
||
|
value: '10'
|
||
|
description: 'The maximum response time of Nginx expressed in seconds for a trigger expression.'
|
||
|
- macro: '{$NGINX.STUB_STATUS.PATH}'
|
||
|
value: basic_status
|
||
|
description: 'The path of the `Nginx stub_status` page.'
|
||
|
- macro: '{$NGINX.STUB_STATUS.PORT}'
|
||
|
value: '80'
|
||
|
description: 'The port of the `Nginx stub_status` host or container.'
|
||
|
- macro: '{$NGINX.STUB_STATUS.SCHEME}'
|
||
|
value: http
|
||
|
description: 'The protocol http or https of Nginx stub_status host or container.'
|
||
|
dashboards:
|
||
|
- uuid: 7d0bf76f09204bb7ba9ee995bf161d46
|
||
|
name: 'Nginx performance'
|
||
|
pages:
|
||
|
- widgets:
|
||
|
- type: graph
|
||
|
width: '12'
|
||
|
height: '5'
|
||
|
fields:
|
||
|
- type: GRAPH
|
||
|
name: graphid
|
||
|
value:
|
||
|
host: 'Nginx by HTTP'
|
||
|
name: 'Nginx: Connections by state'
|
||
|
- type: graph
|
||
|
x: '12'
|
||
|
width: '12'
|
||
|
height: '5'
|
||
|
fields:
|
||
|
- type: GRAPH
|
||
|
name: graphid
|
||
|
value:
|
||
|
host: 'Nginx by HTTP'
|
||
|
name: 'Nginx: Requests per second'
|
||
|
- type: graph
|
||
|
'y': '5'
|
||
|
width: '12'
|
||
|
height: '5'
|
||
|
fields:
|
||
|
- type: GRAPH
|
||
|
name: graphid
|
||
|
value:
|
||
|
host: 'Nginx by HTTP'
|
||
|
name: 'Nginx: Connections per second'
|
||
|
valuemaps:
|
||
|
- uuid: 5c0883d194e8494498474106c22be2ca
|
||
|
name: 'Service state'
|
||
|
mappings:
|
||
|
- value: '0'
|
||
|
newvalue: Down
|
||
|
- value: '1'
|
||
|
newvalue: Up
|
||
|
graphs:
|
||
|
- uuid: aedcbacee74f4b0c861546c56e0fa9ab
|
||
|
name: 'Nginx: Connections by state'
|
||
|
graph_items:
|
||
|
- drawtype: BOLD_LINE
|
||
|
color: 199C0D
|
||
|
item:
|
||
|
host: 'Nginx by HTTP'
|
||
|
key: nginx.connections.active
|
||
|
- sortorder: '1'
|
||
|
color: F63100
|
||
|
item:
|
||
|
host: 'Nginx by HTTP'
|
||
|
key: nginx.connections.waiting
|
||
|
- sortorder: '2'
|
||
|
color: 00611C
|
||
|
item:
|
||
|
host: 'Nginx by HTTP'
|
||
|
key: nginx.connections.writing
|
||
|
- sortorder: '3'
|
||
|
color: F7941D
|
||
|
item:
|
||
|
host: 'Nginx by HTTP'
|
||
|
key: nginx.connections.reading
|
||
|
- uuid: 6feb26e5eb3246c0adb8d151b1443859
|
||
|
name: 'Nginx: Connections per second'
|
||
|
graph_items:
|
||
|
- color: 199C0D
|
||
|
item:
|
||
|
host: 'Nginx by HTTP'
|
||
|
key: nginx.connections.accepted.rate
|
||
|
- sortorder: '1'
|
||
|
color: F63100
|
||
|
item:
|
||
|
host: 'Nginx by HTTP'
|
||
|
key: nginx.connections.handled.rate
|
||
|
- sortorder: '2'
|
||
|
color: 00611C
|
||
|
item:
|
||
|
host: 'Nginx by HTTP'
|
||
|
key: nginx.connections.dropped.rate
|
||
|
- uuid: 43a87936b35d4d28a658f810c2162a72
|
||
|
name: 'Nginx: Requests per second'
|
||
|
graph_items:
|
||
|
- drawtype: GRADIENT_LINE
|
||
|
color: 199C0D
|
||
|
item:
|
||
|
host: 'Nginx by HTTP'
|
||
|
key: nginx.requests.total.rate
|