Hi Adam,

Thanks for looking. 

OpenBSD is fast becoming increasingly popular for Enterprise as they have finally unlocked the Networking stack from the old Kernel GIANT lock.. Combining this massive performance boost with the power of PF (which is arguably one of the best firewalls and syntax in the world), I would say its worth some love ;)

Kind regards, and thanks again for such a great project. 
Enjoying working with it :)
Andy.


On Fri, May 20, 2016 at 10:02 AM, Adam Armstrong <adama@memetic.org> wrote:

This is likely because openbsd doesn't return the same number of values in that table.

Either we need to switch back to the old graph for openbsd, or work out how to display one for openbsd.

I'll add it to the list to investigate!

Adam.

Sent from BlueMail

On 20 May 2016, at 10:01, Andy Lemin <andy@brandwatch.com> wrote:
Hi Mike,

Thanks for your reply. 

Should PHP OPcache be enabled?
Should the Python version be at least 3 or higher?
Should I be trying to import the OpenBSD SNMP MIBs? How do you compile extra MIBs into Observium, or is that not supported / desired?

From looking at the debug output I cannot see any obvious problems that might be causing this, however the Processors graph still fails to draw (only on the Overview page) for all the OpenBSD firewalls.

root@intermap:/opt/observium# ./poller.php -d -m processors -h fw4.domain.com
DEBUG!

SQL[SELECT `attrib_value` FROM `observium_attribs` WHERE `attrib_type` = 'dbSchema';]
SQL RUNTIME[0.00007486s]

SQL[SELECT @@SESSION.sql_mode;]
SQL RUNTIME[0.00012112s]

SQL[SELECT `attrib_value` FROM `observium_attribs` WHERE `attrib_type` = 'current_rev';]
SQL RUNTIME[0.00006700s]

SQL[SELECT * FROM `config`]
SQL RUNTIME[0.00006890s]

CMD[/bin/hostname -f]

CMD EXITCODE[0]
CMD RUNTIME[0.003s]
STDOUT[
]

  ___   _                              _
 / _ \ | |__   ___   ___  _ __ __   __(_) _   _  _ __ ___
| | | || '_ \ / __| / _ \| '__|\ \ / /| || | | || '_ ` _ \
| |_| || |_) |\__ \|  __/| |    \ V / | || |_| || | | | | |
 \___/ |_.__/ |___/ \___||_|     \_/  |_| \__,_||_| |_| |_|
                         Observium Professional 0.16.5.7872
                                   http://www.observium.org


SQL[SELECT `attrib_value` FROM `observium_attribs` WHERE `attrib_type` = 'latest_ver';]
SQL RUNTIME[0.00008011s]

SQL[SELECT `attrib_value` FROM `observium_attribs` WHERE `attrib_type` = 'latest_rev';]
SQL RUNTIME[0.00006199s]

SQL[SELECT `attrib_value` FROM `observium_attribs` WHERE `attrib_type` = 'latest_rev_date';]
SQL RUNTIME[0.00006008s]

CMD[/opt/observium/scripts/distro]

CMD EXITCODE[0]
CMD RUNTIME[0.0354s]
STDOUT[
Linux|3.16.0-4-amd64|amd64|Debian|8.4
]

CMD[/usr/bin/env python --version 2>&1]

CMD EXITCODE[0]
CMD RUNTIME[0.0028s]
STDOUT[
Python 2.7.9
]

SQL[SELECT version();]
SQL RUNTIME[0.00012994s]

CMD[/usr/bin/snmpget --version 2>&1]

CMD EXITCODE[0]
CMD RUNTIME[0.004s]
STDOUT[
NET-SNMP version: 5.7.2.1
]

CMD[/usr/bin/rrdtool --version |head -n1]

CMD EXITCODE[0]
CMD RUNTIME[0.0052s]
STDOUT[
RRDtool 1.4.8  Copyright 1997-2013 by Tobias Oetiker <tobi@oetiker.ch>
]

CMD[date "+%:z"]

CMD EXITCODE[0]
CMD RUNTIME[0.0024s]
STDOUT[
+01:00
]

SQL[SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);]
SQL RUNTIME[0.00016093s]

CMD[/usr/bin/env apache2 -v | awk '/Server version:/ {print $3}']

CMD EXITCODE[0]
CMD RUNTIME[0.0266s]
STDOUT[
Apache/2.4.10
]

SQL[SELECT @@SESSION.sql_mode;]
SQL RUNTIME[0.00012207s]

SQL[SHOW VARIABLES LIKE 'character_set_connection']
SQL RUNTIME[0.00038409s]

