zabbix_export: version: '7.0' template_groups: - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 name: Templates/Applications templates: - uuid: 1cbda0970410435684135884d0cb7090 template: 'PHP-FPM by Zabbix agent' name: 'PHP-FPM by Zabbix agent' description: | Get PHP-FPM metrics using Zabbix agent running on Linux. Note that depending on your OS distribution, the PHP-FPM process name may vary. Please, check the actual name in the line "Name" from /proc//status file (https://www.zabbix.com/documentation/7.0/manual/appendix/items/proc_mem_num_notes) and change {$PHP_FPM.PROCESS.NAME.PARAMETER} macro if needed. Generated by official Zabbix template tool "Templator" 2.0.0 vendor: name: Zabbix version: 7.0-0 groups: - name: Templates/Applications items: - uuid: 9ae9e2a8003a48a7a482ef6d6ae9886c name: 'PHP-FPM: Accepted connections per second' type: DEPENDENT key: php-fpm.conn_accepted.rate delay: '0' history: 7d value_type: FLOAT description: 'The number of accepted requests per second.' preprocessing: - type: JSONPATH parameters: - '$.[''accepted conn'']' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: connections - uuid: edc6b68194fe499facfb6b22425ff0d4 name: 'PHP-FPM: Listen queue' type: DEPENDENT key: php-fpm.listen_queue delay: '0' history: 7d description: 'The current number of connections that have been initiated but not yet accepted.' preprocessing: - type: JSONPATH parameters: - '$.[''listen queue'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: listen-queue - uuid: aff9f072b06a4b56afb0e0f44b2c83a4 name: 'PHP-FPM: Listen queue, len' type: DEPENDENT key: php-fpm.listen_queue_len delay: '0' history: 7d description: 'The size of the socket queue of pending connections.' preprocessing: - type: JSONPATH parameters: - '$.[''listen queue len'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: listen-queue - uuid: de0a543bee5a46c88085b2aba2f4976f name: 'PHP-FPM: Listen queue, max' type: DEPENDENT key: php-fpm.listen_queue_max delay: '0' history: 7d description: 'The maximum number of requests in the queue of pending connections since this FPM pool was started.' preprocessing: - type: JSONPATH parameters: - '$.[''max listen queue'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: listen-queue - uuid: dfabcd55c13449c29a48b70fdce77674 name: 'PHP-FPM: Queue usage' type: CALCULATED key: php-fpm.listen_queue_usage history: 7d value_type: FLOAT units: '%' params: 'last(//php-fpm.listen_queue)/(last(//php-fpm.listen_queue_len)+(last(//php-fpm.listen_queue_len)=0))*100' description: 'The utilization of the queue.' tags: - tag: component value: application triggers: - uuid: a11264f0e1174b7fb81b457dad1a745f expression: 'min(/PHP-FPM by Zabbix agent/php-fpm.listen_queue_usage,15m) > {$PHP_FPM.QUEUE.WARN.MAX}' name: 'PHP-FPM: Queue utilization is high' event_name: 'PHP-FPM: Queue utilization is high (over {$PHP_FPM.QUEUE.WARN.MAX}% for 15m)' priority: WARNING description: | The queue for this pool has reached `{$PHP_FPM.QUEUE.WARN.MAX}%` of its maximum capacity. Items in the queue represent the current number of connections that have been initiated on this pool but not yet accepted. tags: - tag: scope value: capacity - uuid: e9d49669cf58492a9d5ef7ff997e1a40 name: 'PHP-FPM: Max children reached' type: DEPENDENT key: php-fpm.max_children delay: '0' history: 7d description: 'The number of times that `pm.max_children` has been reached since the PHP-FPM pool was started.' preprocessing: - type: JSONPATH parameters: - '$.[''max children reached'']' - type: SIMPLE_CHANGE parameters: - '' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: application - uuid: 830e04be30f04e50ac0fa4783ecdc677 name: 'PHP-FPM: Pool name' type: DEPENDENT key: php-fpm.name delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The name of the current pool.' preprocessing: - type: JSONPATH parameters: - $.pool - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: application - uuid: 250f346008984a95829dba08d0f95838 name: 'PHP-FPM: Ping' type: DEPENDENT key: php-fpm.ping delay: '0' history: 7d valuemap: name: 'Service state' preprocessing: - type: REGEX parameters: - '{$PHP_FPM.PING.REPLY}($|\r?\n)' - '1' error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.PING.PAGE}","{$PHP_FPM.PORT}"]' tags: - tag: component value: health - uuid: 8ebee5fc8c854a96b34ed743e3dd0154 name: 'PHP-FPM: Processes, active' type: DEPENDENT key: php-fpm.processes_active delay: '0' history: 7d description: 'The total number of active processes.' preprocessing: - type: JSONPATH parameters: - '$.[''active processes'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: system - uuid: 11cfd028325242a58d61d9e83aee640b name: 'PHP-FPM: Processes, idle' type: DEPENDENT key: php-fpm.processes_idle delay: '0' history: 7d description: 'The total number of idle processes.' preprocessing: - type: JSONPATH parameters: - '$.[''idle processes'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: system - uuid: 3858218f90684bb19cbe27fc9aedf404 name: 'PHP-FPM: Processes, max active' type: DEPENDENT key: php-fpm.processes_max_active delay: '0' history: 7d description: 'The highest value of "active processes" since the PHP-FPM server was started.' preprocessing: - type: JSONPATH parameters: - '$.[''max active processes'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: application - uuid: a79af6cf38ec45518055c64aa7f1f5a2 name: 'PHP-FPM: Processes, total' type: DEPENDENT key: php-fpm.processes_total delay: '0' history: 7d description: 'The total number of server processes currently running.' preprocessing: - type: JSONPATH parameters: - '$.[''total processes'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: system - uuid: 5ab12fc9f4ef49e5bbf7b2c6a840879e name: 'PHP-FPM: Process manager' type: DEPENDENT key: php-fpm.process_manager delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The method used by the process manager to control the number of child processes for this pool.' preprocessing: - type: JSONPATH parameters: - '$.[''process manager'']' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: application triggers: - uuid: 231e0fbfb6e94f34b790576766244602 expression: 'last(/PHP-FPM by Zabbix agent/php-fpm.process_manager,#1)<>last(/PHP-FPM by Zabbix agent/php-fpm.process_manager,#2)' name: 'PHP-FPM: Manager changed' event_name: 'PHP-FPM: Manager changed (new value received: {ITEM.VALUE})' priority: INFO description: 'The PHP-FPM manager has changed. Acknowledge to close the problem manually.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: 4d17b6d89ac94d0880eac6962ebf7347 name: 'PHP-FPM: Slow requests' type: DEPENDENT key: php-fpm.slow_requests delay: '0' history: 7d description: 'The number of requests that has exceeded your `request_slowlog_timeout` value.' preprocessing: - type: JSONPATH parameters: - '$.[''slow requests'']' - type: SIMPLE_CHANGE parameters: - '' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: application triggers: - uuid: f30147d8e92f48aa8fedc2d28b8d7c70 expression: 'min(/PHP-FPM by Zabbix agent/php-fpm.slow_requests,#3)>0' name: 'PHP-FPM: Detected slow requests' priority: WARNING description: | The PHP-FPM has detected a slow request. The slow request means that it took more time to execute than expected (defined in the configuration of your pool). tags: - tag: scope value: performance - uuid: 4e4d6eda8fbb4dd2ba7f48fba5723473 name: 'PHP-FPM: Start time' type: DEPENDENT key: php-fpm.start_time delay: '0' history: 7d units: unixtime description: 'The time when this pool was started.' preprocessing: - type: JSONPATH parameters: - '$.[''start time'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: application - uuid: 2a19b306712a47999e70d3ec30e39b05 name: 'PHP-FPM: Uptime' type: DEPENDENT key: php-fpm.uptime delay: '0' history: 7d units: s description: 'It indicates how long has this pool been running.' preprocessing: - type: JSONPATH parameters: - '$.[''start since'']' master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' tags: - tag: component value: application triggers: - uuid: c6966a6c3ff0452ab4fd112c9299e624 expression: 'last(/PHP-FPM by Zabbix agent/php-fpm.uptime)<10m' name: 'PHP-FPM: Pool has been restarted' event_name: 'PHP-FPM: Pool has been restarted (uptime < 10m)' priority: INFO description: 'Uptime is less than 10 minutes.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: b53e2e356317468f9d6d3272eb755650 name: 'PHP-FPM: Version' type: DEPENDENT key: php-fpm.version delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The current version of the PHP. You can get it from the HTTP-Header "X-Powered-By"; it may not work if you have changed the default HTTP-headers.' preprocessing: - type: REGEX parameters: - '^[.\s\S]*X-Powered-By: PHP/([.\d]{1,})' - \1 error_handler: DISCARD_VALUE - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h master_item: key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.PING.PAGE}","{$PHP_FPM.PORT}"]' tags: - tag: component value: application triggers: - uuid: fb110a37f0fc4a62b51df72e33bc3448 expression: 'last(/PHP-FPM by Zabbix agent/php-fpm.version,#1)<>last(/PHP-FPM by Zabbix agent/php-fpm.version,#2) and length(last(/PHP-FPM by Zabbix agent/php-fpm.version))>0' name: 'PHP-FPM: Version has changed' event_name: 'PHP-FPM: Version has changed (new version: {ITEM.VALUE})' priority: INFO description: 'The PHP-FPM version has changed. Acknowledge to close the problem manually.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: 71ea0957d99a4d48b18e73a21494c849 name: 'PHP-FPM: Get processes summary' key: 'proc.get[{$PHP_FPM.PROCESS.NAME.PARAMETER},,,summary]' history: '0' trends: '0' value_type: TEXT description: 'The aggregated data of summary metrics for all processes.' tags: - tag: component value: raw - uuid: c0c438492c63453496e83938745ffffc name: 'PHP-FPM: php-fpm_ping' key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.PING.PAGE}","{$PHP_FPM.PORT}"]' history: '0' trends: '0' value_type: TEXT tags: - tag: component value: health - uuid: 09ec73291f21417ab8f19f56fda3331f name: 'PHP-FPM: Get status page' key: 'web.page.get["{$PHP_FPM.HOST}","{$PHP_FPM.STATUS.PAGE}?json","{$PHP_FPM.PORT}"]' history: '0' trends: '0' value_type: TEXT preprocessing: - type: REGEX parameters: - '^[.\s\S]*({.+})' - \1 tags: - tag: component value: raw discovery_rules: - uuid: a8abec999ac74339b077d226bdbcfcc9 name: 'PHP-FPM process discovery' type: DEPENDENT key: php-fpm.proc.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#PHP_FPM.NAME}' value: '{$PHP_FPM.PROCESS_NAME}' formulaid: A description: 'The discovery of the PHP-FPM summary processes.' item_prototypes: - uuid: 985005cdf7b44332a59a5f7da7528d88 name: 'PHP-FPM: Get process data' type: DEPENDENT key: 'php-fpm.proc.get[{#PHP_FPM.NAME}]' delay: '0' history: '0' trends: '0' value_type: TEXT description: 'The summary metrics aggregated by a process `{#PHP_FPM.NAME}`.' preprocessing: - type: JSONPATH parameters: - '$.[?(@["name"]=="{#PHP_FPM.NAME}")].first()' error_handler: CUSTOM_VALUE error_handler_params: 'Failed to retrieve process {#PHP_FPM.NAME} data' master_item: key: 'proc.get[{$PHP_FPM.PROCESS.NAME.PARAMETER},,,summary]' tags: - tag: component value: raw - uuid: ab8dc0d1ce344fe8ae6a22716a168fbd name: 'PHP-FPM: Number of running processes' type: DEPENDENT key: 'php-fpm.proc.num[{#PHP_FPM.NAME}]' delay: '0' history: 7d description: 'The number of running processes `{#PHP_FPM.NAME}`.' preprocessing: - type: JSONPATH parameters: - $.processes error_handler: CUSTOM_VALUE error_handler_params: '0' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'php-fpm.proc.get[{#PHP_FPM.NAME}]' tags: - tag: component value: system trigger_prototypes: - uuid: 21a03d0ada634602ae9089a2cf3b4d70 expression: 'last(/PHP-FPM by Zabbix agent/php-fpm.proc.num[{#PHP_FPM.NAME}])=0' name: 'PHP-FPM: Process is not running' priority: HIGH tags: - tag: scope value: availability - uuid: ef771994ec9e482babf872d9f867d500 name: 'PHP-FPM: Memory usage, %' type: DEPENDENT key: 'php-fpm.proc.pmem[{#PHP_FPM.NAME}]' delay: '0' history: 7d value_type: FLOAT units: '%' description: 'The percentage of real memory used by a process `{#PHP_FPM.NAME}`.' preprocessing: - type: JSONPATH parameters: - $.pmem error_handler: DISCARD_VALUE master_item: key: 'php-fpm.proc.get[{#PHP_FPM.NAME}]' tags: - tag: component value: memory - uuid: f55a5ef29f864d0a8c1af25df2372f7c name: 'PHP-FPM: Memory usage (rss)' type: DEPENDENT key: 'php-fpm.proc.rss[{#PHP_FPM.NAME}]' delay: '0' history: 7d units: B description: 'The summary of resident set size memory used by a process `{#PHP_FPM.NAME}` expressed in bytes.' preprocessing: - type: JSONPATH parameters: - $.rss error_handler: DISCARD_VALUE master_item: key: 'php-fpm.proc.get[{#PHP_FPM.NAME}]' tags: - tag: component value: memory - uuid: 4efc6da713264e629f987106b8252355 name: 'PHP-FPM: Memory usage (vsize)' type: DEPENDENT key: 'php-fpm.proc.vmem[{#PHP_FPM.NAME}]' delay: '0' history: 7d units: B description: 'The summary of virtual memory used by a process `{#PHP_FPM.NAME}` expressed in bytes.' preprocessing: - type: JSONPATH parameters: - $.vsize error_handler: DISCARD_VALUE master_item: key: 'php-fpm.proc.get[{#PHP_FPM.NAME}]' tags: - tag: component value: memory - uuid: a709eaae52ad4128a129c618db6525d2 name: 'PHP-FPM: CPU utilization' key: 'proc.cpu.util[{#PHP_FPM.NAME}]' history: 7d value_type: FLOAT units: '%' description: 'The percentage of the CPU utilization by a process `{#PHP_FPM.NAME}`.' tags: - tag: component value: cpu trigger_prototypes: - uuid: bdf9962aee2049a8aec000b037b94d60 expression: 'nodata(/PHP-FPM by Zabbix agent/php-fpm.uptime,30m)=1 and last(/PHP-FPM by Zabbix agent/php-fpm.proc.num[{#PHP_FPM.NAME}])>0' name: 'PHP-FPM: Failed to fetch info data' event_name: 'PHP-FPM: Failed to fetch info data (or no data for 30m)' priority: INFO description: 'Zabbix has not received any data for items for the last 30 minutes.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: 10d92102d7a24327ada7869a41119fee expression: '(last(/PHP-FPM by Zabbix agent/php-fpm.ping)=0 or nodata(/PHP-FPM by Zabbix agent/php-fpm.ping,3m)=1) and last(/PHP-FPM by Zabbix agent/php-fpm.proc.num[{#PHP_FPM.NAME}])>0' name: 'PHP-FPM: Service is down' priority: HIGH manual_close: 'YES' tags: - tag: scope value: availability graph_prototypes: - uuid: 628b350f5fb6439fb4965f4e053f66d5 name: 'PHP-FPM: Memory usage[{#PHP_FPM.NAME}]' graph_items: - drawtype: BOLD_LINE color: 199C0D item: host: 'PHP-FPM by Zabbix agent' key: 'php-fpm.proc.vmem[{#PHP_FPM.NAME}]' - sortorder: '1' drawtype: BOLD_LINE color: F63100 item: host: 'PHP-FPM by Zabbix agent' key: 'php-fpm.proc.rss[{#PHP_FPM.NAME}]' master_item: key: 'proc.get[{$PHP_FPM.PROCESS.NAME.PARAMETER},,,summary]' lld_macro_paths: - lld_macro: '{#PHP_FPM.NAME}' path: $.name tags: - tag: class value: application - tag: target value: php-fpm macros: - macro: '{$PHP_FPM.HOST}' value: localhost description: 'The hostname or IP address of the PHP-FPM status for a host or container.' - macro: '{$PHP_FPM.PING.PAGE}' value: ping description: 'The path of the PHP-FPM ping page.' - macro: '{$PHP_FPM.PING.REPLY}' value: pong description: 'The expected reply to the ping.' - macro: '{$PHP_FPM.PORT}' value: '80' description: 'The port of the PHP-FPM status host or container.' - macro: '{$PHP_FPM.PROCESS.NAME.PARAMETER}' description: 'The process name of the PHP-FPM used in the item key `proc.get`. It could be specified if the correct process name is known.' - macro: '{$PHP_FPM.PROCESS_NAME}' value: php-fpm description: 'The process name filter for the PHP-FPM process discovery. May vary depending on your OS distribution.' - macro: '{$PHP_FPM.QUEUE.WARN.MAX}' value: '80' description: 'The maximum percent of the PHP-FPM queue usage for a trigger expression.' - macro: '{$PHP_FPM.STATUS.PAGE}' value: status description: 'The path of the PHP-FPM status page.' dashboards: - uuid: aec4ea16594a47719de221154e43d547 name: 'PHP-FPM: Overview' pages: - name: Main widgets: - type: graph width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'PHP-FPM by Zabbix agent' name: 'PHP-FPM: Process' - type: graph x: '12' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'PHP-FPM by Zabbix agent' name: 'PHP-FPM: Queue' valuemaps: - uuid: 1caa1e7c41e14c7492ab8112f93ea068 name: 'Service state' mappings: - value: '0' newvalue: Down - value: '1' newvalue: Up graphs: - uuid: 36cd028132d94585877ad5726f0f9e3d name: 'PHP-FPM: Process' graph_items: - color: 199C0D item: host: 'PHP-FPM by Zabbix agent' key: php-fpm.processes_max_active - sortorder: '1' color: F63100 item: host: 'PHP-FPM by Zabbix agent' key: php-fpm.processes_idle - sortorder: '2' color: 00611C item: host: 'PHP-FPM by Zabbix agent' key: php-fpm.processes_total - sortorder: '3' color: F7941D item: host: 'PHP-FPM by Zabbix agent' key: php-fpm.processes_active - uuid: 768a3e8aaa4741239887b55be5842f4a name: 'PHP-FPM: Queue' graph_items: - color: 199C0D item: host: 'PHP-FPM by Zabbix agent' key: php-fpm.listen_queue_len - sortorder: '1' color: F63100 item: host: 'PHP-FPM by Zabbix agent' key: php-fpm.listen_queue - sortorder: '2' color: 00611C item: host: 'PHP-FPM by Zabbix agent' key: php-fpm.listen_queue_max