Search code examples
snmpnetwork-monitoringobservium

Add ports on Observium


I've installed Observium and it's working great, except for one thing: no ports are showing up. I've added 3 devices with snmpd installed (Debian 7), all the graphs are displayed (cpu, mem) except for the network traffic ones, and on the front page, it shows:

 Ports  0   0 up    0 down  0 ignored   0 disabled

I've also installed the agent on one device, it didn't change anything.

The config used is here (all the private informations are noted xx):

$config['db_host'] = 'localhost';
$config['db_user'] = 'xx';
$config['db_pass'] = 'xx';
$config['db_name'] = 'xx';

// Base directory
$config['install_dir'] = "/opt/observium";

// Default community list to use when adding/discovering
$config['snmp']['community'] = array("xx");

// Authentication Model
$config['auth_mechanism'] = "mysql";    // default, other options: ldap, http-auth, please see documentation for config he$

// Enable alerter (not available in CE)
#$config['poller-wrapper']['alerter'] = TRUE;

// Set up a default alerter (email to a single address)
$config['alerts']['alerter']['default']['descr']   = "Observium - Alert";
$config['alerts']['alerter']['default']['type']    = "email";
$config['alerts']['alerter']['default']['contact'] = "[email protected]";
$config['alerts']['alerter']['default']['enable']  = TRUE;

$config['poller_modules']['unix-agent'] = 1;
$config['collectd_dir'] = '/var/lib/collectd/rrd';
$config['int_customers']           = 1;  # Enable Customer Port Parsing
$config['int_transit']             = 1;  # Enable Transit Types
$config['int_peering']             = 1;  # Enable Peering Types
$config['int_core']                = 1;  # Enable Core Port Types
$config['int_l2tp']                = 0;  # Enable L2TP Port Types
$config['show_locations']          = 1;  # Enable Locations on menu
$config['show_locations_dropdown'] = 1;  # Enable Locations dropdown on menu
$config['show_services']           = 0;  # Enable Services on menu (Disabled by default as this option is deprecated)
$config['ports_page_default']      = "details/"; ## eg "details/" "graphs/bits/"
$config['show_overview_tab'] = true;
$config['overview_show_sysDescr'] = true;
$config['frontpage']['device_status']['ports'] = true;
$config['device_traffic_iftype']  = array('/loopback/','/tunnel/','/virtual/','/mpls/');
$config['device_traffic_descr']   = array('/loopback/','/vlan/','/tunnel/','/:\d+/');
// End config.php

Is the configuration the problem ? Is it only from Professional editions ? Thank you for your help, I'm new to Observium and I really find it awesome (excepted this one little problem...)


Solution

  • Problem solved ! Easy fix on my MySQL Observium database:

    ALTER TABLE  `ports` CHANGE  `port_label_short`  `port_label_short` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ; 
    

    Explanation:

    I've ran ./discovery.php -d -m ports -h 4 (4 being my host id), and it showed a lot of errors when running queries:

    ERROR[Error in query: (1364) Field 'port_label_short' doesn't have a default value]
    

    This error was the key, as I only needed to set a default value on this column.