#####  Software versions  #####

 o OS                   Linux 3.16.0-4-amd64 [amd64] (Debian 8.4)
 o Apache               2.4.10
 o PHP                  5.6.20-0+deb8u1 (OPcache: DISABLED)
 o Python               2.7.9
 o MySQL                5.5.49-0+deb8u1 (extension: mysqli 5.5.49)
 o SNMP                 NET-SNMP 5.7.2.1
 o RRDtool              1.4.8

#####  MySQL mode  #####

 o MySQL                

#####  Charset info  #####

 o PHP                  UTF-8
 o MySQL                utf8

#####  Timezones info  #####

 o Date                 Friday, 20-May-16 09:51:20 BST
 o PHP                  +01:00
 o MySQL                +01:00


SQL[SELECT * FROM `alerts_maint` WHERE `maint_start` < '1463734280' AND `maint_end` > '1463734280']
SQL RUNTIME[0.00032377s]
#####  Starting polling run at 2016-05-20 09:51:20  #####


SQL[SELECT `device_id` FROM `devices` WHERE `disabled` = 0 AND `hostname` LIKE 'fw4.domain.com' ORDER BY `device_id` ASC]
SQL RUNTIME[0.00028682s]

SQL[SELECT * FROM `devices` WHERE `device_id` = '5']
SQL RUNTIME[0.00025702s]

SQL[SELECT * FROM `entity_attribs` WHERE `entity_type` = 'device' AND `entity_id` = '5']
SQL RUNTIME[0.00006819s]

SQL[SELECT * FROM `observium_processes` WHERE `process_name` = 'poller.php' AND `device_id` = '5']
SQL RUNTIME[0.00017905s]

CMD[/bin/ps -ww -o pid,ppid,uid,gid,tty,stat,time,lstart,args -p 5307]

CMD EXITCODE[0]
CMD RUNTIME[0.0082s]
STDOUT[
  PID  PPID   UID   GID TT       STAT     TIME                  STARTED COMMAND
 5307  5081     0     0 pts/1    S+   00:00:00 Fri May 20 09:51:20 2016 php ./poller.php -d -m processors -h fw4.domain.com
]

CMD[/bin/ps -ww -o pid,ppid,uid,gid,tty,stat,time,lstart,args -p 5081]

CMD EXITCODE[0]
CMD RUNTIME[0.0075s]
STDOUT[
  PID  PPID   UID   GID TT       STAT     TIME                  STARTED COMMAND
 5081  5076     0     0 pts/1    Ss   00:00:00 Fri May 20 09:50:43 2016 -bash
]

SQL[INSERT INTO `observium_processes` (`process_pid`,`process_name`,`process_ppid`,`process_uid`,`process_command`,`process_start`,`device_id`)  VALUES ('5307','poller.php','5081','0','php ./poller.php -d -m processors -h fw4.domain.com','1463734280','5')]
SQL RUNTIME[0.16541505s]

SQL[SELECT * FROM `alert_tests` WHERE 1]
SQL RUNTIME[0.00015402s]
Cached 2 alert rules.

SQL[SELECT * FROM  `alert_table` WHERE `device_id` = '5']
SQL RUNTIME[0.00052285s]
#####  fw4.domain.com [5]  #####

 o OS                   openbsd
 o OS Group             unix
 o Last poll duration   2.40 seconds
 o Last Polled          2016-05-20 09:50:11
 o SNMP Version         v2c

CMD[/usr/bin/fping -t 2000 -c 1 -q 10.0.255.252 2>&1]

CMD EXITCODE[0]
CMD RUNTIME[0.0038s]
STDOUT[
10.0.255.252 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.31/0.31/0.31
]

CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OQUst -m SNMPv2-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' sysObjectID.0 sysUpTime.0]

CMD EXITCODE[0]
CMD RUNTIME[0.0101s]
STDOUT[
sysObjectID.0 = enterprises.30155.23.1
sysUpTime.0 = 6919686
]
SNMP STATUS[TRUE]
 o Device status        Device is reachable by PING (0.31ms) and SNMP (10.10ms)
RRD /opt/observium/rrd/fw4.domain.com/status.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/status.rrd N:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.22]
RRD_STATUS[TRUE]

RRD /opt/observium/rrd/fw4.domain.com/ping.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/ping.rrd N:0.31]
RRD RUNTIME[0.0011s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.22]
RRD_STATUS[TRUE]

RRD /opt/observium/rrd/fw4.domain.com/ping_snmp.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/ping_snmp.rrd N:10.10]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.22]
RRD_STATUS[TRUE]


SQL[SELECT * FROM `device_graphs` WHERE `device_id` = '5']
SQL RUNTIME[0.00013709s]
 o Modules Enabled      system, os, processors


including: includes/polling/system.inc.php
#####  Module Start: system  #####


CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OQUs -m SNMPv2-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' sysUpTime.0 sysLocation.0 sysContact.0 sysName.0]

