network and application monitoring - web frontend
Project homepage: http://www.zabbix.com/
Description
ZABBIX is an enterprise-class open source distributed monitoring
solution designed to monitor and track performance and availability of
network servers, devices and other IT resources. It supports distributed
and WEB monitoring, and more.
This package contains the PHP web frontend for ZABBIX.
Package information
- Ports path
- net/zabbix,sqlite3,-web
- Package architecture
- amd64
- Maintainer
- Robert Nagy <robert@openbsd.org>
- Categories
- net, lang/php
- Available flavors
- mysql, pgsql, sqlite3, no_server
- Only for architectures
- aarch64, amd64, arm, i386, mips64, mips64el, powerpc, powerpc64, riscv64, sparc64, alpha, hppa
Ports list build and test dependencies as well as runtime dependencies. pkg_add selects those needed for installation.
Direct dependencies
Runtime
- lang/php/8.4 php->=8.4,<8.5
- lang/php/8.4,-gd
OpenBSD README
This README contains unresolved ports variables; replace them before using its commands.
+-----------------------------------------------------------------------
| Running zabbix-web on OpenBSD
+-----------------------------------------------------------------------
The Zabbix web frontend has been installed into
${PREFIX-web}/zabbix
Zabbix Web can work with a PostgreSQL, MySQL or SQLite3 database.
Support for SQLite3 is included with the main php package; to use
another database, the corresponding package needs to be installed:
php-pgsql or php-mysqli
Zabbix requires a timezone to be configured in PHP; zabbix.ini
sets this to UTC, you may like to adjust this. After making these
changes, stop and start your webserver.
Finally, edit ${ZABBIX_WEB}/conf/zabbix.conf.php according to your needs.
Below are instructions for setting up Zabbix Web with Apache or NGINX.
Apache
======
You should point this to the DocumentRoot of your web-server:
# ln -s ../zabbix /var/www/htdocs/zabbix
(make sure you use a relative symlink since Apache is chrooted)
The web frontend works reasonably well with OpenBSD's chroot'ed
httpd (the "Status of Zabbix" page uses /bin/ps and /dev/kmem to
check the process, so it erroneously reports it as not running).
Some changes from the default configuration are required -
you can do this by creating symbolic links as follows:
# ln -s ${PREFIX-web}/conf/modules.sample/zabbix.conf \
${PREFIX-web}/conf/modules
# ln -fs ${SYSCONFDIR}/php-${MODPHP_VERSION}.sample/zabbix.ini \
${SYSCONFDIR}/php-${MODPHP_VERSION}/zabbix.ini
NGINX
=====
First install and enable php-fpm and enable the required modules:
# cd ${SYSCONFDIR}/php-${MODPHP_VERSION}.sample
# for i in *; do ln -fs ../php-${MODPHP_VERSION}.sample/$i \
../php-${MODPHP_VERSION}/; done
Next configure a nginx such as:
server {
listen 80;
server_name zabbix.example.com;
root ${ZABBIX_WEB};
index index.php;
error_page 403 404 502 503 504 /zabbix/index.php;
location ~ \.php {
fastcgi_pass unix:run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
location ~ \.(jpg|jpeg|gif|png|ico)$ {
access_log off;
expires 33d;
}
location ~ ^\.ht {
deny all;
}
}
httpd.conf(5)
=============
server "zabbix.example.com" {
listen on * port 80
listen on * tls port 443
directory { index "index.php" }
tls {
certificate "/etc/ssl/acme/zabbix.example.com_fullchain.pem"
key "/etc/ssl/acme/private/zabbix.example.com_private.pem"
}
# Increase connection limits to extend the lifetime
connection { max requests 500, timeout 3600 }
connection { max request body 8388608 }
location "/conf/*" {
block return 401
}
location "*.php" {
fastcgi socket "/run/php-fpm.sock"
}
root "/zabbix"
}