Bug 193982

Summary: net-mgmt/observium improvements, missing deps, suggestions
Product: Ports & Packages Reporter: Adam McDougall <ebay>
Component: Individual Port(s)Assignee: Mark Felder <feld>
Status: Closed FIXED    
Severity: Affects Some People Flags: ebay: maintainer-feedback? (feld)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Adam McDougall 2014-09-28 00:02:50 UTC
I was planning on submitting a formal patch but I just don't have enough time lately.  Filing a bug report with raw details captured for someone that can work on it.

Missing deps:
apache24(or variant) fping nmap php55-json mod_php55 php55-tokenizer php55-filter Xpython databases/py-MySQLdb php55-mcrypt (see below for partial implementation)

Suggested makefile entries (work in progress): (some of these may be optional but it is hard to tell from the product docs.  Wouldn't hurt to include by default as options, even if disabled.)

-USE_PHP=       snmp ctype gd mysql session xml
+USE_PHP=       ctype filter gd json mcrypt mysql session snmp tokenizer xml

-OPTIONS_DEFINE=        APACHEMOD MYSQLD
-OPTIONS_DEFAULT=       APACHEMOD
+OPTIONS_DEFINE=        APACHEMOD FPING IPMITOOL LIBVIRT MYSQLD NAGPLUGINS NMAP SUBVERSION WMIC
+OPTIONS_DEFAULT=       APACHEMOD FPING IPMITOOL LIBVIRT NAGPLUGINS NMAP SUBVERSION WMIC

RUN_DEPENDS+=       ${PYTHON_PKGNAMEPREFIX}MySQLdb>=0:${PORTSDIR}/databases/py-MySQLdb
RUN_DEPENDS+=   ${LOCALBASE}/bin/wget:${PORTSDIR}/ftp/wget

+FPING_RUN_DEPENDS=     fping:${PORTSDIR}/net/fping
+IPMITOOL_RUN_DEPENDS=  ipmitool:${PORTSDIR}/sysutils/ipmitool
+LIBVIRT_RUN_DEPENDS=   virsh:${PORTSDIR}/devel/libvirt
+NAGPLUGINS_RUN_DEPENDS=        ${LOCALBASE}/libexec/nagios/check_nagios:${PORTSDIR}/net-mgmt/nagios-plugins
+NMAP_RUN_DEPENDS=      nmap:${PORTSDIR}/security/nmap
+SUBVERSION_RUN_DEPENDS=        subversion:${PORTSDIR}/devel/subversion
+WMIC_RUN_DEPENDS=      wmic:${PORTSDIR}/net-mgmt/wmi-client

(need to add desc for FPING NMAP SUBVERSION, rest have a default I think)

"The mcrypt extension is missing. This extension required for use by the "remember me" feature. Please install the
php5-mcrypt package on Ubuntu/Debian or the php-mcrypt package on RHEL/Centos. Alternatively, you can disable
this feature by setting $config['login_remember_me'] = FALSE; in your config."

use @sample for config.php.default (rename it)

patch the binary paths for fping etc in the default config

find /usr/local/www/observium -name \*.php -exec chmod +x {} \;
find /usr/local/www/observium -name \*.py -exec chmod +x {} \;

the rrd directory needs ownership by www

Apache needs mod_rewrite

The suggested crontab entries in official documentation follow bad policy of completely ignoring all errors by using >> /dev/null 2>&1.  This was one of my stumbling blocks.

And finally, the item which gave me the most trouble was where poller.php OVERRIDES SETTINGS FROM PHP.INI that I had enabled to try to track down missing php modules etc.  Observium takes an extremely hostile position of disabling display_errors, display_startup_errors, log_errors, and error_reporting unless a (undocumented?) debug variable is set somewhere.  I think this behavior is a disservice to well meaning administrators and at least log_errors should not be disabled on a standard install.  This is not a fault of the port, but the port can make it more admin-friendly.
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-09-28 00:02:50 UTC
Auto-assigned to maintainer feld@FreeBSD.org
Comment 2 Mark Felder freebsd_committer freebsd_triage 2014-09-29 23:01:46 UTC
Thanks for the report. 

It's hard to get proper requirements from upstream and they're only doing one open source code drop every 6 months now. Can you attach your changes as an svn patch? I'll try to work from this and improve the experience for an "out of the box" install.
Comment 3 Adam McDougall 2014-09-29 23:09:46 UTC
I was intending to submit improvements in the form of an svn patch, but I just have not found the time to finish it.  Rather than silently sit on it for months, I put my notes here.  At the very least, I would suggest updating the USE_PHP line with what is below, otherwise the admin will be chasing their tail because it absolutely won't work without the required php modules.
Comment 4 commit-hook freebsd_committer freebsd_triage 2015-03-24 02:06:38 UTC
A commit references this bug:

Author: feld
Date: Tue Mar 24 02:05:49 UTC 2015
New revision: 382062
URL: https://svnweb.freebsd.org/changeset/ports/382062

Log:
  Update to 0.14.11.6000

  Numerous fixes and enhancements:
  - Support for more functionality by default
  - @sample the config.php.default
  - Fix permissions issues
  - Default paths to utilities corrected

  PR:		193982
  PR:		195919

Changes:
  head/net-mgmt/observium/Makefile
  head/net-mgmt/observium/distinfo
  head/net-mgmt/observium/files/patch-includes_defaults.inc.php
  head/net-mgmt/observium/files/pkg-message.in
  head/net-mgmt/observium/pkg-plist