CMD EXITCODE[0]
CMD RUNTIME[0.0099s]
STDOUT[
sysUpTime.0 = 0:19:13:16.88
sysLocation.0 = 4d4
sysContact.0 = Network Group
sysName.0 = fw4
]
SNMP STATUS[TRUE]

CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -Oqv -m SNMPv2-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' sysDescr.0]

CMD EXITCODE[0]
CMD RUNTIME[0.0099s]
STDOUT[
Firewall
]
SNMP STATUS[TRUE]

CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -Oqvn -m SNMPv2-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' sysObjectID.0]

CMD EXITCODE[0]
CMD RUNTIME[0.0094s]
STDOUT[
.1.3.6.1.4.1.30155.23.1
]
SNMP STATUS[TRUE]

CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -Ovqn -m SNMP-FRAMEWORK-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' snmpEngineID.0]

CMD EXITCODE[0]
CMD RUNTIME[0.0082s]
STDOUT[
"80 00 75 CB 80 31 30 E3 AD 57 3D C1 B7 "
]
SNMP STATUS[TRUE]

SQL[SELECT * FROM `observium_attribs`]
SQL RUNTIME[0.00011206s]

CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -Oqv -m HOST-RESOURCES-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' hrSystemUptime.0]

CMD EXITCODE[0]
CMD RUNTIME[0.0114s]
STDOUT[
0:19:13:31.00
]
SNMP STATUS[TRUE]
Using SNMP Agent hrSystemUptime (69211 sec. => 19h 13m 31s)
RRD /opt/observium/rrd/fw4.domain.com/uptime.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/uptime.rrd N:69211]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.28]
RRD_STATUS[TRUE]

 o Uptime               19h 13m 31s


> $uptimes - /opt/observium/poller.php:163
/opt/observium/includes/polling/system.inc.php:188
===============================================
array(
  [sysUpTime]      => int(69196)
  [hrSystemUptime] => int(69211)
  [use]            => string(14) "hrSystemUptime"
  [uptime]         => int(69211)
  [formatted]      => string(11) "19h 13m 31s"
  [message]        => string(31) "Using SNMP Agent hrSystemUptime"
  [previous]       => string(5) "69139"
  [diff]           => int(-72)
  [rebooted]       => int(0)
)
sysLocation rewritten from '4d4' to '122 Oyster Ln, Byfleet, Surrey KT14 7JU' by DB override.
 o sysObjectID          .1.3.6.1.4.1.30155.23.1
 o snmpEngineID         800075CB803130E3AD573DC1B7
 o sysDescr             Firewall
 o sysName              fw4
 o Location             122 Oyster Ln, Byfleet, Surrey KT14 7JU

SQL[SELECT * FROM `devices_locations` WHERE `device_id` = '5']
SQL RUNTIME[0.00032592s]
 o Module time          0.0695s


including: includes/polling/os.inc.php
#####  Module Start: os  #####


SQL[SELECT * FROM `entPhysical` WHERE `device_id` = '5' AND `entPhysicalContainedIn` = '0']
SQL RUNTIME[0.00008488s]
 o OS Poller            Group

CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -Oqv -m UCD-SNMP-MIB -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.4.1.2021.7890.1.3.1.1.6.100.105.115.116.114.111]

CMD EXITCODE[0]
CMD RUNTIME[0.0073s]
STDOUT[
No Such Object available on this agent at this OID
]
SNMP STATUS[FALSE]
SNMP ERROR[#1000 - Failed response]

SQL[SELECT * FROM `snmp_errors` WHERE `device_id` = '5' AND `error_code` = '1000' AND `snmp_cmd` = 'snmpget' AND `snmp_options` = '-Oqv' AND `mib` = 'UCD-SNMP-MIB' AND `oid` = '.1.3.6.1.4.1.2021.7890.1.3.1.1.6.100.105.115.116.114.111';]
SQL RUNTIME[0.00028896s]

SQL[UPDATE `snmp_errors` set `error_count` ='40162',`updated` ='1463734281' WHERE `error_id` = '1']
SQL RUNTIME[0.05195189s]

CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -Oqv -m UCD-SNMP-MIB -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.4.1.2021.7890.1.101.1]

