zabbix_export: version: '6.0' date: '2021-11-21T21:25:55Z' groups: - uuid: 737a3413107b407aa81d6ba319dac558 name: Templates_Custom templates: - uuid: bf289e481ad64e08863dc6c9337aba6c template: 'App PHP-FPM' name: 'App PHP-FPM' description: | ## Overview English description - Скрипт для получения статистики из PHP-FPM, который можно использовать в Zabbix. Реализация на Go вот этого скрипта - go version go1.7.4 darwin/amd64 Настройка PHP-FPM ----------------- В конфиге PHP-FPM пула нужно включить статус и пинг: ``` pm.status\_path = /status ``` ``` ping.path = /ping ``` И сделать restart сервера. Настройка Zabbix ---------------- Нужно скомпилировать бинарник под ту платформу, на которой запущен Zabbix сервер, для этого нужно использовать команду: ``` env GOOS={OS} GOARCH={ARCH} go build -v github.com/username/fcgi\_stat\_getter ``` {OS} - тип операционной системы, может быть: * Mac os - darwin * Windows - windows * Linux - linux * FreeBSD - freebsd {ARCH} - архитектура, может быть: * x86\_64 - amd64 * x86 - 386 * ARM - arm (linux only) Example: ``` $ env GOOS=linux GOARCH=amd64 go build -v github.com/tonymadbrain/fcgi\_stat\_getter ``` Закинуть бинарник на сервер Zabbix в каталог /usr/lib/zabbix/externalscripts, сделать его исполняемым: ``` chmod +x fcgi\_stat\_getter ``` сделать владельцем файла Zabbix: ``` chown zabbix:zabbix fcgi\_stat\_getter ``` Затем нужно импортировать шаблон *zbx\_fcgi\_template.xml* в Zabbix фронтенде и прикрепить его к нужному серверу. Ждать данных. ## Author Antony Ryabov groups: - name: Templates_Custom items: - uuid: f9f58754d35147ccb3f82eba60ad091c name: 'Php-fpm - latency' type: EXTERNAL key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","latency"]' delay: '60' value_type: FLOAT units: ms tags: - tag: Application value: PHP-FPM triggers: - uuid: 24eb95aa10304d97a016b6c517e87719 expression: 'min(/App PHP-FPM/fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","latency"],#10)>100' name: 'PHP-FPM - is slow to respond on {HOST.NAME}' priority: WARNING - uuid: 9e1057b344ae40d29627cc5b5c1fd70b name: Php-fpm type: EXTERNAL key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","ping"]' delay: '60' trends: '0' value_type: CHAR tags: - tag: Application value: PHP-FPM triggers: - uuid: aa4a4aaded254e62875418cc2c51f5a5 expression: 'count(/App PHP-FPM/fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","ping"],#5,"ne","pong")>3' name: 'PHP-FPM on {HOST.NAME}' priority: DISASTER - uuid: 3578522391024c428c2bc41bf7617a12 name: 'Php-fpm - connections per sec' type: EXTERNAL key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","accepted conn"]' delay: '60' value_type: FLOAT preprocessing: - type: CHANGE_PER_SECOND parameters: - '' tags: - tag: Application value: PHP-FPM - uuid: db4f17e14e114d3d823c71cb919bdeca name: 'Php-fpm - active processes count' type: EXTERNAL key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","active processes"]' delay: '60' tags: - tag: Application value: PHP-FPM - uuid: e9e3b48100b64b8e8d5c6df234db8728 name: 'Php-fpm - idle processes count' type: EXTERNAL key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","idle processes"]' delay: '60' tags: - tag: Application value: PHP-FPM triggers: - uuid: e38baef5b46647af8b34f61919e3f30a expression: 'avg(/App PHP-FPM/fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","idle processes"],600s)<3' name: 'PHP-FPM - child process count is small on {HOST.NAME}' priority: INFO description: 'Please, increase pm.max_children (if static) or pm.min_spare_servers and pm.max_spare_servers (if dynamic) in /etc/php-fpm.d/www.conf' - uuid: daf61c3b98cb4e04a86d2389714d8fa1 name: 'Php-fpm - length of listen queue' type: EXTERNAL key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","listen queue len"]' delay: '60' tags: - tag: Application value: PHP-FPM - uuid: e9905a4e0c954d79a97b69867b2d1848 name: 'Php-fpm - max children reached' type: EXTERNAL key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","max children reached"]' delay: '60' tags: - tag: Application value: PHP-FPM macros: - macro: '{$AJAX_PORT}' value: '3001' - macro: '{$API_PORT}' value: '3002' - macro: '{$FERM_PORT}' value: '3004' - macro: '{$IMHO_PORT}' value: '3000' dashboards: - uuid: 50a203c16d994a82b48fc9db613a325c name: PHP-FPM pages: - widgets: - type: GRAPH_CLASSIC width: '12' height: '6' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: name: 'PHP-FPM - latency' host: 'App PHP-FPM' - type: GRAPH_CLASSIC x: '12' width: '12' height: '6' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: name: 'PHP-FPM - workload' host: 'App PHP-FPM' - type: GRAPH_CLASSIC 'y': '6' width: '12' height: '6' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: name: 'PHP-FPM - listen queue' host: 'App PHP-FPM' - type: GRAPH_CLASSIC x: '12' 'y': '6' width: '12' height: '6' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: name: 'PHP-FPM - processes' host: 'App PHP-FPM' graphs: - uuid: 4a6b75484dd14656be4c5c5c4000acef name: 'PHP-FPM - latency' ymin_type_1: FIXED graph_items: - drawtype: GRADIENT_LINE color: '009900' item: host: 'App PHP-FPM' key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","latency"]' - uuid: b82245f610884bdd8ec7f8cbd366e41b name: 'PHP-FPM - listen queue' show_work_period: 'NO' show_triggers: 'NO' ymin_type_1: FIXED graph_items: - color: C80000 item: host: 'App PHP-FPM' key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","listen queue len"]' - sortorder: '1' color: 00C800 item: host: 'App PHP-FPM' key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","max children reached"]' - uuid: 23c01a7f2e7847d6a6ec2c2d43852529 name: 'PHP-FPM - processes' show_work_period: 'NO' show_triggers: 'NO' type: STACKED ymin_type_1: FIXED graph_items: - color: C80000 item: host: 'App PHP-FPM' key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","active processes"]' - sortorder: '1' color: 00EEEE item: host: 'App PHP-FPM' key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","idle processes"]' - uuid: f91246776a8749a697bec6e4437c5209 name: 'PHP-FPM - workload' show_work_period: 'NO' show_triggers: 'NO' ymin_type_1: FIXED graph_items: - drawtype: BOLD_LINE color: C80000 item: host: 'App PHP-FPM' key: 'fcgi_stat_getter["-h","{HOST.CONN}","-p","3000","-c","stat","-k","accepted conn"]'