diff --git a/Overrides/Nginx_by_HTTP/6.4/DIFF.md b/Overrides/Nginx_by_HTTP/6.4/DIFF.md deleted file mode 100644 index 5775f094..00000000 --- a/Overrides/Nginx_by_HTTP/6.4/DIFF.md +++ /dev/null @@ -1,106 +0,0 @@ -# Compare Rabe Override with Upstream Template - -Original: [Nginx by HTTP](https://raw.githubusercontent.com/zabbix/zabbix/release/6.4/templates/app/nginx_http/template_app_nginx_http.yaml) - -## Diff - -```diff ---- before -+++ after -@@ -14,6 +14,13 @@ - 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" -+ -+ ## Changes -+ -+ These changes are part of [RaBe's Zabbix template and helpers -+ collection](https://github.com/radiorabe/rabe-zabbix). -+ -+ * Added `{$NGINX.STUB_STATUS.HOST}` instead of `{HOST.NAME}` for agentless use - vendor: - name: Zabbix - version: 6.4-0 -@@ -23,7 +30,7 @@ - - uuid: 18c6209295b347e2a96ef11b147139d8 - name: 'Nginx: Service response time' - type: SIMPLE -- key: 'net.tcp.service.perf[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"]' -+ key: 'net.tcp.service.perf[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"]' - history: 7d - value_type: FLOAT - units: s -@@ -34,21 +41,21 @@ - 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}' -+ expression: 'min(/Nginx by HTTP/net.tcp.service.perf[http,"{$NGINX.STUB_STATUS.HOST}","{$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' -+ expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$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}"]' -+ key: 'net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"]' - history: 7d - valuemap: - name: 'Service state' -@@ -63,7 +70,7 @@ - value: health - triggers: - - uuid: 7b3de87ba0ea425280d42235bb626b8b -- expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{HOST.CONN}","{$NGINX.STUB_STATUS.PORT}"])=0' -+ expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"])=0' - name: 'Nginx: Service is down' - priority: AVERAGE - manual_close: 'YES' -@@ -142,7 +149,7 @@ - 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' -+ expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"])=0' - tags: - - tag: scope - value: performance -@@ -236,7 +243,7 @@ - `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}' -+ url: '{$NGINX.STUB_STATUS.SCHEME}://{$NGINX.STUB_STATUS.HOST}:{$NGINX.STUB_STATUS.PORT}/{$NGINX.STUB_STATUS.PATH}' - retrieve_mode: BOTH - tags: - - tag: component -@@ -255,7 +262,7 @@ - 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' -+ expression: 'last(/Nginx by HTTP/net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"])=0' - tags: - - tag: scope - value: availability -@@ -341,6 +348,9 @@ - - 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.HOST}' -+ value: 127.0.0.1 -+ description: 'Hostname or IP of Nginx HTTP server' - - macro: '{$NGINX.STUB_STATUS.PATH}' - value: basic_status - description: 'The path of the `Nginx stub_status` page.' - - -``` diff --git a/Overrides/Nginx_by_HTTP/6.4/Nginx_by_HTTP.yaml b/Overrides/Nginx_by_HTTP/6.4/Nginx_by_HTTP.yaml deleted file mode 100644 index 59a68526..00000000 --- a/Overrides/Nginx_by_HTTP/6.4/Nginx_by_HTTP.yaml +++ /dev/null @@ -1,453 +0,0 @@ -zabbix_export: - version: '6.4' - 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" - - ## Changes - - These changes are part of [RaBe's Zabbix template and helpers - collection](https://github.com/radiorabe/rabe-zabbix). - - * Added `{$NGINX.STUB_STATUS.HOST}` instead of `{HOST.NAME}` for agentless use - vendor: - name: Zabbix - version: 6.4-0 - groups: - - name: Templates/Applications - items: - - uuid: 18c6209295b347e2a96ef11b147139d8 - name: 'Nginx: Service response time' - type: SIMPLE - key: 'net.tcp.service.perf[http,"{$NGINX.STUB_STATUS.HOST}","{$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,"{$NGINX.STUB_STATUS.HOST}","{$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,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"])=0' - tags: - - tag: scope - value: performance - - uuid: e4a09193bc8f42f2888ece83f89f84af - name: 'Nginx: Service status' - type: SIMPLE - key: 'net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$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,"{$NGINX.STUB_STATUS.HOST}","{$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,"{$NGINX.STUB_STATUS.HOST}","{$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}://{$NGINX.STUB_STATUS.HOST}:{$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,,"iregexp","HTTP\/[\d.]+\s+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,"{$NGINX.STUB_STATUS.HOST}","{$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: - - '(?i)Server: nginx\/(.+(?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.HOST}' - value: 127.0.0.1 - description: 'Hostname or IP of Nginx HTTP server' - - 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 - 'y': '5' - width: '12' - height: '5' - fields: - - type: GRAPH - name: graphid - value: - host: 'Nginx by HTTP' - name: 'Nginx: Connections per second' - - type: graph - x: '12' - width: '12' - height: '5' - fields: - - type: GRAPH - name: graphid - value: - host: 'Nginx by HTTP' - name: 'Nginx: Requests 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 diff --git a/Overrides/Nginx_by_HTTP/6.4/README.md b/Overrides/Nginx_by_HTTP/6.4/README.md deleted file mode 100644 index 8f767149..00000000 --- a/Overrides/Nginx_by_HTTP/6.4/README.md +++ /dev/null @@ -1,484 +0,0 @@ -# Zabbix Template: Nginx by HTTP - -![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: nginx](https://img.shields.io/badge/target-nginx-00c9bf) ![vendor: Zabbix](https://img.shields.io/badge/vendor-Zabbix-00c9bf) ![version: 6.4-0](https://img.shields.io/badge/version-6.4--0-00c9bf) - -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" - -## Changes - -These changes are part of [RaBe's Zabbix template and helpers -collection](https://github.com/radiorabe/rabe-zabbix). - -* Added `{$NGINX.STUB_STATUS.HOST}` instead of `{HOST.NAME}` for agentless use - -## Items - -### Item: Nginx: Service response time - -![component: application](https://img.shields.io/badge/component-application-00c9bf) ![component: health](https://img.shields.io/badge/component-health-00c9bf) - - - -```console -net.tcp.service.perf[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"] -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | SIMPLE | -| Value type | FLOAT in s | -| History | 7d | - -### Item: Nginx: Service status - -![component: application](https://img.shields.io/badge/component-application-00c9bf) ![component: health](https://img.shields.io/badge/component-health-00c9bf) - - - -```console -net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"] -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | SIMPLE | -| History | 7d | - -### Item: Nginx: Connections accepted per second - -![component: connections](https://img.shields.io/badge/component-connections-00c9bf) - -The total number of accepted client connections. - -```console -nginx.connections.accepted.rate -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| Value type | FLOAT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["server accepts handled requests\\s+([0-9]+) ([0-9]+) ([0-9]+)", "\\1"]` | -| CHANGE_PER_SECOND | `[""]` | - -### Item: Nginx: Connections active - -![component: connections](https://img.shields.io/badge/component-connections-00c9bf) - -The current number of active client connections including waiting connections. - -```console -nginx.connections.active -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["Active connections: ([0-9]+)", "\\1"]` | - -### Item: Nginx: Connections dropped per second - -![component: connections](https://img.shields.io/badge/component-connections-00c9bf) - -The total number of dropped client connections. - -```console -nginx.connections.dropped.rate -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| Value type | FLOAT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| JAVASCRIPT | `["var a = value.match(/server accepts handled requests\\s+([0-9]+) ([0-9]+) ([0-9]+)/)\nif (a) {\n\treturn a[1]-a[2]\n}\n"]` | -| CHANGE_PER_SECOND | `[""]` | - -### Item: Nginx: Connections handled per second - -![component: connections](https://img.shields.io/badge/component-connections-00c9bf) - -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`). - -```console -nginx.connections.handled.rate -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| Value type | FLOAT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["server accepts handled requests\\s+([0-9]+) ([0-9]+) ([0-9]+)", "\\2"]` | -| CHANGE_PER_SECOND | `[""]` | - -### Item: Nginx: Connections reading - -![component: connections](https://img.shields.io/badge/component-connections-00c9bf) - -The current number of connections where Nginx is reading the request header. - -```console -nginx.connections.reading -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)", "\\1"]` | - -### Item: Nginx: Connections waiting - -![component: connections](https://img.shields.io/badge/component-connections-00c9bf) - -The current number of idle client connections waiting for a request. - -```console -nginx.connections.waiting -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)", "\\3"]` | - -### Item: Nginx: Connections writing - -![component: connections](https://img.shields.io/badge/component-connections-00c9bf) - -The current number of connections where Nginx is writing a response back to the client. - -```console -nginx.connections.writing -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)", "\\2"]` | - -### Item: Nginx: Get stub status page - -![component: application](https://img.shields.io/badge/component-application-00c9bf) ![component: health](https://img.shields.io/badge/component-health-00c9bf) - -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). - -```console -nginx.get_stub_status -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | HTTP_AGENT | -| Value type | TEXT | -| History | 1h | - -### Item: Nginx: Requests total - -![component: requests](https://img.shields.io/badge/component-requests-00c9bf) - -The total number of client requests. - -```console -nginx.requests.total -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["server accepts handled requests\\s+([0-9]+) ([0-9]+) ([0-9]+)", "\\3"]` | - -### Item: Nginx: Requests per second - -![component: requests](https://img.shields.io/badge/component-requests-00c9bf) - -The total number of client requests. - -```console -nginx.requests.total.rate -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| Value type | FLOAT | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["server accepts handled requests\\s+([0-9]+) ([0-9]+) ([0-9]+)", "\\3"]` | -| CHANGE_PER_SECOND | `[""]` | - -### Item: Nginx: Version - -![component: application](https://img.shields.io/badge/component-application-00c9bf) - - - -```console -nginx.version -``` - -Settings: - -| Item Setting | Value | -| ------------ | ----- | -| Type | DEPENDENT | -| Value type | CHAR | -| History | 7d | -| Source item | `nginx.get_stub_status` | - -Preprocessing steps: - -| Type | Parameters | -| ---- | ---------- | -| REGEX | `["(?i)Server: nginx\\/(.+(?{$NGINX.RESPONSE_TIME.MAX.WARN} -``` - -### Trigger: Nginx: Service is down - -![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) - - -Settings: - -| Trigger Setting | Values | -| --------------- | ------ | -| Priority | AVERAGE | -| Manual close | YES | - -```console -last(/Nginx by HTTP/net.tcp.service[http,"{$NGINX.STUB_STATUS.HOST}","{$NGINX.STUB_STATUS.PORT}"])=0 -``` - -### Trigger: Nginx: High connections drop rate - -![scope: performance](https://img.shields.io/badge/scope-performance-00c9bf) - -The rate of dropping connections has been greater than {$NGINX.DROP_RATE.MAX.WARN} for the last 5 minutes. -Settings: - -| Trigger Setting | Values | -| --------------- | ------ | -| Priority | WARNING | - -```console -min(/Nginx by HTTP/nginx.connections.dropped.rate,5m) > {$NGINX.DROP_RATE.MAX.WARN} -``` - -### Trigger: Nginx: Failed to fetch stub status page - -![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) - -Zabbix has not received any data for items for the last 30 minutes. -Settings: - -| Trigger Setting | Values | -| --------------- | ------ | -| Priority | WARNING | -| Manual close | YES | - -```console -find(/Nginx by HTTP/nginx.get_stub_status,,"iregexp","HTTP\/[\d.]+\s+200")=0 or -nodata(/Nginx by HTTP/nginx.get_stub_status,30m)=1 - -``` - -### Trigger: Nginx: Version has changed - -![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) - -The Nginx version has changed. Acknowledge to close the problem manually. -Settings: - -| Trigger Setting | Values | -| --------------- | ------ | -| Priority | INFO | -| Manual close | YES | - -```console -last(/Nginx by HTTP/nginx.version,#1)<>last(/Nginx by HTTP/nginx.version,#2) and length(last(/Nginx by HTTP/nginx.version))>0 -``` - -## Macros - -The following Zabbix macros are configured via this template. - -### Macro: `{$NGINX.DROP_RATE.MAX.WARN}` - -The critical rate of the dropped connections for a trigger expression. - -Default: - -```console -1 -``` - -### Macro: `{$NGINX.RESPONSE_TIME.MAX.WARN}` - -The maximum response time of Nginx expressed in seconds for a trigger expression. - -Default: - -```console -10 -``` - -### Macro: `{$NGINX.STUB_STATUS.HOST}` - -Hostname or IP of Nginx HTTP server - -Default: - -```console -127.0.0.1 -``` - -### Macro: `{$NGINX.STUB_STATUS.PATH}` - -The path of the `Nginx stub_status` page. - -Default: - -```console -basic_status -``` - -### Macro: `{$NGINX.STUB_STATUS.PORT}` - -The port of the `Nginx stub_status` host or container. - -Default: - -```console -80 -``` - -### Macro: `{$NGINX.STUB_STATUS.SCHEME}` - -The protocol http or https of Nginx stub_status host or container. - -Default: - -```console -http -``` - -## Dashboards - -The following Zabbix dashboards are included in this template. - -* Nginx performance diff --git a/Overrides/Nginx_by_HTTP/6.4/docs/gen_ref_pages.py b/Overrides/Nginx_by_HTTP/6.4/docs/gen_ref_pages.py deleted file mode 100644 index bd02be1b..00000000 --- a/Overrides/Nginx_by_HTTP/6.4/docs/gen_ref_pages.py +++ /dev/null @@ -1,6 +0,0 @@ -from pathlib import Path - -import mkdocs_gen_files - -with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: - index.writelines(Path("README.md").open("r").read()) diff --git a/Overrides/Nginx_by_HTTP/6.4/mkdocs.yaml b/Overrides/Nginx_by_HTTP/6.4/mkdocs.yaml deleted file mode 100644 index b64b72e4..00000000 --- a/Overrides/Nginx_by_HTTP/6.4/mkdocs.yaml +++ /dev/null @@ -1,17 +0,0 @@ -site_name: "Zabbix Template: Nginx by HTTP" -repo_url: https://github.com/radiorabe/rabe-zabbix -repo_name: radiorabe/rabe-zabbix -markdown_extensions: - - pymdownx.highlight: - anchor_linenums: true - - pymdownx.inlinehilite - - pymdownx.snippets - - pymdownx.superfences -plugins: - - search - - gen-files: - scripts: - - docs/gen_ref_pages.py - - literate-nav -nav: - - README: index.md diff --git a/hack/plays/manage.yml b/hack/plays/manage.yml index c93557ad..4f3c0d49 100644 --- a/hack/plays/manage.yml +++ b/hack/plays/manage.yml @@ -36,9 +36,11 @@ upstream_templates: - template_name: "Apache by HTTP" upstream: "app/apache_http/template_app_apache_http.yaml" + __: # items below are "commented" :) - template_name: "Nginx by HTTP" upstream: "app/nginx_http/template_app_nginx_http.yaml" - __: # items below are "commented" :) + - template_name: "RabbitMQ cluster by HTTP" + upstream: "app/rabbitmq_http/template_app_rabbitmq_http.yaml" - template_name: "Website certificate by Zabbix agent 2" upstream: "app/certificate_agent2/template_app_certificate_agent2.yaml" - template_name: "Linux by Zabbix agent active"