CMD EXITCODE[0]
CMD RUNTIME[0.0079s]
STDOUT[
No Such Object available on this agent at this OID
]
SNMP STATUS[FALSE]
SNMP ERROR[#1000 - Failed response]

SQL[SELECT * FROM `snmp_errors` WHERE `device_id` = '5' AND `error_code` = '1000' AND `snmp_cmd` = 'snmpget' AND `snmp_options` = '-Oqv' AND `mib` = 'UCD-SNMP-MIB' AND `oid` = '.1.3.6.1.4.1.2021.7890.1.101.1';]
SQL RUNTIME[0.00034595s]

SQL[UPDATE `snmp_errors` set `error_count` ='40161',`updated` ='1463734281' WHERE `error_id` = '3']
SQL RUNTIME[0.04289103s]
 o Hardware             Generic
 o Version              <empty>
 o Features             <empty>
 o Serial               <empty>
 o Asset                <empty>

 o Module time          0.1239s


including: includes/polling/processors.inc.php
#####  Module Start: processors  #####


SQL[SELECT `processors`.*, `processors-state`.`processor_usage`, `processors-state`.`processor_polled` FROM `processors` LEFT JOIN `processors-state` USING(`processor_id`) WHERE `device_id` = '5']
SQL RUNTIME[0.00037503s]

CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OUQnv -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.2.1.25.3.3.1.2.1]

CMD EXITCODE[0]
CMD RUNTIME[0.0287s]
STDOUT[
1
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-1.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-1.rrd N:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.45]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='1',`processor_polled` ='1463734281' WHERE `processor_id` = '1']
SQL RUNTIME[0.00019002s]


> $data - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
=====================================================
array(
  [processor_usage] => double(1)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":1}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734281',`last_ok` ='1463734281' WHERE `alert_table_id` = '28']
SQL RUNTIME[0.04260612s]
RRD /opt/observium/rrd/fw4.domain.com/alert-28.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-28.rrd N:1:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.50]
RRD_STATUS[TRUE]


CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OUQnv -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.2.1.25.3.3.1.2.2]

CMD EXITCODE[0]
CMD RUNTIME[0.0285s]
STDOUT[
1
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-2.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-2.rrd N:1]
RRD RUNTIME[0.0011s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.53]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='1',`processor_polled` ='1463734281' WHERE `processor_id` = '2']
SQL RUNTIME[0.00018096s]


 - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
==================================================
array(
  [processor_usage] => double(1)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":1}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734281',`last_ok` ='1463734281' WHERE `alert_table_id` = '29']
SQL RUNTIME[0.04028201s]
RRD /opt/observium/rrd/fw4.domain.com/alert-29.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-29.rrd N:1:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.58]
RRD_STATUS[TRUE]


CMD[/usr/bin/snmpbulkwalk -t '20' -r '3' -v2c -c *** -Pu -OQUs -m HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' hrDeviceType]

CMD EXITCODE[0]
CMD RUNTIME[0.0132s]
STDOUT[
hrDeviceType.1 = hrDeviceProcessor
hrDeviceType.2 = hrDeviceProcessor
hrDeviceType.3 = hrDeviceProcessor
hrDeviceType.4 = hrDeviceProcessor
hrDeviceType.5 = hrDeviceProcessor
hrDeviceType.6 = hrDeviceProcessor
hrDeviceType.7 = hrDeviceProcessor
hrDeviceType.8 = hrDeviceProcessor
]
SNMP STATUS[TRUE]

CMD[/usr/bin/snmpbulkwalk -t '20' -r '3' -v2c -c *** -Pu -OQUs -m HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' hrDeviceDescr]

CMD EXITCODE[0]
CMD RUNTIME[0.0134s]
STDOUT[
hrDeviceDescr.1 = Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz
hrDeviceDescr.2 = Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz
hrDeviceDescr.3 = Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz
hrDeviceDescr.4 = Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz
hrDeviceDescr.5 = Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz
hrDeviceDescr.6 = Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz
hrDeviceDescr.7 = Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz
hrDeviceDescr.8 = Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz
]
SNMP STATUS[TRUE]

CMD[/usr/bin/snmpbulkwalk -t '20' -r '3' -v2c -c *** -Pu -OQUs -m HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp':'fw4.domain.com':'161' hrProcessorLoad]

CMD EXITCODE[0]
CMD RUNTIME[0.012s]
STDOUT[
hrProcessorLoad.1 = 1
hrProcessorLoad.2 = 1
hrProcessorLoad.3 = 1
hrProcessorLoad.4 = 0
hrProcessorLoad.5 = 0
hrProcessorLoad.6 = 0
hrProcessorLoad.7 = 0
hrProcessorLoad.8 = 0
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-average-1.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-average-1.rrd N:0.38]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.62]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='0.38',`processor_polled` ='1463734281' WHERE `processor_id` = '3']
SQL RUNTIME[0.00019979s]


 - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
==================================================
array(
  [processor_usage] => double(0.38)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":0.38}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734281',`last_ok` ='1463734281' WHERE `alert_table_id` = '30']
SQL RUNTIME[0.05410504s]
RRD /opt/observium/rrd/fw4.domain.com/alert-30.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-30.rrd N:1:1]
RRD RUNTIME[0.0011s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.68]
RRD_STATUS[TRUE]


CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OUQnv -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.2.1.25.3.3.1.2.3]

