Script for getting statistics from PHP-FPM server for Zabbix external check.
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
README.md
main.go
zbx_fcgi_template.xml

README.md

FCGI stat getter for Zabbix monitoring

ENG

Script for getting statistics from PHP-FPM server for Zabbix external check. Implementation of this script - http://doam.ru/fcgi_monitoring_with_zabbix/ on Golang.

Setting up

PHP-FPM

In PHP-FPM Pool config enable status and ping:

pm.status_path = /status
ping.path = /ping

And restart server.

Zabbix

We need to compile binary for that platform where zabbix is running. Use this command:

env GOOS={OS} GOARCH={ARCH} go build -v github.com/tonymadbrain/fcgi_stat_getter

Where:

{OS} - OS type:

  • Mac os - darwin
  • Windows - windows
  • Linux - linux
  • FreeBSD - freebsd

{ARCH} - arhitecture:

  • x86_64 - amd64
  • x86 - 386
  • ARM - arm (linux only)

Example for Linux x86_64:

$ env GOOS=linux GOARCH=amd64 go build -v github.com/tonymadbrain/fcgi_stat_getter

Then, copy the binary to Zabbix server into /usr/lib/zabbix/externalscripts folder, make him executable with chmod +x fcgi_stat_getter, set zabbix owner with chown zabbix:zabbix fcgi_stat_getter. Next, import template zbx_fcgi_template.xml in Zabbix frontend and attach him to server(s).

Done! Wait for data.

RUS

Скрипт для получения статистики из PHP-FPM, который можно использовать в Zabbix. Реализация на Go вот этого скрипта - http://doam.ru/fcgi_monitoring_with_zabbix/.

Настройка

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 фронтенде и прикрепить его к нужному серверу.

Ждать данных.