CMD EXITCODE[0]
CMD RUNTIME[0.031s]
STDOUT[
1
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-3.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-3.rrd N:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.72]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='1',`processor_polled` ='1463734281' WHERE `processor_id` = '110']
SQL RUNTIME[0.00022006s]


 - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
==================================================
array(
  [processor_usage] => double(1)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":1}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734281',`last_ok` ='1463734281' WHERE `alert_table_id` = '114']
SQL RUNTIME[0.04427004s]
RRD /opt/observium/rrd/fw4.domain.com/alert-114.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-114.rrd N:1:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.76]
RRD_STATUS[TRUE]


CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OUQnv -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.2.1.25.3.3.1.2.4]

CMD EXITCODE[0]
CMD RUNTIME[0.0326s]
STDOUT[
0
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-4.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-4.rrd N:0]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.80]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='0',`processor_polled` ='1463734281' WHERE `processor_id` = '111']
SQL RUNTIME[0.00023580s]


 - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
==================================================
array(
  [processor_usage] => double(0)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":0}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734281',`last_ok` ='1463734281' WHERE `alert_table_id` = '115']
SQL RUNTIME[0.04477906s]
RRD /opt/observium/rrd/fw4.domain.com/alert-115.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-115.rrd N:1:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.85]
RRD_STATUS[TRUE]


CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OUQnv -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.2.1.25.3.3.1.2.5]

CMD EXITCODE[0]
CMD RUNTIME[0.0325s]
STDOUT[
0
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-5.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-5.rrd N:0]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.89]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='0',`processor_polled` ='1463734281' WHERE `processor_id` = '112']
SQL RUNTIME[0.00026202s]


 - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
==================================================
array(
  [processor_usage] => double(0)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":0}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734281',`last_ok` ='1463734281' WHERE `alert_table_id` = '116']
SQL RUNTIME[0.04211521s]
RRD /opt/observium/rrd/fw4.domain.com/alert-116.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-116.rrd N:1:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.93]
RRD_STATUS[TRUE]


CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OUQnv -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.2.1.25.3.3.1.2.6]

CMD EXITCODE[0]
CMD RUNTIME[0.0325s]
STDOUT[
0
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-6.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-6.rrd N:0]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:0.97]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='0',`processor_polled` ='1463734281' WHERE `processor_id` = '113']
SQL RUNTIME[0.00021315s]


 - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
==================================================
array(
  [processor_usage] => double(0)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":0}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734281',`last_ok` ='1463734281' WHERE `alert_table_id` = '117']
SQL RUNTIME[0.04165602s]
RRD /opt/observium/rrd/fw4.domain.com/alert-117.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-117.rrd N:1:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:1.02]
RRD_STATUS[TRUE]


CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OUQnv -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.2.1.25.3.3.1.2.7]

CMD EXITCODE[0]
CMD RUNTIME[0.0326s]
STDOUT[
0
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-7.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-7.rrd N:0]
RRD RUNTIME[0.0011s]
RRD STDOUT[OK u:0.00 s:0.00 r:1.05]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='0',`processor_polled` ='1463734281' WHERE `processor_id` = '114']
SQL RUNTIME[0.00021195s]


 - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
==================================================
array(
  [processor_usage] => double(0)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":0}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734281',`last_ok` ='1463734281' WHERE `alert_table_id` = '118']
SQL RUNTIME[0.04165697s]
RRD /opt/observium/rrd/fw4.domain.com/alert-118.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-118.rrd N:1:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:1.10]
RRD_STATUS[TRUE]


CMD[/usr/bin/snmpget -t '20' -r '3' -v2c -c *** -Pu -OUQnv -M /opt/observium/mibs 'udp':'fw4.domain.com':'161' .1.3.6.1.2.1.25.3.3.1.2.8]

CMD EXITCODE[0]
CMD RUNTIME[0.0322s]
STDOUT[
0
]
SNMP STATUS[TRUE]
RRD /opt/observium/rrd/fw4.domain.com/processor-hr-8.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/processor-hr-8.rrd N:0]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:1.14]
RRD_STATUS[TRUE]


SQL[UPDATE `processors-state` set `processor_usage` ='0',`processor_polled` ='1463734282' WHERE `processor_id` = '115']
SQL RUNTIME[0.00019383s]


 - /opt/observium/includes/polling/functions.inc.php:681
/opt/observium/includes/alerts.inc.php:61
==================================================
array(
  [processor_usage] => double(0)
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"processor_usage\":0}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734282',`last_ok` ='1463734282' WHERE `alert_table_id` = '119']
SQL RUNTIME[0.04213905s]
RRD /opt/observium/rrd/fw4.domain.com/alert-119.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-119.rrd N:1:1]
RRD RUNTIME[0.0012s]
RRD STDOUT[OK u:0.00 s:0.00 r:1.18]
RRD_STATUS[TRUE]

+---------------------------------+------------+-------+-------+
| Label                           | Type       | Index | Usage |
+---------------------------------+------------+-------+-------+
| Intel Xeon E5-2637 v2 @ 3.50GHz | hr         | 1     | 1%    |
| Intel Xeon E5-2637 v2 @ 3.50GHz | hr         | 2     | 1%    |
| Average                         | hr-average | 1     | 0%    |
| Intel Xeon E5-2637 v2 @ 3.50GHz | hr         | 3     | 1%    |
| Intel Xeon E5-2637 v2 @ 3.50GHz | hr         | 4     | 0%    |
| Intel Xeon E5-2637 v2 @ 3.50GHz | hr         | 5     | 0%    |
| Intel Xeon E5-2637 v2 @ 3.50GHz | hr         | 6     | 0%    |
| Intel Xeon E5-2637 v2 @ 3.50GHz | hr         | 7     | 0%    |
| Intel Xeon E5-2637 v2 @ 3.50GHz | hr         | 8     | 0%    |
+---------------------------------+------------+-------+-------+

 o Module time          0.8206s

#####  fw4.domain.com [5] completed poller modules at 2016-05-20 09:51:22  #####

 o Graphs [checked]     ping, ping_snmp, uptime, processor
 o Poller time          1.0543 seconds
Updating fw4.domain.com

> $update_array
========
array(
  [uptime]                => int(69211)
  [last_polled]           => array(
                               [0] => string(5) "NOW()"
                             )
  [last_polled_timetaken] => double(1.0543)
  [device_state]          => string(116) "a:1:{s:15:"poller_mod_perf";a:3:{s:6:"system";d:0.069500000000000006;s:2:"os";d:0.1239;s:10:"processors";d:0.8206;}}"
                             ┗ serialized ~ array(
                               [poller_mod_perf] => array(
                                                      [system]     => double(0.0695)
                                                      [os]         => double(0.1239)
                                                      [processors] => double(0.8206)
                                                    )
                             )
)
 

SQL[UPDATE `devices` set `uptime` ='69211',`last_polled` =NOW(),`last_polled_timetaken` ='1.0543',`device_state` ='a:1:{s:15:\"poller_mod_perf\";a:3:{s:6:\"system\";d:0.069500000000000006;s:2:\"os\";d:0.1239;s:10:\"processors\";d:0.8206;}}' WHERE `device_id` = '5']
SQL RUNTIME[0.04171419s]
 o Updated Data         uptime, last_polled, last_polled_timetaken, device_state


 - /opt/observium/poller.php:163
/opt/observium/includes/alerts.inc.php:61
======================================
array(
  [device_status]        => string(1) "1"
  [device_status_type]   => string(0) ""
  [device_ping]          => string(4) "0.31"
  [device_snmp]          => string(5) "10.10"
  [device_uptime]        => string(5) "69139"
  [device_rebooted]      => int(0)
  [device_duration_poll] => string(4) "2.40"
)

SQL[UPDATE `alert_table` set `state` ='{\"metrics\":{\"device_status\":\"1\"}}',`count` ='0',`alert_status` ='1',`last_message` ='Checks OK',`last_checked` ='1463734282',`last_ok` ='1463734282' WHERE `alert_table_id` = '5']
SQL RUNTIME[0.03916693s]
RRD /opt/observium/rrd/fw4.domain.com/alert-5.rrd already exists - no need to create.

RRD CMD[update /opt/observium/rrd/fw4.domain.com/alert-5.rrd N:1:1]
RRD RUNTIME[0.0013s]
RRD STDOUT[OK u:0.00 s:0.00 r:1.33]
RRD_STATUS[TRUE]



SQL[DELETE FROM `observium_processes` WHERE `process_pid` = '5307' AND `process_name` = 'poller.php' AND `device_id` = '5']
SQL RUNTIME[0.04381084s]

SQL[INSERT INTO `perf_times` (`type`,`doing`,`start`,`duration`,`devices`)  VALUES ('poll','fw4.domain.com','1463734280.7866','1.476','1')]
SQL RUNTIME[0.04466701s]
./poller.php: fw4.domain.com - 1 devices polled in 1.476 secs
#####  Completed polling run at 2016-05-20 09:51:22  #####

NOTE, $config['snmp']['hide_auth'] is set to TRUE, snmp community and snmp v3 auth hidden from debug output.
 o Devices Polled       1
 o Poller Time          1.476 secs
 o Memory usage         8.75MB (peak: 9MB)
 o MySQL Usage          Cell[4/0.002s] Row[10/0.008s] Rows[11/0.008s] Column[0/0s] Update[22/0.585s] Insert[2/0.211s] Delete[1/0.044s] 
 o RRDTool Usage        update[23/0.027s]



Thanks for your time and help.
Kind regards, Andy.
 





On Fri, May 20, 2016 at 7:20 AM, Mike Stupalov <mike@observium.org> wrote:
Hi,

 please attach debug output:

./poller.php -d -m processors -h <device>


On Thu, May 19, 2016 at 7:35 PM, Andy Lemin <andy@brandwatch.com> wrote:
Hi,

On Observium commercial, all of our OpenBSD firewalls fail to draw the "Processors" graph on the device Overview page :(

However if you go to the "Graphs" tab on the Device page, the "Processors" graphs do draw..

It seems to only be limited to the "Overview" tab on the device page.

Our Linux servers, Cisco, HP gear etc are all fine.

For both the OpenBSD firewalls and the Linux servers, the Processors graph on the Overview page seems to be based on "Device (ucd_ss_cpu)". But the Processors graph which does work looks to be based on "Device (processor)".

So it seems that "Device (ucd_ss_cpu)" is not populated for OpenBSD, where Observium thinks it should be.


Here is the RRD Command for a failing one;

root@intermap:/opt/observium/rrd/ar1406.live.brandwatch.net# /usr/bin/rrdtool graph /tmp/11MUfpl7O7LSQtoX.png -g -Y --lower-limit 0 --alt-autoscale-max --start 1463587788 --end 1463674188 --width 1152 --height 300 -c BACK#EEEEEE00 -c SHADEA#EEEEEE00 -c SHADEB#EEEEEE00 -c FONT#000000 -c CANVAS#FFFFFF00 -c GRID#a5a5a5 -c MGRID#FF9999 -c FRAME#5e5e5e -c ARROW#5e5e5e -R normal --font LEGEND:8:'DroidSansMono,DejaVuSansMono' --font AXIS:7:'DroidSansMono,DejaVuSansMono' --font-render-mode normal -E COMMENT:' Now Min Max Avg' COMMENT:'\l' CDEF:total= HRULE:0#555555

ERROR: String ends after the = sign on 'CDEF:total='


Here is the RRD Command for a Linux device which works;

root@intermap:/opt/observium/rrd/ar1406.live.brandwatch.net# /usr/bin/rrdtool graph /tmp/vskuqlACvSuyBGUW.png -g -Y --lower-limit 0 --alt-autoscale-max --start 1463587973 --end 1463674373 --width 1152 --height 300 -c BACK#EEEEEE00 -c SHADEA#EEEEEE00 -c SHADEB#EEEEEE00 -c FONT#000000 -c CANVAS#FFFFFF00 -c GRID#a5a5a5 -c MGRID#FF9999 -c FRAME#5e5e5e -c ARROW#5e5e5e -R normal --font LEGEND:8:'DroidSansMono,DejaVuSansMono' --font AXIS:7:'DroidSansMono,DejaVuSansMono' --font-render-mode normal -E COMMENT:' Now Min Max Avg' COMMENT:'\l' DEF:ssCpuRawUser=/opt/observium/rrd/ar1406.live.brandwatch.net/ucd_ssCpuRawUser.rrd:value:AVERAGE DEF:ssCpuRawNice=/opt/observium/rrd/ar1406.live.brandwatch.net/ucd_ssCpuRawNice.rrd:value:AVERAGE DEF:ssCpuRawSystem=/opt/observium/rrd/ar1406.live.brandwatch.net/ucd_ssCpuRawSystem.rrd:value:AVERAGE DEF:ssCpuRawWait=/opt/observium/rrd/ar1406.live.brandwatch.net/ucd_ssCpuRawWait.rrd:value:AVERAGE DEF:ssCpuRawInterrupt=/opt/observium/rrd/ar1406.live.brandwatch.net/ucd_ssCpuRawInterrupt.rrd:value:AVERAGE DEF:ssCpuRawSoftIRQ=/opt/observium/rrd/ar1406.live.brandwatch.net/ucd_ssCpuRawSoftIRQ.rrd:value:AVERAGE DEF:ssCpuRawKernel=/opt/observium/rrd/ar1406.live.brandwatch.net/ucd_ssCpuRawKernel.rrd:value:AVERAGE DEF:ssCpuRawIdle=/opt/observium/rrd/ar1406.live.brandwatch.net/ucd_ssCpuRawIdle.rrd:value:AVERAGE CDEF:total=ssCpuRawUser,UN,0,ssCpuRawUser,IF,ssCpuRawNice,UN,0,ssCpuRawNice,IF,ssCpuRawSystem,UN,0,ssCpuRawSystem,IF,ssCpuRawWait,UN,0,ssCpuRawWait,IF,ssCpuRawInterrupt,UN,0,ssCpuRawInterrupt,IF,ssCpuRawSoftIRQ,UN,0,ssCpuRawSoftIRQ,IF,ssCpuRawKernel,UN,0,ssCpuRawKernel,IF,ssCpuRawIdle,UN,0,ssCpuRawIdle,IF,+,+,+,+,+,+,+ CDEF:ssCpuRawUser_perc=ssCpuRawUser,total,/,100,* CDEF:ssCpuRawNice_perc=ssCpuRawNice,total,/,100,* CDEF:ssCpuRawSystem_perc=ssCpuRawSystem,total,/,100,* CDEF:ssCpuRawWait_perc=ssCpuRawWait,total,/,100,* CDEF:ssCpuRawInterrupt_perc=ssCpuRawInterrupt,total,/,100,* CDEF:ssCpuRawSoftIRQ_perc=ssCpuRawSoftIRQ,total,/,100,* CDEF:ssCpuRawKernel_perc=ssCpuRawKernel,total,/,100,* CDEF:ssCpuRawIdle_perc=ssCpuRawIdle,total,/,100,* HRULE:0#555555 AREA:ssCpuRawUser_perc#c02020:'User ' GPRINT:ssCpuRawUser_perc:LAST:%5.1lf%% GPRINT:ssCpuRawUser_perc:MIN:%5.1lf%% GPRINT:ssCpuRawUser_perc:MAX:%5.1lf%% GPRINT:ssCpuRawUser_perc:AVERAGE:%5.1lf%%\n AREA:ssCpuRawNice_perc#008f00:'Nice ':STACK GPRINT:ssCpuRawNice_perc:LAST:%5.1lf%% GPRINT:ssCpuRawNice_perc:MIN:%5.1lf%% GPRINT:ssCpuRawNice_perc:MAX:%5.1lf%% GPRINT:ssCpuRawNice_perc:AVERAGE:%5.1lf%%\n AREA:ssCpuRawSystem_perc#ea8f00:'System ':STACK GPRINT:ssCpuRawSystem_perc:LAST:%5.1lf%% GPRINT:ssCpuRawSystem_perc:MIN:%5.1lf%% GPRINT:ssCpuRawSystem_perc:MAX:%5.1lf%% GPRINT:ssCpuRawSystem_perc:AVERAGE:%5.1lf%%\n AREA:ssCpuRawWait_perc#1f78b4:'Wait ':STACK GPRINT:ssCpuRawWait_perc:LAST:%5.1lf%% GPRINT:ssCpuRawWait_perc:MIN:%5.1lf%% GPRINT:ssCpuRawWait_perc:MAX:%5.1lf%% GPRINT:ssCpuRawWait_perc:AVERAGE:%5.1lf%%\n AREA:ssCpuRawInterrupt_perc#a6cee3:'Interrupt ':STACK GPRINT:ssCpuRawInterrupt_perc:LAST:%5.1lf%% GPRINT:ssCpuRawInterrupt_perc:MIN:%5.1lf%% GPRINT:ssCpuRawInterrupt_perc:MAX:%5.1lf%% GPRINT:ssCpuRawInterrupt_perc:AVERAGE:%5.1lf%%\n AREA:ssCpuRawSoftIRQ_perc#b2df8a:'SoftIRQ ':STACK GPRINT:ssCpuRawSoftIRQ_perc:LAST:%5.1lf%% GPRINT:ssCpuRawSoftIRQ_perc:MIN:%5.1lf%% GPRINT:ssCpuRawSoftIRQ_perc:MAX:%5.1lf%% GPRINT:ssCpuRawSoftIRQ_perc:AVERAGE:%5.1lf%%\n AREA:ssCpuRawKernel_perc#fb9a99:'Kernel ':STACK GPRINT:ssCpuRawKernel_perc:LAST:%5.1lf%% GPRINT:ssCpuRawKernel_perc:MIN:%5.1lf%% GPRINT:ssCpuRawKernel_perc:MAX:%5.1lf%% GPRINT:ssCpuRawKernel_perc:AVERAGE:%5.1lf%%\n AREA:ssCpuRawIdle_perc#f5f5e5:'Idle ':STACK GPRINT:ssCpuRawIdle_perc:LAST:%5.1lf%% GPRINT:ssCpuRawIdle_perc:MIN:%5.1lf%% GPRINT:ssCpuRawIdle_perc:MAX:%5.1lf%% GPRINT:ssCpuRawIdle_perc:AVERAGE:%5.1lf%%\n

1233x339

Failing OpenBSD Example;



Working Linux​ Example;



Thank you very much for your time, and a great system. The more I use Observium, the more I love it.

Cheers, Andy.


_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium




--
Mike Stupalov
http://observium.org/

_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium


 

observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium

_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium